on 08-18-2016 9:45 AM
Hi,
I consume a web service with SOAP Adapter.
Transport Protocol : Http
Message Protocol : SOAP 1.1
PI Version : 7.4
Since few days, i must inevitably use Http protocol version 1.1
Apparently now I use version 1.0
I would like to keep the Soap Adapter.
Http Axis adapter is not setup actually.
I can't find how to change this Http protocol version ... if someone have an idea ?
Thanks,
Youri
Mapping Error with SOAP Adapter - Transport Protocol : Http Axis
com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error encountered while executing mapping: com.sap.aii.af.service.mapping.MappingException: Mapping failed in runtimeRuntime Exception when executing application mapping program com/sap/xi/tf/_mm_readinbox_req_ecc2mercurius_; Details: com.sap.aii.mappingtool.tf7.IllegalInstanceException; Cannot create target element /ns1:submitInboxRequestRequest/ns2:ReceiverParty. Values missing in queue context. Target XSD requires a value for this element, but the target-field mapping does not create one. Check whether the XML instance is valid for the source XSD, and whether the target-field mapping fulfils the requirement of the target XSD...
But this mapping work perfectly with Soap Adapter - Transport Protocol Http
I need to use Http Axis because I must to work with protocol Http 1.1.
Why my mapping doesn't work with Http Axis Transport Protocol ... ?
Thanks,
Youri
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
We installed the Axis Adapter.
But now my mapping doesn't work ...
Axis adapter has an influence on the PI Mapping ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
No, it doesn´t have any influence.
Is it a synchronous communication?
Which mapping is failing?
- Request Mapping?
- Response Mapping?
If you are getting the error in the response mapping, I recommend to use the TCPMon in order to catch the real messages. Maybe the expected mandatory xml nodes are not in the response.
Best regards,
Mikel
Wow, that´s weird.
In the request mapping, the message has not even reached the receiver adapter (AXIS) yet ... the error you are getting on the mapping must be caused by something else.
In the message monitor: Take the payload from the failed message, and test the request mapping locally, in the ESB.
Once the mapping is working for a that payload, repeat the real test.
Best regards.
Mikel
Error in message monitor :
In Message Content the payload seems to be mapped.
Source data is from SXMB_MONI
Target data is from Message Monitor when I download the payload.
Soap Enveloppe in payload is collapsed.
In Axis Protocol from Soap Adapter : Payload Extraction = Soap Body Child.
With Soap Body or Soap Enveloppe value the error is different. (Application Error without information).
Hi Youri,
Reading the log I get the following:
- It is not failing in the request mapping, but in the response mapping!
As I explained in the previous post, I suggest using tcpMON to see the real request generated by AXIS adapter and the real response you are getting from the WS!
You can find lots of posts explaining the usage of this tool.
Example of Adapter Bug Analisys using TCPMon:
You could also develop a Java Mapping that prints in the logs the real response ...
Best regards,
Mikel
Hi Youri,
It´s a shame you can´t use TCPMon, you need to see the real response ... in order to check why the mapping is failing.
Anyway, you´ve been able to capture the real request with the mock service .... now you can use other software to "exactly reproduce" the captured request. Then send it to the backend and see the real response ...
I suggest using the chrome extension called POSTMAN.
There you can recreate the same request you have captured (body + headers), send it, capture the real response. Then test the mapping and see what´s failing.
The problem is that with this approach, your browser will be the one sending that request and not PI ... so you are not exactly reproducing the same situation (this is why I preffer using TCPMon, it captures the real request and response sent from PI) ... but this approach will work most of times.
Best regards,
Mikel
Hi Youri,
As far as I know you can only enable HTTP 1.1 by using SOAP Axis. See SAP Note 1039369 Axis Adapter FAQ for more information.
Regards,
Mate
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Youri,
Since few days, i must inevitably use Http protocol version 1.1
Apparently now I use version 1.0
I would like to keep the Soap Adapter.
Http Axis adapter is not setup actually.
I can't find how to change this Http protocol version ... if someone have an idea ?
As far as I know, the SOAP adapter only supports http 1.0 (Corrections are welcome). However, it should not prevent you from connecting to webservices that expect http 1.1. There is no option to use http 1.1.
Message protocol is just the format of the message being sent of http. Checking Do Not Use SOAP Envelope will more or less make it behave like the HTTP adapter.
.
Regards,
Mark
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.