How to Specify a Concrete WSDL at Deployment Time

Completing ABCS Development 13-11

13.1.6 Defining a Service Using an Abstract WSDL

An abstract WSDL defines the external reference service at design time. This WSDL provides interfaces to the operations to be invoked at the extension points. It should also include or import the schemas for the application business object ABO and Enterprise Business Object EBO. It is devoid of communication transport protocols, network address locations, and so on. The abstract WSDL used to define the extension point service should be placed in the project folder. Do not push this into MDS, unlike other abstract WSDLs of the AIA services. Note : An abstract WSDL may be used temporarily for design-time modeling only. At the time the composite is deployed, the binding should be specified. When AIA Service Constructor is used to construct ABCS, it creates the extension service references in the composite.xml file. When you use JDeveloper, follow these high-level steps to design the composite: To design the composite to extension-enable ABCS: 1. In JDeveloper, open a SOA composite project. 2. Open the composite.xml in design mode. 3. To reference an extension point service, add a Web service as an external reference service in the References swim lane. Use the Abstract WSDL for design time modeling.

4. Wire the BPEL component to the external reference component created in the

previous step. When the composite is opened in the source mode, you see code similar to the Example 13–1 . This code example was reproduced from the composite.xml, where the extension service is defined using an abstract WSDL: Example 13–1 Wiring the BPEL component to the external reference component reference name=SamplesCreateCustomerSiebelReqABCSImplExtExtension ui:wsdlLocation=SamplesCreateCustomerSiebelReqABCSImplExtExtensionAbstract.wsdl interface.wsdl interface=http:xmlns.oracle.comABCSImplSiebelSamplesCreateCustomerSiebelR eqABCSImplExtExtensionV1wsdl.interfaceSamplesCreateCustomerSiebelReqABCSImpl ExtExtensionService binding.ws port= location= reference

13.1.7 How to Specify a Concrete WSDL at Deployment Time

A concrete WSDL is a copy of the abstract WSDL used for defining the extension service. The concrete WSDL also defines the binding element that provides information about the transport protocol and the service element that combines all ports and provides an endpoint for the consumer to interact with the service provider. Tip: This abstract WDSL will not be in the MDS. It is associated with the project and is in the project folder. 13-12 Developers Guide for Oracle Application Integration Architecture Foundation Pack Initially, at the time of development, the concrete WSDL points to the sample extension service, which is a Servlet. The Servlet is named MirrorServlet and is shipped with the Foundation Pack. You should push the concrete WSDL into the MDS repository to the folder ExtensionServiceLibrary.

13.1.7.1 Populating the binding.ws Element in the composite.xml

To invoke the external reference service, a run-time WSDL with concrete bindings must be specified in the ABCS composite.xml. The Port type in the WSDL should have a concrete binding. That is, in the composite, the attributes of the element, binding.ws, cannot be empty. To deploy the composite that references an external Web service, which is defined using an abstract WSDL, the attributes of the element binding.ws must be populated, as shown below: binding.ws port=[namespace of the ABCS Extension Service as defined in the WSDL]V1wsdl.endpointName of the ABCS Service as given in the WSDLName of the Porttype as given in the WSDL location=[location of the concrete WSDL in the MDS] xmlns:ns=http:xmlns.oracle.comsca1.0 The name of the ABCS Service is the value of the attribute definitionsname in the abstract WSDL. This follows from naming conventions for the Service name in the ABCS composite. According to naming conventions, the name of the service is name of the composite, which in turn is the value of the attribute name of the definitions element in the WSDL. At the time when the service at the extension point is developed and deployed by the customer, ■ Customer can replace the sample concrete WSDL in the MDS with the concrete WSDL that is developed for the extension service and redeploy the ABCS. ■ Customer can change binding.ws.location to point to the concrete WSDL of the deployed service and redeploy the ABCS. For more information, see Section 20.1.3.4, Using MDS in AIA .

13.1.8 Designing Extension Points in the ABCS BPEL Process