cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP Receiver Adapter

Former Member
0 Kudos

Hi,

we are trying to implement a RFC-XI-SOAP scenario with a SOAP Receiver Adapter. We would like to send a SOAP request to a WebServices server. From the WebService provider we received the WSDL file. This we used to define the message interfaces and mappings in the Integration Repository. Now we are trying to configure the SOAP receiver adapter in the Integration Directory. The target URL is http://webserviceserver:port/axis/service.jws.

1. Is this URL correct?

2. Where do we specify the method we would like to request?

Thanks in advance,

Carmen

Accepted Solutions (1)

Accepted Solutions (1)

Andrzej_Filusz
Contributor
0 Kudos

Hi Carmen!

When I use SOAP adapter in receiver mode to connect with a WebService deployed on the Axis platform then I use the following url as a "targetURL" in an adapter configuration:

http://<host>:<port>/axis/services/DstCustPort?method=dstCust

Of course, "DstCustPort" and "dstCust" values are different in your case.

I hope it's the answer for your second question.

Regards,

Andrzej

Former Member
0 Kudos

Hi Andrzej,

Yes that is the answer to both questions. Now, I also tried the URL with the method at the end. This one worked with you?

I still receive the same error from axis (Application fault). So maybe it is not a problem with the method...

Do you know a way to see the complete SOAP message (with Envelope) that the SOAP Adapter sends to the WebService server? I think this is the only way to find a solution to my problem.

Thanks,

Carmen

Former Member
0 Kudos

Hi Carmen,

There are free Utilities available to monitor Outgoing & Incoming SOAP messages.

TCPMON - A utility of Apache/AXIS:

https://tcpmon.dev.java.net/

This monitors any TCP traffic. Not necessarily a SOAP traffic.

SOAP ToolKit - Microsoft SOAP Monitor:

http://www.microsoft.com/downloads/details.aspx?FamilyId=C943C0DD-CEEC-4088-9753-86F052EC8450&displa...

  • Easy to download and use. Helps a lot to see the bytes behind the screens.

  • In both, these act like a Proxy.

  • Start up any of these tools, specify a port on which it need to listen. (Any port).

  • In XI give the host & port of this tool. rest of the path remains same.

  • In the tool, specify the actual Webservice host & port.

Lets say:

The webservice URL is <i>http://wshost:wsport/wsname?method=wsmethod</i>

The tool is started on <i>thost</i> and on port <i>tport</i>

then:

In XI the URL is: <i>http://thost:tport/wsname?method=wsmethod</i>

In the tool: Server name: <i>wshost</i> ; Server Port: <i>wsport</i>

Hope this helps!

regards

Pops V

Former Member
0 Kudos

Carmen,

Check the wsdl of your web service. Make sure that the soap:binding element does not have 'style=rpc' as an attribute. The jws web services are mostly 'rpc' style web services. Unfortunately, XI supports only document style web services.

The soap request structure is different for rpc and document web services and XI generates soap requests for document-style web services.

You can create document style web services with axis by specifying style="document" in your wsdd file during deployment.

Hope that helps.

Suresh.

Former Member
0 Kudos

Hi Suresh,

you're right. My WebService was a 'rpc' style WebService. Now I have a new example and this WebService is 'document' style and this one works great.

Thanks for your help.

Carmen

Answers (1)

Answers (1)

stefan_grube
Active Contributor
0 Kudos

If your WSDL is valid, then you can find the URL at the tag: <soap:address location="URL" \>

The SOAP Action, you can apply to the SOAP adapter you find in the tag: >soap:operation soapAction="" \>

If this is missing, you might leave it in the configuration empty.

Stefan