cancel
Showing results for 
Search instead for 
Did you mean: 

How to consume reliable messaging ?

Former Member
0 Kudos

Dears:

         Who can tell me how to consume one reliable web service since I have looked for solutions for a few days ? Below is my usage case for your reference,

First, I leverage SAP ESB (Enterprise Service Builder) to define the web service contract for one asynchronous web service. Then, import this WSDL file against NWDS 7.3 and perform java skeleton code generation. Afterward, program the execution logistic and add the required annotations to enable WS-ReliableMessaging.

          Finally, I deploy the EAR file of this service to my SAP NW 7.3 SP3 server. It seems it can start normally and get successful results via SAP WSNavigator. It is worth to mention I don't use any PI features, but just deploy typical web service program.

         However, I got the the following failed result when executing sample web service client in NWDS 7.3.

        Anybody can tell me what are the correct steps to consume web services with WS-RM. Thanks.   

This exception is wrapper of javax.xml.ws.soap.SOAPFaultException.

com.sap.engine.services.webservices.espbase.client.bindings.exceptions.SOAPFaultException

: Reliable Messaging Exception - String: Invalid WS-RM message. There are

no WS-RM headers within SOAP message.; Lang: en; Code: Server; Actor:

Server; NS: http://schemas.xmlsoap.org/soap/envelope/

http://schemas.xmlsoap.org/soap/envelope/at com.sap.engine.services.webservices.espbase.client.bindings.impl.JAXWSUtil.processFault (JAXWSUtil.java:412)

at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call_SOAP(SOAPTransportBinding.java:1392)

at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.callWOLogging (SOAPTransportBinding.java:978)

at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call (SOAPTransportBinding.java:933)

at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.processTransportBindingCall(WSInvocationHandler.java:168)

at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invokeSEISyncMethod(WSInvocationHandler.java:121)

at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invokeSEIMethod(WSInvocationHandler.java:84)

at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invoke(WSInvocationHandler.java:65)

at $Proxy22.createEventAsync(Unknown Source)

at com.my.wsem.client.Sample2.main(Sample2.java:67)

Accepted Solutions (0)

Answers (3)

Answers (3)

former_member207667
Participant
0 Kudos

Hi Chih,

It looks like you are trying to consume a WS with RM with the SAP PI - SOAP adapter.

Instead you should be using the adapter named "WS".

The SOAP adapter does not work with WS-RM Services, because it does not handle the sequence exchange. This is the reason of the exception ....

But the "WS" Adapter will handle this data exchange between the backend and your SAP PI.

WS-RM works with sequences for confirming messages (ack), that´s why the call it Reliable Messaging.

This is explained in this post:

Web Services Reliable Messaging - ABAP Workbench Tools - SAP Library

How to condigure the WS Adapter in SAP PI is explained in the following post:

Configuring the Communication Channel with Adapter Type WS - Integration Directory - SAP Library

Best regards,

Mikel

Former Member
0 Kudos

   <soap:Header>

      <Action xmlns="http://www.w3.org/2005/08/addressing">http://www.w3.org/2005/08/addressing/fault</Action>

      <MessageID xmlns="http://www.w3.org/2005/08/addressing">urn:uuid:e528830e-38a8-49ed-934d-c927178340bc</MessageID>

      <To xmlns="http://www.w3.org/2005/08/addressing">http://www.w3.org/2005/08/addressing/anonymous</To>

      <RelatesTo xmlns="http://www.w3.org/2005/08/addressing">http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>

   </soap:Header>

???

Former Member
0 Kudos

Hello,

it was a long time ago that your message has been posted but I am facing the same issue.

Do you have a solution to share ?

Have a good day.

Regards.