Show TOC

Creating Web Service Providers for Brokered CommunicationLocate this document in the navigation structure

Context

When a Web service provider uses the Integration Server as a broker, the provider receives requests directly from the Integration Server. Then the provider processes these requests, and if necessary sends its response to the Integration Server. The Integration Server in turn delegates the response to the corresponding service consumer.

You create synchronous or asynchronous Web service providers by using XI 3.0 Compatible service interface.

Procedure


  1. Design the service interface in the Enterprise Service Repository.

    In the Enterprise Service Builder, design an inbound service interface. The inbound service interface comprises interface pattern stateless, synchronous or asynchronous operations, message types, data types, and fault types.

    More information:

    Service Interface

    Interface Pattern

    Message Type

    Fault Message Type

  2. Create the Web service provider (inbound proxy).

    In the SAP NetWeaver Developer Studio, proceed as follows:

    1. Import the WSDL document from the ESR.

      More information: Importing WSDL Documents in the SAP NetWeaver Developer Studio .

    2. Create an outside-in Web service based on the WSDL document of the relevant inbound Service Interface modeled in the ESR. The Web service framework generates the skeleton of the implementation bean containing the Web service methods' declarations for the operations in the WSDL document.

      More information about creating an outside-in Web service: Creating Outside-In Web Services .

    3. Add the following XI related class level annotation in the source code of the Web service provider bean implementation: @XIEnabled()

      Note

      If you import an XI-specific WSDL document from the ESR, the Web service framework adds the @XIEnabled() design time annotation automatically. However, if the WSDL document is not XI-specific, you can add the annotation manually and thus enable the inbound proxy for XI communication. When you add the @XIEnabled() design time annotation and deploy the inbound proxy, the server reports to the Web service runtime framework that this is an XI-specific proxy. Then, the runtime uses an XI-specific transport during the communication with the Integration Server. However, if the inbound proxy is not annotated with @XIEnabled() annotation, the server considers it a regular Java EE 5 proxy and the runtime uses SOAP transport as a communication mechanism.

    4. Add the following transport specific class level annotation in the source code of the Web service bean implementation:

      @TransportBindingRT(AltPath="{>service_interface_namespace<} >service_interface_local_name<")
      @TransportBindingRT(AltPath="{ns} name")
      
      
                                 

      At a later stage, the system uses this value as a service endpoint URL to access the business logic in the inbound proxy.

      More information about the @TransportBindingRT() annotation:

      Configuring URLs for Web Service Endpoints

      Configuring Web Services at Design Time

      Note

      For Web services with asynchronous operations, add the following WS-RM related annotation in the source code: @RelMessagingNW05DTOperation(enableWSRM=true)

    5. Provide an implementation of the business methods of the Web service.

    6. Deploy the Web service on the application server.

      For more information, see Building, Publishing and Removing Published Java EE Applications .

      Note

      The Web service you deployed would not be listed in the WSIL resource provided by AS Java. For more information, see Accessing Information Provided via WSIL .