cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP Fault message

Former Member
0 Kudos

Hi All,

We are trying RFC<->XI<->Webservice .Webservice is throwing fault messages.We tried using Fault messages but uable to capture the exception. Messages in sxmb_moni are in error status instead of Exceptions.

Below is the webservice response payload.

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

<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">

<soap-env:Header>

<eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" eb:version="1.0" soap-env:mustUnderstand="1">

<eb:From>

<eb:PartyId eb:type="URI">?</eb:PartyId>

</eb:From>

<eb:To>

<eb:PartyId eb:type="URI">?</eb:PartyId>

</eb:To>

<eb:CPAId>P4XC</eb:CPAId>

<eb:ConversationId>00000000082698</eb:ConversationId>

<eb:Service>SessionCloseRQ</eb:Service>

<eb:Action>ErrorRS</eb:Action>

<eb:MessageData>

<eb:MessageId>e2d4de5b-ee54-43e0-95b1-f5d8ab05071175</eb:MessageId>

<eb:Timestamp>2008-06-04T11:09:59</eb:Timestamp>

<eb:RefToMessageId>apple.com</eb:RefToMessageId>

</eb:MessageData>

</eb:MessageHeader>

<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">

<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/RESB!ICESMSLB\/RES.LB!-4432119851577286135!749033!0</wsse:BinarySecurityToken>

</wsse:Security>

</soap-env:Header>

<soap-env:Body>

<soap-env:Fault>

<faultcode>soap-env:Client.InvalidSecurityToken</faultcode>

<faultstring>Invalid or Expired binary security token: Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/RESB!ICESMSLB\/RES.LB!-4432119851577286135!749033!0</faultstring>

<detail>

<StackTrace>com.sabre.universalservices.base.session.SessionException: errors.session.USG_INVALID_SECURITY_TOKEN

at com.sabre.universalservices.gateway.control.SecurityInterceptor.handleInvalidSession(SecurityInterceptor.java:440)

at com.sabre.universalservices.gateway.control.SecurityInterceptor.executeOnRequest(SecurityInterceptor.java:139)

at com.sabre.universalservices.base.interceptor.Interceptor.execute(Interceptor.java:113)

at com.sabre.universalservices.base.interceptor.InterceptorChain.applyInterceptors(InterceptorChain.java:32)

at com.sabre.universalservices.base.interceptor.InterceptorManager.process(InterceptorManager.java:121)

at com.sabre.universalservices.gateway.control.WSGateway.onMessage(WSGateway.java:614)

at com.sabre.universalservices.gateway.control.WSGateway.handleRequest(WSGateway.java:479)

at com.sabre.universalservices.gateway.control.WSGateway.doPost(WSGateway.java:314)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)

at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:852)

at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:584)

at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)

at java.lang.Thread.run(Thread.java:595)

</StackTrace>

</detail>

</soap-env:Fault>

</soap-env:Body>

</soap-env:Envelope>

Please let me know how can we handle it.

Regards,

Srinivas.

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Sudharshan,

Namespace is same.

Chandrakanth,

Thanks for the Link. I already saw it.

Regards,

Srinivas.

Former Member
0 Kudos

hi sreenivas

check the below link for

Handling Web Service SOAP Fault Responses in SAP NetWeaver XI

/people/jin.shin/blog/2007/05/21/handling-web-service-soap-fault-responses-in-sap-netweaver-xi

regards

chandrakanth

Former Member
0 Kudos

Srinivas,

Check whether it is an application fault or system fault.

If it is application fault check whether name and namespace of fault meesage in WSDL is exactly the same as the name and namespace of fault at runtime.

At runtime Fault messages are recognized by name and namespace, Based on that the corresponding mapping for fault message is executed.

Does the sender RFC have exception, if so have you done a mapping for fault messages too in the Interface Mapping.

Regards,

Sudharshan N A

Former Member
0 Kudos

Hi Sudharshan,

How to find out if it is appication fault or system fault?

I did interface mapping to RFC exceptions.

Regards,

Srinivas.

Former Member
0 Kudos

Hi,

It seems that you are getting some error with respect to web security mode.

Can you check if the fault thrown is the same as mentioned in the WSDL (Name and Namespace of the Fault).

Name and Namespace of the fault must be the same in WSDL and Runtime (SXMB_MONI).

Regards,

Sudharshan N A