cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP interface determination

Former Member
0 Kudos

Hi

A more philosophical question this time.

I am somehow familiar with SOAP and AFAIK the invoked method name, is given by the first XML element inside Body tag? Right?

So. Assuming, I am right, how XI SOAP adapter determines the correct interface? In communication channel there is a box to fill with "default interface" information... it is strange to have such a configuration box as if client send a request to unknown SOAP method an exception should be thrown and not a "default interface" used.

Also it is interesting that for SOAP channel it is possible to use the "nosoap" option... it does not make no sense as the called interface name is defined inside the soap body.

So any comments to describe how SAP XI treats SOAP request for determining the right method...

Thanks for you opinions and links to related materials.

PS. Answers rewarded

Accepted Solutions (0)

Answers (1)

Answers (1)

stefan_grube
Active Contributor
0 Kudos

> A more philosophical question this time.

> I am somehow familiar with SOAP and AFAIK the invoked

> method name, is given by the first XML element inside

> Body tag? Right?

The method name is relevant for a web service. The XI only routes the SOAP message to a receiver, so it does not care about the method.

> So. Assuming, I am right, how XI SOAP adapter

> determines the correct interface? In communication

> channel there is a box to fill with "default

> interface" information... it is strange to have such

> a configuration box as if client send a request to

> unknown SOAP method an exception should be thrown and

> not a "default interface" used.

The interface is not the same as the method.

> Also it is interesting that for SOAP channel it is

> possible to use the "nosoap" option... it does not

> make no sense as the called interface name is defined

> inside the soap body.

See above.

> So any comments to describe how SAP XI treats SOAP

> request for determining the right method...

See above.

Stefan

Former Member
0 Kudos

Hi

Thanks for the response... I have some issues with terms so maybe You could help me to clear things up.

> > ...

> The method name is relevant for a web service. The XI

> only routes the SOAP message to a receiver, so it

> does not care about the method.

> > ...

> The interface is not the same as the method.

In SOAP/WSDL terms there are operations in collected into one port (or service if we consider the option that only one port is defined inside WSDL service element). Right?

and each operation has (again lets make a simplification that there are synchronous SOAP operations discussed) a request message and a response message.

In XI/IR there are interfaces that have message types. Each message type can be built using one data type. And in scenario configuration I am able to define connections (using communication channel templates) between interfaces.

So. If an XI Interface is not the same thing as SOAP operations then how is it possible to use mappings? Any hints?

Or XI restricts the WSDL definition so that inside a wsdl:service there can be only one wsdl:port definition and used binding (and portType) can contain declarations for only one operation?

Pleas help me out with this

I appreciate it a lot

stefan_grube
Active Contributor
0 Kudos

> So. If an XI Interface is not the same thing as SOAP

> operations then how is it possible to use mappings?

Create an interface based on the messages defined in the WSDL. Then do mapping with this interface.

> Or XI restricts the WSDL definition so that inside a

> wsdl:service there can be only one wsdl:port

> definition and used binding (and portType) can

> contain declarations for only one operation?

If you have several operations in the WSDL you have to define several interfaces and assign the correspondent messages. The XI does not support automatical assignment between interface and messages, you have to figure out, which messages belong together.

Regards

Stefan

Former Member
0 Kudos

hi

> If you have several operations in the WSDL you have

> to define several interfaces and assign the

> correspondent messages. The XI does not support

> automatical assignment between interface and

> messages, you have to figure out, which messages

> belong together.

so the bottomline could be... that as XIs SOAP adapter does not look anyhow into the message to determine what SOAP operation it handles (read: message type), the operation must be determined with the QueryString? Am I right this time?

Just as a personal opinion, don't you think that a SOAP adapter should do this? It would enable to use XI as a SOAP server where there is one URL that receives SOAP requests and processes these in a more intelligent way?

Thanks for help!

stefan_grube
Active Contributor
0 Kudos

Do you know the guide "How to use the XI 3.0 SOAP adapter"?

https://websmp207.sap-ag.de/~sapdownload/011000358700002953992006E/HowToUseSOAPAdapter.pdf

That should cover your questions.

Stefan