cancel
Showing results for 
Search instead for 
Did you mean: 

Web Dispatcher / wrong address location in WSDL

Former Member
0 Kudos

Hi all,

I need to call a web service which is hosted behind a SAP web dispatcher.

Unfortunately the administrator doesn't allow direct access to the web service due to security constraints.

One of the application servers is worker107, the web dispatcher is worker1. So if fetching the WSDL


http://worker1.mydomain.com:4711/mypath/servicename?wsdl

I'll receive a WSDL containing the following line:


<soap:address location="http://worker107.mydomain.com:4711/mypath/servicename/010/my_endpoint"/>

or


<soap:address location="http://worker103.mydomain.com:4711/mypath/servicename/010/my_endpoint"/>

or any othe workerXXX address.

But these locations aren't accessible

If editing the WSDL manually and replacing the worker107 with worker1, the web service responds. But I can't change the WSDL on-the-fly in my webservice client.

How to solve the problem? Any clues how to access the web service?

Thanks in advance,

Christian.

Edited by: Christian Brunner on Jan 15, 2009 5:22 PM / removed markup from heading

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

I don't understand why this is a problem as the WSDL is supposed to be used only at design time and not at run time.

You will get the WSDL from the DEV system and then the generated proxy will be used to call the web service on the production system with, of course, a different end point.

By the way, I just did the same test :

Calling the WSDL URL thru a web dispatcher and I get inside the WSDL the URL using the web dispatcher host and port.

I think that your web dispatcher is not well configured.

Check if you have these paramters set in the web dispatcher profile

wdisp/add_clientprotocol_header = true

wdisp/add_xforwardedfor_header = 1

wdisp/handle_webdisp_ap_header = 1

This may be the problem.

Regards,

Olivier

Answers (3)

Answers (3)

dcmvdoord
Explorer
0 Kudos

Hello Christian,

We have the same question (wsdl / change adres location in combination with a web dispatcherl). Can you tell me how you have solved it?

With regards.

Dennis

Former Member
0 Kudos

The problem isn't solved properly, as the SAP system administrator wasn't able to change the configuration: reason unknown, but out of my responsibility.

As a workaround, we're now using a static WSDL file as suggested by Olivier.

Thanks for the hints and suggestions!

0 Kudos

"If you want to use the address of the SAP Web Dispatcher or a specific application server in the WSDL document, enter the host name and port number under Goto ® Maintain Call Address for Virtual Hosts in the initial screen of the transaction."

This setting fix the parameter "<soap:address location= >" in the wsdl file

http://help.sap.com/erp2005_ehp_04/helpdata/EN/2b/036829d238dc46bad91bff1563e183/frameset.htm

Former Member
0 Kudos

Hi,

Nice info but WSADMIN is now obsolete !

I did not find the equivalent in SOAMANAGER.

Regards,

Olivier

Former Member
0 Kudos

Hi All,

we are having a similar problem with calling web services from our flex component. We added the wsdl-files as mime types to our BSP application and manually changed the end-points to the host of our webdispatcher.

So far so good. If we test this a very strange issue appears: the first web service (fe get_labels) that is called goes well; but after this, when other web services are calles (fe get_prodcat), each time the web service that was first called (get_labels) was executed. We can see this in soamanager tracing.

Anyone with the same problem. Would this has to be a caching problem?

We don't have this problem when we are testing directly from our QAS system (without the web dispatcher).

Kind Regards,

Siegfried

Former Member
0 Kudos

Hi Olivier,

thanks for your quick reply.

You're right that the WSDL could be used to generate proxy code at design time. In our case however we're accessing the SAP web service without proxy code using an Adobe Flex client. So we'll need to access the WSDLat runtime.

I asked the administrator to check/configure the profile values as you suggested, but unfortunately this didn't bring any change of the problem.

I suppose as well that the web dispatcher is misconfigured.

I was wondering whether entries in the table HTTPURLLOC must be added/changed to affect the URL generation of the web dispatcher. In SAP note 752034 a similar problem was described.

Did you perform any changes in HTTPURLLOC?

Thanks in advance,

Christian.

Former Member
0 Kudos

Hi

for changes in HTTPURLLOC

Check Note 871004 - HTTPURLLOC for SE80 + WebAS-http-WebDispatcher-http-Browser

Configuration Table HTTPURLLOC

http://help.sap.com/saphelp_nw04s/helpdata/en/42/d548e630b6473ce10000000a114e5d/frameset.htm

/message/419474#419474 [original link is broken]

Regards

Abhishek

Former Member
0 Kudos

Hi Christian,

If your support package level is high enough, you should not need to insert lines in HTTPURLLOC.

But, you can try, it may solve your problem.

Regards,

Olivier