How to Wire a Service Component and a Reference

You can wire a service component to a reference binding component from the SOA Composite Editor.

To wire a service component and a reference:

  1. In the Applications window, double-click composite_name or single-click composite_name above the designer.
  2. From the service component, drag a wire to the reference, as shown in Figure 2-20.

    Figure 2-20 Wiring of a Service Component and Reference

    Description of Figure 2-20 follows
    Description of "Figure 2-20 Wiring of a Service Component and Reference"
  3. If the service component is a BPEL process, double-click the BPEL process to open Oracle BPEL Designer. Note that the reference displays as a partner link in the right swimlane, as shown in Figure 2-21.

    Figure 2-21 Display of the Reference as a Partner Link in the BPEL Process

    Description of Figure 2-21 follows
    Description of "Figure 2-21 Display of the Reference as a Partner Link in the BPEL Process"
  4. Select Save All from the File main menu.
  5. In the Applications window, select the composite_name file.
  6. Click the Source tab to review what you have created.

    The orderprocessor_client_ep service binding component provides the entry point to the composite.

    <service name="orderprocessor_client_ep"    
             ui:wsdlLocation="oramds:/apps/FusionOrderDemoShared
    /services/orderbooking/OrderBookingProcessor.wsdl">
        <interface.wsdl interface= "http://www.globalcompany.example.com/ns
    /OrderBookingService#wsdl.interface(OrderProcessor)"
        <binding.adf serviceName="OrderProcessorService" registryName=""/>
        <callback>
          <binding.ws port="http://www.globalcompany.example.com/ns
    /OrderBookingService#wsdl.endpoint(orderprocessor_clientep/OrderProcessorCallback_
    pt)"/>
        </callback>
      </service>
    

    The OrderProcessor BPEL process service component appears.

    <component name="OrderProcessor">
       <implementation.bpel src="OrderProcessor.bpel"/>
    </component>
    

    A reference binding component named StoreFrontService appears. The reference provides access to the external service in the outside world.

    <reference name="StoreFrontService"
                 ui:wsdlLocation="oramds:/apps/FusionOrderDemoShared
    /services/oracle/fodemo/storefront/store/service/common/serviceinterface/StoreFron
    tService.wsdl">
        <interface.wsdl
     interface="www.globalcompany.example.com#wsdl.interface(StoreFrontService)"/>
        <binding.ws
    port="www.globalcompany.example.com#wsdl.endpoint(StoreFrontService/StoreFrontServ
    iceSoapHttpPort)"
    location="oramds:/apps/FusionOrderDemoShared/services/oracle/fodemo/storefront/sto
    re/service/common/serviceinterface/StoreFrontService.wsdl"/>
    </reference>
    

    The communication (or wiring) between service components is as follows:

    • The source orderprocessor_client_ep service binding component is wired to the target OrderProcessor BPEL process service component. Wiring enables web service message communication with this specific BPEL process.

    • The source OrderProcessor BPEL process is wired to the target StoreFrontService reference binding component. This is the reference to the external service in the outside world.

      <wire>
        <source.uri>orderprocessor_client_ep</source.uri>
        <target.uri>OrderProcessor/orderprocessor_client_ep</target.uri>
      </wire>
    
      <wire>
        <source.uri>OrderProcessor/StoreFrontService</source.uri>
        <target.uri>StoreFrontService</target.uri>
      </wire>