cancel
Showing results for 
Search instead for 
Did you mean: 

issues handling soap fault message

0 Kudos

Hi Expert,

I'm trying to handle the soap fault message using "Fault message Type", doing a message mapping with that fixing the tag "Fault" in the correspond Interface Mapping (I'm using PI 7.0)

All is correct because I can see the result of the "Fault Mapping" that I created but.....

the problem is that sometimes works well and other malfunctions!!!!!

I don't know why!!!! I think that my PI is crazy!!!!

Any ideas????

Thanks in advance!!!

Accepted Solutions (0)

Answers (5)

Answers (5)

0 Kudos

Hi All,

The scenario is PI <--> WebService. Is a synchronous scenario and I'm using SOAP comm channel to do the calls.

That WebService is sending me a payload that PI cannot understand because the message contain encrypted header info but no cypher data in the BODY!!!! (yes, it's crazy but i cannot do anything to change it) so, PI raise always the same error:

   <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

   <SAP:Error

    xmlns:SAP = "http://sap.com/xi/XI/Message/30"

   xmlns:SOAP = "http://schemas.xmlsoap.org/soap/envelope/"

    SOAP:mustUnderstand = "1">

    <SAP:Category>XIAdapterFramework</SAP:Category>

    <SAP:Code area = "MESSAGE">GENERAL</SAP:Code>

    <SAP:P1/>

    <SAP:P2/>

    <SAP:P3/>

    <SAP:P4/>

    <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: Unexpected element: {http://www.w3.org/2001/04/xmlenc#}ReferenceList; HTTP 200 OK</SAP:AdditionalText>

    <SAP:ApplicationFaultMessage namespace = ""/>

    <SAP:Stack/>

    <SAP:Retry>M</SAP:Retry>

    </SAP:Error>

    So, I implemented a Fault mapping in PI in order to handle the Error and tested it obtaining my own message because the Fault mapping is working fine:

<ns0:ConfirmacionPeticion xmlns:ns0="http://intermediacion.redsara.es/scsp/esquemas/V3/confirmacionPeticion">

               <ns0:Atributos>

                  <ns0:IdPeticion/>

                  <ns0:NumElementos/>

                  <ns0:TimeStamp/>

                  <ns0:Estado>

                     <ns0:CodigoEstado>0</ns0:CodigoEstado>

                     <ns0:LiteralError>Petición en proceso</ns0:LiteralError>

                  </ns0:Estado>

                  <ns0:CodigoCertificado/>

               </ns0:Atributos>

            </ns0:ConfirmacionPeticion>

    But................. I tested again and the result was different!!!!!! PI isn't raising the Fault Message just now!!! obtaining the first error. I'll try to test again and the same error, another test.....nothing!!!!

     Time after, one more test was success!!!!!!! But the next test is incorrect again!!!!

    Today, the tests are wrong. I did a dummy change in object in the Repository and the test was fine but...........the nexts tests are failling!!!!!!!

  So............................

    Thanks a lot!!!!!

Shabarish_Nair
Active Contributor
0 Kudos

the problem is that sometimes works well and other malfunctions!!!!!

>>>>

Usually people get this feeling when the webservice acts weird and not PI 

Jokes apart, all the time it works, the WS must be sending you the exception as part of the fault message itself. What you need to check is what happens when the WS is sending you data and it fails in PI. Is it that it is not triggering a fault?



Former Member
0 Kudos

Fault would work only when the exceptions are raised from the receiver.

iaki_vila
Active Contributor
0 Kudos

It's an interesting problem. I have some questions:

- The problem is in determinated scenarios, or it works in some scenarios and fails on anothers.

- When it works, is it always the same kind of error, like adapter errors goes fine but integration engine not?.

Regards.

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

Fault messages are for used for application errors only. It will not handle system errors

Hope this helps,

Mark

baskar_gopalakrishnan2
Active Contributor
0 Kudos

Fault message should be used only the web service provider supports it. Plus Fault message is meant for application related error messages. So in this two instance only this will be helpful. Elaborate more on your problem.