cancel
Showing results for 
Search instead for 
Did you mean: 

PI 7.1 problems publishing a WSDL of a sender soap adapter

Former Member
0 Kudos

We have upgraded our dev system from XI 3.0 to PI 7.1 and now I'm facing a problem with SOAP adapter. I have searched for answers here for a while but couldnu2019t find them. That why I start an own thread.

I thought with PI 7.1 it is very easy to publish the WSDL of SOAP adapter respectively a sender agreement. All you have to do is to choose your sender agreement and select the menu item "display WSDL" There you can get the WSDL and a WSDL URL. So it would be possible to deliver this URL to my partners. But while checking this URL respectively the delivered WSDL I've found a problem.

First of all the the WSDL URL doesn't look really good:

http://<server>:<port>/dir/wsdl?p=1_1ce2e954fe9632818bfff6c32f370748_portTypeBindingService

But it works. If I call this URL with a browser or with XML Spy I get the correct WSDL. Any chance to get a better readable URL?

The next thing is the proposed soap:address location in the WSDL. It has the following form:

http://<server>:<port>/XISOAPAdapter/MessageServlet?senderParty=&amp;senderService=MYSERVICE&amp;receiverParty=&amp;receiverService=&amp;interface=MYINTERFACE&amp;interfaceNamespace=MYNAMESPACE"

If I compare it with the documentation i can see that the URL is completely different.

http://help.sap.com/saphelp_nwpi71/helpdata/en/43/951aceb1146353e10000000a11466f/frameset.htm

But again if it works all is fine but it doesn't work at least it doesnt work with XML Spy. The reason is the use of "& a m p ;" instead of only "&".

If I create a SOAP request with XML Spy an sent it to the XI I get the following error message: " Couldn't retrieve inbound binding for the given P/S/A values: FP=;TP=;FS=null;TS=null;AN=null;ANS=null;"

But if I change the SOAP request parameters replacing all the "& a m p ;" with "&" then it works.

Any chance to manage this? If I provide a WSDL on this way I want that my partners can use this "out of the box"

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Gil

Check this URL

http://host:port /XISOAPAdapter/MessageServlet?senderParty=FP& senderService=FS& interface=IF&receiverParty=TP&receiverService=TS&interfaceNamespace=IFNamespace 

Check SAP Note 856597

Thanks

Gaurav

Answers (4)

Answers (4)

bhavesh_kantilal
Active Contributor
0 Kudos

Hello,

My apologies, I did not read your initial post in its entireity, maybe the scroll bar at the bottom did not go all the way.

Now this makes sense to me.

The issue with & amp ; in the URL which is not resolved by XML Spy is actually a issue with XML spy and not a issue with XI.

The same behavior is with XI / PI 7.0 as well when we found the same issue, that XI maintains the URL as & amp ; but then XML spy doesnt resolve it as we would all hope it would.

Test the same WSDL with any other test tool and you will find that it resolves the SOAP URL perfectly. If you have a licensed version of XML spy, a ticket with XML spy is the answer.

As for the documenation issue, Stefan Grube had pointed to this in a previous post and I think this should be resolved soon. I love help.sap as it always helps when in trouble of XI.

Regards

Bhavesh

Former Member
0 Kudos

OKay Bhavesh not nice but this answers my question. Thank you.

Former Member
0 Kudos

Kulwant

Yes of course I can change that manually but therefore I have to save the WSDL to my local hard disc, change the WSDL and send it to my partner via mail. This is exactly the way I've done this till now. But with PI 7.1 I like to use the new opportunities.

Bhavesh

I have also no Service Repository till now. That's the reason why I want to use the way described in my initial post.

In PI 7.1 you can open the corresponding sender agreement of you SOAP adapter. There you find a menu item "display WSDL". If you choose this you get a window which displays the correct WSDL and an URL where you can find the WSDL too. If you copy this URL to a browser you get the same WSDL too.

http://help.sap.com/saphelp_nwpi71/helpdata/en/31/daa0404dd52b54e10000000a1550b0/content.htm

First part of my question is regarding to this URL. The URL has a strange format.

The second part is regarding to the form of soap:address in this generated WSDL. Here I have problems with the use of this "& a m p ;" string. But I have no influence on it. If I deliver my partners the obove mentioned URL to the WSDL and the WSDL contains this soap:address URL my partner will probably have the same problem like I with my XML Spy.

Gaurav

I don't understand you answer. I know the correct soap address but the IB tool generates it with this "& a m p ;" string instead of only "&". Thatu2019s the point. No idea if and how I can handle this.

But thank you for the note number. Was helpful. The number is in the online documentation too but I've read over it.

To bad that the online documentation isn't correct regarding to the soap address. But believe me the German version is even worse. There you can find the two soap adapter settings (XI parameter: interface namespace, interface) that are no longer existed in PI 7.1

Now I will test if a .NET application can handle this soap address correctly.

Edited by: Gil Ritter on Nov 14, 2008 11:25 AM

bhavesh_kantilal
Active Contributor
0 Kudos

The URL provided on help.sap is incorrect. You will find the correct URL in the SOAP adapter FAQ note on Service market place.

As a side not, can I ask you a quick question?:

We do not have our Service Registry up and running yet on PI 7.1. Reason being we want to have a stand alone SR and basis still working on it.

But in the meantime, I was wondering if you know of a way to define the WSDL within the ID of XI? In XI / PI we can do this by saying define webservice.

Is there a similar option that is maintained on PI7.1 or is the only way to publish the Interface on the Service Registry and then to download the WSDL from the SR?

Regards

Bhavesh

Former Member
0 Kudos

Hello Gil,

Not very sure, but probably you can change the WSDL manually to include the changes. It will not affect.

As soon as your partner use this changed WSDL to generate the SOAP request, it will never fail.

Thanks

-Kulwant