Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

PI 7.1 Adapter Module Development - Identify Service Provider Name

Hi Experts,

here's another PI 7.1 Adapter Module Development issue I hope you can help me to resolve. It's about identifying Request's receiver service.

Scenario at a glance:

Adapter Modules placed in the modules chain at request and response time in a synchronous Scenario:

- Request: SOAP Axis to RFC

- Response and Fault Response: RFC to SOAP Axis

The issue is to find out the Service Provider (that is: ToService from Request's point of view and FromService from Response's point of view) in the SOAP Axis Adapter Module at Response time.

The coding snippet ...

// Try to get "service provider" ID

String zv_vkFromService = zv_piMsg.getFromService().toString();

String zv_vkToService = zv_piMsg.getToService().toString();

... returns the following values:

START - Request SOAP Axis Adapter;

FromService = Axis Client

ToService = null

IN - Request RFC Adapter:

FromService = Axis Client

ToService = SAP Backend

OUT - Response RFC Adapter:

FromService = SAP Backend

ToService = Axis Client

END - Response SOAP Axis Adapter:

FromService = Axis Client

ToService = null

Thus RFC Adapter returns consistent and logical data to me, but SOAP Axis Adapter returns ... to be honest ... "bullshit!".

By the way: Using DynamicConfigurationBean features (like e.g. message.receiverService) to access these information leads to the same problems/results.

That means that only in the RFC Adapter Module the Service Provider is well-known at both points in time: Request and Response.

In the SOAP Axis Adapter Module the Service Provider is never known, but there (and only there) I need it for logging purposes.

Because if we use Proxy technology instead of RFC we have no chance to use Java Adapter Modules to obtain the Service Provider information.

My question is now: Is there any (maybe undocumented) way to obtain the Name of the request's Receiver Service (=name of Service Provider) in the SOAP

Axis Adapter Module at response time.

That this is not possible at Request time is quite clear to me, because at this time receiver determination has not taken place yet.

Any ideas on how to solve this issue?

Thanx in advance!

Regards,

Volker

Former Member
Not what you were looking for? View more on this topic or Ask a question