Hi Carolyn,

I can't really help you with the 'discovering' part (I think you just
have to implement it yourself for now), but once you know the address
there is a method setTargetEndpointAddress(java.net.URL address) on
the org.apache.axis.client.Call class.  If you use stubs generated by
WSDL2Java there will be a method on the ServiceLocator class that
takes a URL and will call this method for you.

Regards,
Jan



On 6/1/05, Carolyn Vo <[EMAIL PROTECTED]> wrote:
> Looks like there is something in the Axis docs but is not completed yet on
> how to accomplish this:
> 
> "Dynamically Discovering and Binding to a Web Service
> 
> When Axis generates client proxy classes code from WSDL, it binds the code
> to the endpoint URL specified in the WSDL -this is usually a URL generated
> from the URL of the inbound request. Using a http://localhost URL to fetch a
> WSDL page will result in client code also bound to a service served up on
> the localhost, which is not what you want in a redistributable. Similarly,
> even if you use the hostname when fetching the WSDL, you need the fully
> qualified domain name, not any short name -http://s1.example.org/ and not
> http://s1/ -otherwise only callers in your own domain or subnet will be able
> to find the server. Hand-written WSDL does not exhibit this problem; the
> endpoint in the WSDL is the one the author typed in.
> 
> It is almost essential that you provide some way to update the URL on the
> clients. The simplest is some command line override option, as used in the
> Axis command line tools. More advanced is a dialog box for entering URLs,
> and more advanced yet is some automated discovery mechanism.
> 
> Axis does not provide any discovery mechanism in the JAR. There is a sibling
> project, jUDDI, that provides access to UDDI registries. There is also a
> multicast discovery jar that works with Axis in the Axis CVS tree; this is a
> proof-of-concept mechanism that uses XML messages but is not compatible with
> any existing standard. It works OK over LAN networks, but is not designed to
> be used over wider area.
> 
> TODO: how to set the URL in a service"
> 
> Anyone have any ideas on how to accomplish this?  Thanks!
> 
> -----Original Message-----
> From: James Taylor [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, May 31, 2005 6:03 PM
> To: [email protected]
> Subject: Re: dynamic web service location?
> 
> Think you may have to configure tomcat or your webapp to listen on a port
> and
> access your service through there. Not sure how to do this!!
> Quoting Carolyn Vo <[EMAIL PROTECTED]>:
> 
> > Hello,
> >
> >
> >
> > Is it possible to specify the server and port number for a web service
> > during runtime?  The default in my wsdl file is hardcoded to
> localhost:8080
> > but I want the user to be able to specify it during runtime.  How is this
> > possible?
> >
> >
> >
> > Thanks,
> >
> > Carolyn
> >
> >
> 
> 
> --
> Between the question and the answer lies free will
> 
>

Reply via email to