How can I change the end point of a Web Service Client in NetBeans 6.1 at runtime?

I am using NetBeans 6.1 to construct a console application using JAX-WS to generate code to consume a Web Service. How can I change the url of the end point for the web service at runtime? It would be preferable to be set in an xml configuration file.

Thanks in advance
CompmindAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Siva Prasanna KumarPrincipal Solutions ArchitectCommented:
0
CompmindAuthor Commented:
I was able to change where it queries the web service but not from where it downloads the wsdl file
0
Siva Prasanna KumarPrincipal Solutions ArchitectCommented:
Didn't get you, Generally we change the end points when the server IP address is changed or when the same service available at different IP.

if the WSDL location and service location are generally same but they are not must to be same. Please clarify what changes you meant.
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

CompmindAuthor Commented:
ok I want to be able at runtime to change the WSDL location and the service location both at the same time.
0
Siva Prasanna KumarPrincipal Solutions ArchitectCommented:
do u have the service hosted at multiple locations? if its the same WSDL then service location change will do.

Can you share some source code which has the wsdl location in it.

0
CompmindAuthor Commented:
This code will change the service location but not the WSDL location and the service is hosted at different locations(development and production)  but the locations cannot communicate with each other. So it wouldn't work if I can only change the service location because it would try to download the WSDL from the development location which is not accesible from the production location.
  private static void logOut(int sessionID){
          try {
             int sid = sessionID;
                com.ca.unicenterserviceplus.servicedesk.USDWebService service = new com.ca.unicenterserviceplus.servicedesk.USDWebService();
   com.ca.unicenterserviceplus.servicedesk.USDWebServiceSoap port = service.getUSDWebServiceSoap();
   ((BindingProvider)port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endPointURL);
//endPointURL is a string
      port.logout(sid);
        } catch (Exception ex) {
             ex.printStackTrace();
        }
   
  }

Open in new window

0
Siva Prasanna KumarPrincipal Solutions ArchitectCommented:
you have used WSDL only for creation of Client stubs and thats it. I don't think it will download WSDL every time, once the stubs are created based on the endpoint (generally derived from WSDL , in your case you are overriding manually) the service will be invoked appropriately.

if u have to change the WSDL it self then u must recreated the stubs with the new WSDL.
0
CompmindAuthor Commented:
Well in netbeans it does download the WSDL I do not why but it does it

I get the following error

javax.xml.ws.WebServiceException: Failed to access the WSDL at: http://192.168.10.71:8080/axis/services/USD_R11_WebService?WSDL. It failed with:

Connection timed out: connect.
0
Siva Prasanna KumarPrincipal Solutions ArchitectCommented:
Try opening the same link in browser and see

http://192.168.10.71:8080/axis/services/USD_R11_WebService?WSDL

it look like wsdl location  is incorrect.
0
CompmindAuthor Commented:
the wsdl location is correct. The thing is that this was generated while pointing to 192.168.10.71 and was installed on the server with ip 10.1.34.153 and they cannot see each other for security reasons for some reason it tries to download the WSDL from 192.168.10.71.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Editors IDEs

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.