Aby dodać tutaj pewne wyjaśnienie, podczas tworzenia usługi klasa usługi używa domyślnego „wsdlLocation”, który został do niej wstawiony, gdy klasa została zbudowana z wsdl. Więc jeśli masz klasę usług o nazwie SomeService i tworzysz taką instancję:
SomeService someService = new SomeService();
Jeśli zajrzysz do środka SomeService, zobaczysz, że konstruktor wygląda tak:
public SomeService() {
super(__getWsdlLocation(), SOMESERVICE_QNAME);
}
Więc jeśli chcesz, aby wskazywał na inny adres URL, po prostu użyj konstruktora, który przyjmuje argument URL (jest 6 konstruktorów do ustawiania qname i funkcji). Na przykład, jeśli skonfigurowałeś lokalny monitor TCP / IP, który nasłuchuje na porcie 9999 i chcesz przekierować do tego adresu URL:
URL newWsdlLocation = new URL("http://theServerName:9999/somePath");
SomeService someService = new SomeService(newWsdlLocation);
a to wywoła ten konstruktor wewnątrz usługi:
public SomeService(URL wsdlLocation) {
super(wsdlLocation, SOMESERVICE_QNAME);
}