cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP Adapter

Former Member
0 Kudos

Hi Experts

When do we use the option Do Not Use SOAP Envelope in Conversion parameters ?

Also in an RFC to SOAP scenario, where do we create or download wsdl. Do we have to create for both interfaces or just the SOAP interface ? I guess wsdl acts as the Message Type in Mapping. So we create wsdl descrition for Message Interface always. Is it created for both outbound and inbound message interfaces in an SOAP to RFC scenario ?

Radhika

Accepted Solutions (1)

Accepted Solutions (1)

agasthuri_doss
Active Contributor
0 Kudos

Hi,

>Also in an RFC to SOAP scenario, where do we create or download wsdl. Do we have to create for both interfaces or just the SOAP interface ?

For SOAP sender - You create WSDL file, RFC - You import the functiona module

> Do Not Use SOAP Envelope

SOAP adapter to send / receive non- SOAP messages.

Cheers

Agasthuri

Former Member
0 Kudos

Hi Agasthuri

SOAP adapter to send / receive non- SOAP messages.

Can you tell me why we do not use SOAP envelope in this case ? Or rather, SOAP envelope is used only when we send or receive non SOAP messages ?

Radhika

prateek
Active Contributor
0 Kudos

>>When do we use the option Do Not Use SOAP Envelope in Conversion parameters ?

When the receiver application does not require the entire soap header and they can process the message without soap envelop, we can use this option.

>> Also in an RFC to SOAP scenario, where do we create or download wsdl.

We don't have to download wsdl in this case. Client at receiver should provide it to import it in PI.

>> Do we have to create for both interfaces or just the SOAP interface ?

You don't have to create wsdl for any of them.

>> I guess wsdl acts as the Message Type in Mapping.

Yes, the structure can be used.

>> So we create wsdl descrition for Message Interface always.

No, we don't do that.

>> Is it created for both outbound and inbound message interfaces in an SOAP to RFC scenario ?

For sender SOAP you have to generate wsdl and send to sender system so that they can use it to send soap messages. In this case you can manually create Message Type and corresponding Message Interface which is then exposed as wsdl.

>> SOAP envelope is used only when we send or receive non SOAP messages ?

Rather its opposite. SOAP envelop is used to send SOAP protocol based messages.

Regards,

Prateek

Former Member
0 Kudos

Thanks Prateek

I have one more doubt regarding SOAP. I read in a blog that for sender SOAP adapter we don't normally need to state SOAP Action. Is it that we never configure SOAP action for sender SOAP Adapter ? And also for receiver SOAP Adapter do we have to configure SOAP Action always ?

Radhika

former_member187339
Active Contributor
0 Kudos

Hi Radhika,

>> I read in a blog that for sender SOAP adapter we don't normally need to state SOAP Action. Is it that we never configure SOAP action for sender SOAP Adapter ?

Yes we dont require SOAP Action in sender and the reason is the special url that we use in wsdl.

where host is the host name, port is the port number, p is the optional party name, s the service name, and c is the channel name, respectively.The URL given above is valid for 3.0/7.0/7.1.

7. 10 onwards a new URL syntax is also valid and is recommended to be used. The URL for the SOAP sender channel is * http://host:port /XISOAPAdapter/MessageServlet?senderParty=FP& senderService=FS& interface=IF&receiverParty=TP&receiverService=TS&interfaceNamespace=IFNamespace*

where host is the host name, port is the port number, FP is the optional sender party, FS is the sender communication component, interface is the interface configured as per the sender agreement, TP is the receiver party, TS is the receiver communication component, IFNamespace is the interface namespace as configured in the sender agreement, and IF is the interface as configured in the sender agreement.

>>And also for receiver SOAP Adapter do we have to configure SOAP Action always ?

Not necesarily. IF you have action then you can use it else you dont require. Sometime there are cases where there are multiple actions which need to be decided on runtime. Check this thread for more information :

Regards

Suraj

Former Member
0 Kudos

Thanks Suraj

Thanks everyone for the time !

I got answers for all my querries I posted here regarding SOAP Adapter !

Radhika

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi radhika

The SOAP adapter creates the SOAP envelope. You cannot influence this procedure.

If you need to apply special tags inside the SOAP header, the only option is to create the

whole SOAP envelope during mapping, and in the case of a synchronous call, to remove

the SOAP envelope in the mapping.

In the SOAP adapter channel, select Do Not Use SOAP Envelope.

By using this parameter, you can use the SOAP adapter to send or receive non-

SOAP messages. In this case the sender SOAP adapter requires an additional

parameter nosoap=true in the URL.

While generating WSDL in Define webservice option of ID, provide URL:

For example:

http://<host>:<j2ee-port>/XISOAPAdapter/MessageServlet?

channel=<party>:<service>:<channel>&nosoap=true

regards

Manisha

former_member200962
Active Contributor
0 Kudos
When do we use the option Do Not Use SOAP Envelope in Conversion parameters ?

It is used when you want to include the SOAP Header details in the message passed....for more info refer: /people/william.li/blog/2009/07/30/how-to-read-soap-header-information

Also in an RFC to SOAP scenario, where do we create or download wsdl.

We do not create a WSDL file in XI/ PI when the SOAP is a receiver....it is done only when SOAP is the sender

In the above scenario you should get a WSDL file from the receiver SOAP application developers.

Include it in External Definitions and directly use it as a Message type in your Message Mapping and while developing Message Interface.

Actually in your above scenario you dont create any Data type or Message Type.....RFC acts as Message type for source while WSDL from SOAP acts acts as MT for receiver.

Is it created for both outbound and inbound message interfaces in an SOAP to RFC scenario ?

Here you need to create a Datatype, Message Type, Message Interface and develop your WSDL and then provide it to the Sender SOAP application.

Regards,

Abhishek.

former_member732072
Active Participant
0 Kudos

Hi Radhika,

Also do have a look at the following link which might be of help to you in understand the functionality of SOAP adapter

Best Regards

Former Member
0 Kudos

Radhika

please check this document

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873...

if u use sender soap adapter then u need to create wsdl

regards

satish