Посмотрите на свой файл WSDL. В Axis2 1.5 инструмент wsdl2java
будет использовать этот порт SOAP1.2 для генерации целевой конечной точки для вашей заглушки:
<wsdl:port name="HelloWorldServiceHttpSoap12Endpoint" binding="ns:HelloWorldServiceSoap12Binding">
<soap12:address location="http://localhost:8082/axis2/services/HelloWorldService.HelloWorldServiceHttpSoap12Endpoint/" />
</wsdl:port>
Вы можете использовать опцию -pn
wsdl2java
, если вам нужен другой порт.
Загрузите ваш WSDL локально и убедитесь, что раздел порта правильный (без https). Далее сгенерируйте источники с помощью wsdl2java, например, на моей машине:
lucho@lucholinuxpc:~/axis2-1.5.1/bin> ./wsdl2java.sh -uri /home/lucho/sayhello.wsdl
Using AXIS2_HOME: /home/lucho/axis2-1.5.1
Using JAVA_HOME: /opt/jdk1.6.0_18
Using JAVA_OPTS: -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
Retrieving document at '/home/lucho/sayhello.wsdl'.
Теперь проверьте вашу сгенерированную заглушку, вы должны увидеть что-то вроде этого, если ваш WSDL похож на мой:
/**
* Default Constructor
*/
public HelloWorldServiceStub() throws org.apache.axis2.AxisFault {
this("http://localhost:8082/axis2/services/HelloWorldService.HelloWorldServiceHttpSoap12Endpoint/" );
}
Далее, в своем тестовом коде вы можете альтернативно использовать конструктор для своей заглушки, который принимает конечную точку цели. На самом деле я предпочитаю такой подход, потому что клиент WS более гибок к изменениям в целевой сети. По вашему вопросу должно быть что-то вроде:
public HelloWorldServiceStub(java.lang.String targetEndpoint)
И последнее, но не менее важное: я рекомендую вам эту книгу для краткого руководства по началу работы Вложения SOAP с использованием Apache axis2
Cheerz!