cancel
Showing results for 
Search instead for 
Did you mean: 

Server/port of generated Webservice

olivier_thiry
Participant
0 Kudos

Hello,

I designed a new webservice using the SDK (2.0.1.8).

To do so, I created a WSDL file, put it into the appropriate folder, with address location starting with "http://localhost:50000", which is fine.

We then installed my development first on our development machine, everything was fine, this address location was well changed to point to the server/port it should ...

Next step was to install those changes into our consolidation system, and there we got trouble... The server address was ok, but not the port...

This install is done by our "delivery team", as developper, I don't have access to C system. Who could tell me from where the server/port is coming from ? What is exactly the mecanism when we deploy a WS so that ME changes this ?

In fact, the problem is that we have 2 applications servers. The users access the ME using such an adress :

http://Cserver:8084. throuhg the webdispatcher

We have one of the AS which address is let's say :

http:ASserver1:58200....

And if I look in the WSDL deployed, using (example)

http://Cserver:8040/myWebService?wsdl

the address location is set to

http://Cserver:58200. so the server is good, but the port is the one from the AS...

Thanks in advance

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Oliver,

The problem is in the web dispatcher - it doesn't replace server and port in wsdl file. Because the wsdl is generated by Web AS on runtime, the URL that is put there is current Web AS URL in the network (not the URL of web dispatcher).

When you submit the request to http://Cserver:80xx/myWebService?wsdl the web dispatcher sends another request to the Web AS at http://Cserver:58200. But the web dispatcher doesn't process the response (doesn't replace Web AS address in the wsdl), so you get the address http://Cserver:58200 instead of http://Cserver:80xx.

If you directly send the request to http://Cserver:58200 you'll get the same wsdl with the address http://Cserver:58200.

You can find more information about web dispatcher here [http://help.sap.com/saphelp_nw04/helpdata/en/42/5cfd3b0e59774ee10000000a114084/content.htm]

Thanks

Ivan

olivier_thiry
Participant
0 Kudos

So if I well understood, for example if we defined a proxy (destination template in NWA SOA management), we have to force to use one of the AS, bypassing the webdispatcher ?

Or is there a way to force this one to change both the port and the server address ?

Regards

Former Member
0 Kudos

I'm not sure if it is possible to force the web dispatcher to change server and port. This is the question to the administrators of the web dispatcher.

But you can simply ignore server/port in wsdl and use the server/port of web dispatcher to call the web service.

olivier_thiry
Participant
0 Kudos

I really don't know how to ignore server and port in WSDL as this one is generated on the fly (if I well understood)...

And when defining a proxy in SOA managenent, the server adsress and port is required...

Former Member
0 Kudos

Hi Oliver,

I haven't configured destinations in SOA Management. Do you mean that you just point to wsdl file and then server/port is taken from wsdl? So there is no way to ignore server/port from wsdl and hardcode these values.

Try to check if it's possible to configure web dispatcher to replace these values in wsdl.

Also you may post the question to another forum

olivier_thiry
Participant
0 Kudos

Yes, it's exactly that, we define a proxy with a name, so in my (webdynpro) code I always refer to this proxy name. This proxy is defined on every NW server, with specific WSDL URL...

We raised an OSS note, waiting for final solution (so far, the feedback was almost the same as yours )

I will keep this thread updated.

Regards