I'm using Eclipse 3.5 and JBoss 5.1.0.GA to create a web service. My web service implementation class is annotated as follows:
This results in a generated WSDL that includes the following <service ...> element:
The problem is, this is my local machine address, and not the public address which I need published by the WSDL. Is there an annotation I can set that will allow me to set the host and port myself? I would like the location= to look like this:Thanks for any pointers.
Mark E Hansen
Joined: Apr 01, 2009
I noticed that when I deployed my application on my production server, the wsdl was encoded with the host name of the machine, rather than localhost. I'm assuming this is because I'm running the application server with the -b 0.0.0.0 argument?
Still, this is the name my machine is known by on my local network, rather than the name its known by on the internet.
So, I'm looking for a way to influence the host/port encoded in the generated WSDL.
By the way, I know I can take the wsdl, hand edit it and publish it separately to my clients. I'm assuming there is some way to get the generated wsdl to work in my production environment without having to do this.
Can it be the case that the JBoss AS is as "smart" as GlassFish that it modifies the address in the WSDL depending on where the request comes from?
1. If you send a request from localhost to localhost, the address is 127.0.0.1.
2. If you send a request from another machine, the address in the WSDL will be replaced with the address from the request going into the AS.
If I were you, I would try to send a request from another computer to your local machine and request the WSDL.