WS-ReliableMessaging (WS-RM) between IBM and SAP back-end

More than 10 years ago, SAP started service enabling its applications. SAP implements a large number of web services as documented on SAP Enterprise Services Workplace.

SAP distinguishes 3 types of services:

  • B2B: for exchanging data with business partners
  • A2A: one-way, reliable services for application-to-application
  • A2X: two-way request/respone for interaction with front-end application and use in composite applications

The A2X and A2A services are directly supported by SAP back-end systems. Their implementation is done in SAP’s proprietary programming language ABAP, leveraging the SAP Proxy Framework.

The A2X request/response web services are standard SOAP web services. The asynchronous services communicate typically via SAP’s integration solution, Process Integration or SAP PI. This reliable communication between the A2A web services and SAP PI is based on a SAP specific protocol (XMB, based on SOAP with Attachments and a number of custom SAP header fields).

But more interesting is the support of SAP’s A2A web services for WS-ReliableMessaging. WS-RM is one of those many WS-* standards. WS-RM is a protocol for reliably delivering messages over SOAP. SAP supports versions 1.0 and 1.1 of WS-RM.

We recently connected WebSphere ESB 7.5 with SAP using WS-RM. The communication from SAP over WS-RM to the IBM ESB was rather trivial. WS-RM was well supported. One attention point was the configuration of a WS-Addressing action for each operation.

Going van WebSphere ESB to SAP was a bit trickier. Messages from WESB over WS-RM 1.1 to SAP always failed with the error message “Only the anonymous value for wsrm:AcksTo is supported”. The WS-RM 1.1 uses the URI http://docs.oasis-open.org/ws-rx/wsrm/200608/anonymous.

When switching back from WS-RM 1.1 to 1.0, we finally got the communication from WESB to SAP working. The anonymous URI is http://w3.org/2005/08/addressing/anonymous is then used.

It seems that SAP has an error (bug) in its implementation of WS-RM 1.1, only accepting the URI http://w3.org/2005/08/addressing/anonymous to specify “anonymous”.

SAP is also coming up with an alternative for WS-RM, called “SAP-RM” or “plain SOAP“. It simply boils down to a HTTP POST with filtering of duplicate messages. This mechanism has been available in SAP’s integration solution PI but is now also being supported in modern SAP back-end applications. We only tested this with soapUI, not yet from IBM WESB.

Author: Guy

blogger

blogger

Curious to know more about this topic?

Working at i8c

i8c is a system integrator that strives for an informal atmosphere between its employees, who have an average age of approx 30 years old. We invest a lot of effort in the professional development of each individual, through a direct connection between the consultants and the management (no multiple layers of middle management). We are based in Kontich, near Antwerp, but our customers are mainly located in the triangle Ghent-Antwerp-Brussels and belong to the top 500 companies in Belgium (Securex, Electrabel, UCB, etc…).

Quality Assurance

i8c is committed to delivering quality services and providing customer satisfaction. That’s why we invested in the introduction of a Quality Management System, which resulted in our ISO9001:2000 certification. This guarantees that we will meet your expectations, as a reliable, efficient and mature partner for your SOA & integration projects.

i8c - ISO9001-2015

Also worth reading

AWS AppFlow: Streamlining SaaS Integrations with AWS Services

In today’s digital world, organizations are constantly looking for ways to streamline their workflows and improve their data management processes. One of the key challenges that organizations face is integrating their various software as a service (SaaS) applications with their data management systems. This is

Read More »

Apigee Scope Validation using OpenAPI Specification

In API security and management, we often use a lot of different security mechanisms to protect the requested resource behind the API Gateway. One of these mechanisms is the validation of scopes to authorize a client on a specific sub-resource of the API. Most of

Read More »