Skip to Content
avatar image
Former Member

Exposing mutiple outbound message interface as a single Web service

Hi all,

My Scenario is SOAP <-- > PI 7.0 < ---> SAP R/3 (Proxy communication). A third party portal will communicate 24/7 online with SAP R/3 via PI 7.0. I have to expose all the outbound message interfaces as a single webservice, so that the third party portal will consume that web service and will communicate to SAP R/3. The communication between Portal and PI 7.0 will be SOAP and from PI to SAP R/3 as proxy communication. I can able to expose a each outbound message interface as a webservice individually i.e each message interface gets separate WSDL file. But the portal people asking me to generate single WSDL (web service) in which all the message interfaces should be included as operations. Could you please send me the information, how to generate a single web service for all the message interfaces?

I have gone through the entire SDN community, but could nt able to get the information. If anybody worked on similer issue , please guide me to approach to get the solution.

Regards

Vijayanand Poreddy

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

5 Answers

  • Jan 18, 2008 at 05:44 AM

    I dont think it is possible in XI to expose multiple interfaces as a single WebService

    Regards,

    Prateek

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jan 18, 2008 at 06:27 AM

    Hi Vijayanand,

    I am not sure if I understood your request in detail.

    It seems that you have to merge messages.

    For this, create a message-interface where you merge your messages. Genrate the wsdl on basis of the merged message.

    To merge messages you have to use BPM.

    Samples how to merge you will find in your SWC SAP BASIS in your integration repository. Search for the appropriate BPM in SAP BASIS.

    Hope this helps

    Regards Mario

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jan 18, 2008 at 08:04 AM

    Hi Vijayanand,

    I think you need to merge all the outbound message interfaces having seperate Web services (wsdls) into single Web Service. It is possible to include all those wsdls in to one common Web Service with the help of altova XMLspy tool.

    But remember you need to deploy that new generated common wsdl to the sender application i.e in your case to portal side.

    Thanks

    Swarup

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jan 18, 2008 at 10:11 AM

    Hi All,

    Thanks for the quick reply, merge concept can not work for me.

    Scenario:

    In my scenario the portal will communicate to XI with 16+ types messages , each message will have different types inputs (Pay loads). i.e one time it may request to create a sales order, next time may be purchase order like that 16 messages will perform different type of activities.

    Case 1: Merging Interfaces in BPM.

    Though if i merge all the 16 outbound interfaces using BPM, when i expose that, the output will consist only one Message type which can not accept all the 16 messages. i.e the message type is not generic for all the communications between portal and XI.

    Case 2: Merging exposed WSDL.

    If i merge the WSDLs , each WSDL will have diffrenet endpoints, i.e it will have diffrent URL for each WSDL. But i need to give them only one URL (One endpoint for all message interfaces).

    So please advise me is it possible with PI 7.0 or not.

    Regards

    Vijayanand Poreddy

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jan 21, 2008 at 04:32 AM

    hi,

    For my scenario, use query string will not helpful. Already i tried using use query string. Finally i came a conclusion that, it is not possible using PI 7.0. Thanks to one and all, who gave a quick reply. As of now i am closing the Thread, if anybody knows the solution, please re-open and update accordingly.

    Regards

    Vijayanand Poreddy

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi All,

      This problem was resolved using java mapping. The approach is as follows...

      Step1 . I have created message interface with 16 messages wrapping under one root node.

      Message

      -Message1

      -Message2

      -Message3

      ......

      ......

      -Message16

      Step2. Exposed this interface as Web service and provided the URL to third pary system. The third party system going to

      send the messages individually as Message1 or Message 2 as root node.

      Step3. Now from the third pary system i am going to recieve any of the message from 1 to 16 dynamically as Message1,

      message2 and so on..

      Step4. Once i recieve the message using java mapping wrapped the message with root node. i.e if message1 comes, the

      message will be wrapped as follows

      Message

      - Message1

      Step5. Thus the message will fits in the actual Message type

      Step 6. In the target system, i have written the code to process based on the incomming message.

      Thus solved my problem

      Thanks & Regards

      Vijayanand Poreddy