Skip to Content
avatar image
Former Member

Async Service Issue

Hi,

Slightly strange one this. In summary I have an Outbound/Async interface for which I generated a WSDL:

As circled you can see it is an outbound, asynchronous interface. However, when the WSDL is consumed by a particular application the message hits PI as follows:

Simple question is, how is it possible for a service defined as asynchronous in PI to be consumed in such a way that it hits PI as a synchronous request ?

Cheers,

PaulC.

asyncissue1.JPG (36.9 kB)
asyncissue2.JPG (54.2 kB)
Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

2 Answers

  • Best Answer
    avatar image
    Former Member
    Feb 01, 2013 at 01:06 PM

    Hi,

    Usually the wsdl that we generate in ID by clicking tools-->displaywsdl--propose url... will have no info about quality of service.while trying from source system or via soap ui some times by default it takes as synchronous .

    Sol:

    Just open the wsdl using editplus and at soap:address section after the service interface add as below.

    Before :

    <soap:address location="http://hostname:50300/sap/xi/engine?type=entry&version=3.0&Sender.Service=ArcFMDesigner&Interface=urn%3AGDFO%3AArcFM%3AStrategyToPlan%5EItemCostStatusUpdatesFromArcFM_Out" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>

    After:

    <soap:address location="http://hostname:50300/sap/xi/engine?type=entry&version=3.0&Sender.Service=ArcFMDesigner&Interface=urn%3AGDFO%3AArcFM%3AStrategyToPlan%5EItemCostStatusUpdatesFromArcFM_Out&amp;QualityOfService=ExactlyOnce" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>

    save the wsdl.Now it will acts as asynchronous.

    Regards

    Venkat

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Hi Paul,

      For your clear understanding ...

      When we use the WSDL wizard in the Integration Directory and have clicked on "Propose URL" ,the URL does not point to a sender SOAP adapter channel; it is the URL of the Integration Server instead.

      The reason for this is an undocumented feature of the Integration Server. We cannot send only XI messages to the Integration Server; we have the option to send standard SOAP messages as well.

      The Web Service Wizard of the Integration Repository creates a WSDL concerning this URL and this SOAP action automatically. Only for asynchronous calls we need to change the URL inside the WSDL file with an editor and add &QualityOfService=ExactlyOnce.

      Advantage

      When you send SOAP messages directly to the Integration Server, you reduce the message load on the adapter engine. This can improve the performance.

      Approach2:

      If the soap messages wants to pass through SOAP adapter, In WSDL wizard in the Integration Directory and have to avoid to clicking on "Propose URL" in the second screen, instead have to give the customized URL does which should point to a sender SOAP adapter channel as below.

      The other parameters are described below.

      After activating the SOAP adapter channel, you can send SOAP messages to the following address:

      http://<host>:<j2ee-port>/XISOAPAdapter/MessageServlet?channel=<party>:<service>:<channel>

      If the SOAP adapter channel belongs to a service without party, the address is as follows:

      http://<host>:<j2ee-port>/XISOAPAdapter/MessageServlet?channel=:<service>:<channel>

      http://<host>:<j2ee-port>/XISOAPAdapter/MessageServlet?channel=<party>:<service>:<channel>

      Advantage

      When you send SOAP messages directly to the Soap Adapter, we can have the provision to have monitored the adapter level message monitoring.

      It supports the attachments, by selecting Keep Headers in the SOAP adapter, the SOAP adapter transforms a SOAP message with attachments to an XI message with attachments and the other way around.

      Restrictions

      When you send SOAP messages to the SOAP Adapter, it is the message load on the adapter engine. This cannot improve the performance.

      Regards

      Venkat

  • avatar image
    Former Member
    Feb 01, 2013 at 12:19 PM

    Hi Paul,

    Can you check the processing mode what you configured in the communication channel.

    Thanks,

    Satish.

    Add comment
    10|10000 characters needed characters exceeded