cancel
Showing results for 
Search instead for 
Did you mean: 

Problem in SOAP channel

Former Member
0 Kudos

Hi,

I have the folowing problem with async IDOC->SOAP integration:

System is sending messages correctly - 3rd parti system gets messages with no problems.

But if I put wrong service URL - PI does not report any problem. channel in RWB is green, messages have "Successful" status. But, of course, receiving party gets nothing! there is some difference in audit log.

For wrong URL I have the folowing audit log:

Audit Log for Message: 0200c0a8-0083-1ee5-8c88-1bb1ac67d884

Time Stamp Type Description

22.07.2015 10:11:26.424 Information The message was successfully received by the messaging system. Protocol: XI URL: http://sap-pi-00-d:50000/MessagingSystem/receive/AFW/XI Credential (User): PIISUSER

22.07.2015 10:11:26.425 Information Using connection SOAP_http://sap.com/xi/XI/System. Trying to put the message into the receive queue.

22.07.2015 10:11:26.450 Information Message successfully put into the queue.

22.07.2015 10:11:26.451 Information The message was successfully retrieved from the receive queue.

22.07.2015 10:11:26.459 Information The message status was set to DLNG.

22.07.2015 10:11:26.460 Information Delivering to channel: SOAP_Reciever

22.07.2015 10:11:26.460 Information MP: entering1

22.07.2015 10:11:26.460 Information MP: processing local module localejbs/sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean

22.07.2015 10:11:26.475 Information SOAP: Target url: https://test.www.XXX.ru:443/soap/server.php

22.07.2015 10:11:26.475 Information SOAP: request message entering the adapter with user J2EE_GUEST

22.07.2015 10:11:26.487 Information MP: leaving

22.07.2015 10:11:26.487 Information The message was successfully delivered to the application using connection SOAP_http://sap.com/xi/XI/System.

22.07.2015 10:11:26.487 Information SOAP: completed the processing

22.07.2015 10:11:26.488 Information The message status was set to DLVD.

For the correct URL:

Audit Log for Message: 0200c0a8-0083-1ee5-8c87-a8b5db8db84b

Time Stamp Type Description

22.07.2015 09:45:44.045 Information The message was successfully received by the messaging system. Protocol: XI URL: http://sap-pi-00-d:50000/MessagingSystem/receive/AFW/XI Credential (User): PIISUSER

22.07.2015 09:45:44.047 Information Using connection SOAP_http://sap.com/xi/XI/System. Trying to put the message into the receive queue.

22.07.2015 09:45:44.072 Information Message successfully put into the queue.

22.07.2015 09:45:44.074 Information The message was successfully retrieved from the receive queue.

22.07.2015 09:45:44.081 Information The message status was set to DLNG.

22.07.2015 09:45:44.082 Information Delivering to channel: SOAP_Reciever

22.07.2015 09:45:44.082 Information MP: entering1

22.07.2015 09:45:44.082 Information MP: processing local module localejbs/sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean

22.07.2015 09:45:44.083 Information SOAP: Target url: https://www.XXX.ru:443/soap/server.php

22.07.2015 09:45:44.083 Information SOAP: request message entering the adapter with user J2EE_GUEST

22.07.2015 09:45:44.455 Information MP: leaving

22.07.2015 09:45:44.455 Information SOAP: completed the processing

22.07.2015 09:45:44.455 Information SOAP: sending a delivery ack ...

22.07.2015 09:45:44.455 Information SOAP: sent a delivery ack

22.07.2015 09:45:44.456 Information The message was successfully delivered to the application using connection SOAP_http://sap.com/xi/XI/System.

22.07.2015 09:45:44.457 Information The message status was set to DLVD.

It mentions sending of delivery ack in correct transmission. How could I make SAP PI to process and indicate problems in SOAP communication?

Accepted Solutions (1)

Accepted Solutions (1)

mike_sibler
Explorer
0 Kudos

Hi Dmitry,

this is a known issue fixed with SAP Note 2042729 - Messsage loss in SOAP Receiver Adapter when bad url is used.

Please apply the required patches for MESSAGING and XIAF mentioned in the Note.

Regards,

Mike

Answers (2)

Answers (2)

Former Member
0 Kudos

Dear colleagues! Help me please, I really need to make this adapter to catch miscellaneous exceptions. Such as: http 404, dns error, 401 - auth error etc

former_member183908
Active Contributor
0 Kudos

i don't have the exact solution for this however in the receiver channel are you providing the SOAP Action along with the target URL in both the cases?

Thanks

Former Member
0 Kudos

Hi, Pavan!

Nope, I do not mention SOAP Action in URL nor in other settings. Receiving side is detecting it from the message type. Frankly, there is the only one message type in this interface.

rathansekhar
Explorer
0 Kudos

Hi Dmitry,

Add the ACK in Reciver Soap CC.

Module Name: sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean

Parameter Name: XMBWS.GenerateSysAck

Parameter Value : true

Regards,

Rathan.

Former Member
0 Kudos

Hi, Rathan!

Thanks for the answer. I do not know this option, so just added it and test:

but it operates the same as before, excluding that now I have one more error message in Trace:


<Trace level="3" type="T">Search ARTMAS05_2_arProducts.xsl (http://www.XXX.ru/interfaces/istore/sap, -1) in swcv bc410c00-8a93-11e0-c40f-fd07c0a80083.</Trace>

  <Trace level="3" type="T">Search META-INF/services/javax.xml.parsers.saxparserfactory (http://www.XXX.ru/interfaces/istore/sap, -1) in swcv bc410c00-8a93-11e0-c40f-fd07c0a80083.</Trace>

  <Trace level="3" type="T">Search META-INF/services/javax.xml.parsers.saxparserfactory (-1) in swcv bc410c00-8a93-11e0-c40f-fd07c0a80083 without namespace.</Trace>

  <Trace level="1" type="T">Resource not found: META-INF/services/javax.xml.parsers.SAXParserFactory Thrown: com.sap.aii.ib.server.mapping.execution.MappingClassNotFoundException: META-INF/services/javax.xml.parsers.saxparserfactory at com.sap.aii.ib.server.mapping.execution.InternalMappingFinder.getInputStream(InternalMappingFinder.java:119) at com.sap.aii.ib.server.mapping.execution.InternalMappingFinder.readFile(InternalMappingFinder.java:62) at com.sap.aii.ib.server.mapping.execution.MappingLoader.getResourceAsStream(MappingLoader.java:131) at javax.xml.parsers.SecuritySupport$4.run(SecuritySupport.java:72) at java.security.AccessController.doPrivileged(Native Method) at javax.xml.parsers.SecuritySupport.getResourceAsStream(SecuritySupport.java:65) at javax.xml.parsers.FactoryFinder.findJarServiceProvider(FactoryFinder.java:228) at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:200) at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:107) at com.sun.org.apache.xalan.internal.xsltc.compiler.Parser.parse(Parser.java:451) at com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC.compile(XSLTC.java:352) at ...

snd so on.

What I am doing wrong?

Former Member
0 Kudos

is this option for PI 7.3?  We have 7.1.