Я на самом деле понял это по-другому, и это, вероятно, отчасти специфично для того, как Netbeans делает вещи. Ответ, предоставленный Shott85, также хорош, но я думаю, что он более специфичен для автоматического генерирования кода Netbeans.
Итак, у меня есть проект, в котором находятся все веб-методы с именем SimplyLaborServer, и проект, в котором есть клиент веб-службы с именем SimplyLaborClient.
В Netbeans в рамках проекта SimplyLaborClient в узле «Сгенерированные источники (jax-ws)» у них есть файл SimplyLaborServer.java, который имеет класс, расширяющий Service. У него есть частный URL, который жестко запрограммирован для URL моего локального сервера следующим образом ...
url = new URL("http://localhost:8080/axis2/services/SimplyLaborServer?wsdl");
И в конструкторе по умолчанию он использует этот URL. Но он также предоставляет конструктор следующим образом, где я могу указать URL ...
public SimplyLaborServer(URL wsdlLocation) {
super(wsdlLocation, SIMPLYLABORSERVER_QNAME);
}
Поэтому, когда у меня есть автоматически сгенерированный метод, который выглядит так в моем клиенте ...
private static String testConnection() {
simplylaborclient.SimplyLaborServer service = new simplylaborclient.SimplyLaborServer();
simplylaborclient.SimplyLaborServerPortType port = service.getSimplyLaborServerHttpSoap12Endpoint();
return port.testConnection();
}
Я могу просто загрузить объект Properties с URL-адресом конечной точки и изменить одну строку на что-то вроде ниже, где props - это объект Properties, для которого endpointUrl определен с правильным URL-адресом.
simplylaborclient.SimplyLaborServer service = new simplylaborclient.SimplyLaborServer(new URL(props.getProperty("endpointUrl")));
Меня беспокоит только то, что эти методы генерируются автоматически при перетаскивании их из узла «Ссылки на веб-службы». Я не хочу, чтобы они были перезаписаны, если я внесу дополнительные изменения на стороне сервера.
Так что я по-прежнему открыт для обратной связи, если это правильно делать здесь или нет.
Спасибо