on 02-20-2014 12:34 PM
Hi guys,
I have a problem with a synchronous integration Proxy <-> SAP PI <-> Web Service.
I tried with SOAP Ui and runs properly. When I try with the ABAP Proxy, the first error obtained was com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: Can't parse the document; HTTP 200 OK and also the adapter gets the error. Then I tried checking the flag Do not use the SOAP Envelope and obtained the same error
Then I tried adding the module localejbs/AF_Modules/MessageTransformBean to the SOAP adatper as a first module and the error was the same. After I tried checking the flag Do not use SOAP Envelope and get the same.
The different thing was setting the module in second place, in this case, the error is in the response mapping and flag do not use soap envelope checked: Runtime exception occurred during application mapping com/sap/xi/tf/_MM_TEST_; com.sap.aii.utilxi.misc.api.BaseRuntimeException:The markup in the document following the root element must be well-formed. Also the adapter changes to green and processed successfully.
I don't know what could be the problem, I have done many webservices and didn't have this error before, I have the same URL in the adapter than SOAP Ui
Do you know other things I should check?
Many thanks,
Xavier.
Hi Xavier,
Placing the module before the call adapter means it will be applied in the request message before it gets sent to the receiving system. Placing the module after the call adapter (for synch scenarios only) will mean that it will be applied on the response message.
Can you share the HTTP Header in SOAP UI?
Regards,
Mark
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Mark,
In SOAP Ui I have
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:dades">
<soapenv:Header/>
<soapenv:Body>
<urn:Test soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<tipus xsi:type="xsd:string">test</tipus>
</urn:Test>
</soapenv:Body>
</soapenv:Envelope>
And in the response I have:
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns1:TestResponse xmlns:ns1="urn:dades">
<return xsi:type="xsd:string">El señor de los anillos,Los lÃmites de la Fundación,The Rails Way</return>
</ns1:TestResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
I don't know if the characters could be a problem,
Thanks,
Xavier.
Hi Javier,
The reason for this error is that PI only sends <tipus>test</tipus> instead of <tipus xsi:type="xsd:string">test</tipus> . That is why Do Not Use SOAP Envelope has to be used in your receiver CC and then you need to manipulate it the payload (via XSLT or Java) such that it matches the structure sent by Soap UI.
Regards,
Mark
Another strange thing,
I have another Web Services to call. I downloaded the WSDL and use it as External Definition.
When I call with SOAP Adapter I obtain the error: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 404 Not Found
I used also this configuration seen in other post but I have obtained the same error
Use the Transformation Module like this:
Processing Sequence:
localejbs/AF_Modules/MessageTransformBean - Local Enterprise Bean - TransformTo
sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean - Local Enterprise Bean - soap
localejbs/AF_Modules/MessageTransformBean - Local Enterprise - TransformFrom
Module Configuration:
TransformTo - Transform.ContentType - application/soap+xml; charset=utf-8
TransformFrom - Transform.ContentType - text/xml; charset=utf-8
I don't understand why I have so much problems in this client with Web Services
Hi Xavier -
HTTP 404 : - The web site hosting server will typically generate a "404 Not Found" web page when a user attempts to follow a broken or dead link;
Did you try testing you webservice through Soap UI? Make sure that you configured the channl will valid details.
Hi Hareesh,
I have done some changes, and the Webservice is called, I get an error in the response mapping with the next message:
Runtime exception occurred during application mapping com/sap/xi/tf/_MM_TEST; com.sap.aii.utilxi.misc.api.BaseRuntimeException:The markup in the document following the root element must be well-formed.
The SOAP adapter is green and with message processed successfully, but I can't obtain the content of the response message to see the format, in the adapter engine I only see the SOAP document.
I will investigate about that.
Many thanks,
Xavier.
User | Count |
---|---|
82 | |
9 | |
9 | |
7 | |
7 | |
7 | |
6 | |
6 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.