on 02-07-2011 7:13 AM
Hi ,
I have configured a Proxy to SOAP synchronous scenario. The scenario is working fine. Now I need to map the fault message and display the message in SAP in case of any errors. I have used the standard Fault message. But I dont have any message from the WSDL which I can map to the standard fault message. Is it that we need to tell the wenservice team to modify the WSDL to include the fault message or is there any other way out to acheive the same.
Thanks
Amit
Hi Amit,
Please ask the WebSerivce team (Sender system) to edit their web service (WSDL) so that it contains request, response and fault structures. Because in your scenario, Proxy to SOAP (Synchronous), sender proxy should be coded in such way that it can handle fault sent back from target system (SOAP).
If WebService team (Sender Proxy) is not in position to change their proxy, then ask the target team (SOAP) not to send fault message to PI. If something goes wrong then ask target system (SOAP) to send fault message in response message structure.
If above options are not possible, then it is not possible (I think) to handle fault message which is sent by target system and sender system (WSDL) is not ready to accept it.
Regards,
Raghu_Vamsee
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
>>> Is it that we need to tell the wenservice team to modify the WSDL to include the fault message or is there any other way out to acheive the same?
Fault message is to provide meaningful message to the other end if there is a validation error or business exceptions or so...
a) You are importing WSDL of the third party and using it in soap receiver target side.
b) Normally it is best practice to create a WSDL which contains request, response and fault message. if your wsdl has fault message type declared then you can map the wsdl fault message with your proxy side fault message(which you can create). Please note you rely on the third party wsdl. Third party WSDL must have application logic coded to support fault message in case of application error occurs. Example if there is a validation that does not go through then their application logic must populate data in the fault message of wsdl. Then only if we map the wsdl fault msg to our proxy fault msg, we get meaningful fault details.
If your target WSDL does not support fault mesg, it is not going to be helpful at all.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Amit,
you can test the service (for example with SOAP UI) and send some strange (wrong) values to see how the system reacts. If you see something significant (for example certain empty fields) you can build a logic inside your mapping to fill the fault structure.
Regards,
Udo
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Do you mean that I need to create one more additional data type / XSD and then use it to map it to the fault message. WSDL currently when I import it has request and response which I map to the corresponding request and response of the proxy.
I was under the impression that the WSDL would be changed to accomodate another fault message and then I could map the request response and fault accordingly.
Let me check if I can do as suggested.
Thanks
Amit
Hi Amit,
>Do you mean that I need to create one more additional data type / XSD and then use it to map it to the fault message
No
You are using an implemnented service (wsdl). You dont know who else is using it. Apparently it is not gonna be changed. My proposal was to test how the system reacts in case of appliction errors. It should not be too difficult to provoke application errors. If you identify that a certain field is emplty ONLY in case of such an application error, you can fill your fault message types with constants.
Regards,
Udo
Hello,
I guess you just need to create a additional data type or XSD related to the exception thrown by proxy. You can use the same structure in message interface.
Have a look at the below mentioned blogs:
/people/venu.v5/blog/2009/08/05/rfcbapi-exceptions-handling-in-sap-netweaver-xi
/people/jin.shin/blog/2007/05/21/handling-web-service-soap-fault-responses-in-sap-netweaver-xi
-Rahul
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello,
Maybe you can try this:
1.) Add this module (soap) configuration into your soap receiver XMBWS.NoSOAPIgnoreStatusCode set to true. This should set all the responses as a payload.
2.) Use Java Mapping in parsing your error into the Soap Fault message.
Hope this helps,
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 |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.