cancel
Showing results for 
Search instead for 
Did you mean: 

XI SOAP-ENV request!!!

Former Member
0 Kudos

Hi all,

I have a problem that is not resolved yet and I’m feeling quite worried because I used up all the hypotheses that knew!!! I did a test that it gave a light, where problem are placed, but I don’t know how I can fix it. I hope that somebody could help me…

Calling the web service directly via an external tool as a web service client using soap sender adapter, the request SOAP-ENV is:

<?xml version="1.0" encoding="UTF-8" ?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'><b><ns1:send xmlns:ns1='prt:service:pt.edp.sync'><send_1_param2 xsi:type='xs:string'>teste</send_1_param2></ns1:send></b></SOAP-ENV:Body></SOAP-ENV:Envelope>

And it works fine!

Using the same external tool also as a web service client, but now trough XI, the SOAP-ENV request is a little bit different: (the tag with send method it lack!!!)

<b>…

<ns1:send_1_param2 xmlns:ns1='prt:service:pt.edp.sync'>teste</ns1:send_1_param2>

…</b>

It seams that method <b>“send”</b> is not being invoked, if you look to the previous SOAP-ENV you see the tag with method <b><ns1:send …></b> before tag with input parameter <b><ns1:send_1_param2…></b> I think that this tag should come into soap request invoked by XI. For one reason that I don’t know, this tag doesn’t come... and when I look to the log of web service provider invoked from XI (is a SAP EP) the log gives me this message:

<b>Method with name send_1_param2 is not defined in wsdl file

[EXCEPTION]

java.lang.NoSuchMethodException</b>

It seams that XI wants to invoke a method with a wrong name <b>“send_1_param2”</b>; the method to be invoked should be <b>“send”</b> and not <b>“send_1_param2”</b>!!! Can anybody explain me why this happening? Did I forget something, some configuration steps?

Any help are appreciated.

Regards,

Ricardo.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi guys,

I think I have found the problem!

RPC-style Web Services are not supported within the XI SOAP adapter!!!

Take a look to this thread:

I will try to find something official about this subject. When I found I will post it here.

I will try workaround the issue like Tanja Shaettler did.

Cheers,

Ricardo.

Former Member
0 Kudos

Hi guys,

Here the answer… like I promise!

All I get is a little explanation about web services rpc-styled in SOAP FAQ (note 856597) under question: “Q: Can I convert an RPC styled WSDL to a document styled WSDL?”

Some RPC styled service implementations have problems with such non conformant SOAP service. Therefore, we also need to adjust the message accordingly.

First we need to find what kind of elements (tags) are missing on the soap request/response and add these elements (adjust the message accordingly).

I fixed my problem using XSLT extension (ABAP Engine). All I did was following the steps provided in the Robert Eijpe weblog /people/r.eijpe/blog/2005/11/04/using-abap-xslt-extensions-for-xi-mapping

But you also could create your own request using graphical mapping and add the missing tags. In my case a just only needed to add <operator> tag to invoke the right method.

I test with both (XSLT and Graphical mapping) and it works

I hope it helps anybody with identical problems.

Cheers,

Ricardo.