Quantcast
Channel: SCN : Unanswered Discussions - Process Integration (PI) & SOA Middleware
Viewing all articles
Browse latest Browse all 6719

PI 7.0 Proxy to SOAP: SOAP-Fault-handling

$
0
0

Hello,

 

i have some problems handling soap-fault-messages in a proxy-to-soap-scenario.

I have searched the web for about 3 days now and after hours and hours of try-and-error i am running out of ideas.

 

That's why i hope, somebody has got some advice for me...

 

 

Informations about the webservice

 

The webservice is provided by the european community (Documentation, WSDL) and can be used to validate VAT-Numbers.

The request- & response-message-types are defined within the wsdl, but the fault-message-type is not part of the wsdl.

If e.g. a wrong requester-VAT-Number is used, the server does not send a response, but a SOAP-Fault, that is defined within the namespace http://schemas.xmlsoap.org/soap/envelope/.

 

 

What i have done so far

 

I have written a program, that runs on our SAP-Systems. This program is used to check the VAT-Numbers in our system.

 

The communication between our SAP-Server and the server of the european community has to be routed through our PI-System.

The PI should simply forward the webservice-calls of the SAP-System to the EC-Server: No mapping is required.

 

That's why i tried to implement an outside-in-scenario on our PI 7.0.

I imported the WSDL and the XSD-File as external definitions, created 2 message interfaces (sender sync & receiver sync), 3 dummy message mappings (request, response, fault) and an interface mapping (sender->receiver) and set up a configuration scenario.

 

The proxy on our SAP-System was generated from the ESR-data of the PI-Sender-Message-Interface.

 

 

The problem

 

As long as the EC-server replies to our request with an response, everything works fine.

But in some situations, the EC-server sends a SOAP-Fault instead (e.g. when we are sending inconsistent data).

 

These SOAP-Fauls are not forwarded to the SAP-System.

PI is not able to handle the Fault-messages and the proxy on the SAP-System throws an exception of the type cx_ai_system_fault, that has the text "PARSING.ADAPTER.SOAP_EXCEPTION".

 

I need the details of the SOAP-Fault in the SAP-System, that's why i want a SOAPFault to result in an exception of type ZCX_FAULT.

 

mi.png

 

proxy.png

The message-interfaces and the proxy are looking fine to me, but it simply does not work.

 

If anybody has a clue about how to achieve the desired behaviour, any advice would be highly appreciated.

 

 

What i found out so far

 

Using SXMB_MONI, i found out, that PI is trying to handle a SOAPFault as a request

  • The payload shows, that we received a Fault-Message
  • The trace shows, that the mapping of the request is executed

 

fault.png

 

trace.PNG

 

I hope i provided enough information about the problem. If not, just ask and i will add it.

 

 

Regards,

Jörg Neumann


Viewing all articles
Browse latest Browse all 6719

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>