Skip to Content
author's profile photo Former Member
Former Member

calling a RESTful service in SAP-PI

Hi,

We have a scenario which is proxy to SOAP synchronous. Data has to go out of ECC and will call an external system and receive an acknowledgement which will contain an indicator in the response. The external service is a RESTful service. Unfortunately, they said they will provide us the schema/ xsd but not the WSDL file. Now the question I have is Can I use SOAP-Axis adapter in this case at all. Our goal is to do a HTTP-PUT on their service.

Can anyone suggest what adapters I have to use ?

Thanks,

M

Add a comment
10|10000 characters needed characters exceeded

Related questions

3 Answers

  • Posted on May 02, 2012 at 05:04 PM

    Hi,

    RESTful web services can be handled with SOAP adapter with Axis transport protocol. Have a look at this blog by @Michal Krawczyk for more details: Michal's PI tips: Exchange Rates from an XML file on a web page - REST, AXIS .

    Hope this helps,

    Greg

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on May 02, 2012 at 07:55 PM

    If you are not using third party adapters, then you might have to use only SOAP (Axis) Receiver adapter to handle this. The most important part is generating WSDL from XSD. Creating WSDL from XSD is pretty standard. You can easily do it. There are good tools to do this too.

    Example: Oracle Jdeveloper is one tool

    http://fusionstack.blogspot.com/2009/09/creating-wsdl-file-from-xsd-file.html

    Still you can request your client to generate WSDL using the XSD, if you can't. This should be possible using eclipse too.

    Plus one more thing to be shared. Import XSD as external definition in the ESR. You can see WSDL format of XSD there itself. Open the XSD, you will see the tab version of WSDL. VIew the wsdl and save it and use it as external target structure for soap axis adapter.

    Hope that helps.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Nov 18, 2012 at 04:12 AM

    Hi Ravi,

    You can go with two approach, AXIS adapter and JAVA Proxy approach. I did using AXIS and also Java Proxy and it is working fine without any issues.

    REST is native HTTP mechanism which has been there since the 90's. You don't need a wsdl for this, you just need a xsd because it is native xml over HTTP. You just need to make sure what HTTP methods you have to support.

    I would say the Java Proxy approach is better as you can support all HTTP methods of PUT, POST, DELETE, TRACE, PATCH etc

    You can create your Java proxy in NWDS and expose it as a web service and call it using a receiver SOAP adapter.

    Adios

    Ravijeet

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.