Я пытаюсь запустить команду wsdl2java для файла WSDL, который был передан мне из другой группы в моей компании. Я знаю, что wsdl2java работает, потому что я могу запустить примеры, но когда я пробую его на предоставленном мне wsdl, он не работает. Одно большое отличие состоит в том, что данный мне WSDL использует SSL.
Я использую Java 1.4 (проверял несколько раз) и убедился, что все правильные файлы jar находятся в моем пути к классам, jsse.jar там.
КОМАНДА: java org.apache.axis.wsdl.WSDL2Java - сторона сервера GenericWebService.wsdl
ОШИБКА:
log4j: ПРЕДУПРЕЖДЕНИЕ. Для регистратора не найдено ни одного добавителя (org.apache.axis.i18n.ProjectResourceBundle).
log4j: WARN Пожалуйста, правильно инициализируйте систему log4j.
** java.io.IOException: ошибка источника. Неверный адрес конечной точки в порту AC_x0020_Generic_x0020_Web_0020_ServiceSoap в службе AC_x0020_Generic_x0020_Web_x0020_ServiceLocator: **
в org.apache.axis.wsdl.toJava.JavaServiceImplWriter.writeFileBody (JavaServiceImplWriter.ja
а: 242)
на org.apache.axis.wsdl.toJava.JavaWriter.generate (JavaWriter.java:127)
в org.apache.axis.wsdl.toJava.JavaServiceWriter.generate (JavaServiceWriter.java:112)
в org.apache.axis.wsdl.toJava.JavaGeneratorFactory $ Writers.generate (JavaGeneratorFactory.j
ва: 421)
на org.apache.axis.wsdl.gen.Parser.generate (Parser.java:476)
в org.apache.axis.wsdl.gen.Parser.access $ 000 (Parser.java:45)
в org.apache.axis.wsdl.gen.Parser $ WSDLRunnable.run (Parser.java:362)
at java.lang.Thread.run (Thread.java:534)
ASDF
<wsdl:portType name="AC_x0020_Generic_x0020_Web_x0020_ServiceSoap">
<wsdl:operation name="Provision">
<wsdl:input message="tns:ProvisionSoapIn" />
<wsdl:output message="tns:ProvisionSoapOut" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="AC_x0020_Generic_x0020_Web_x0020_ServiceSoap" type="tns:AC_x0020_Generic_x0020_Web_x0020_ServiceSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="Provision">
<soap:operation soapAction="http://xmlns.fmr.com/systems/dev/aar/2008/05/GenericWebService/Provision" style="document" />
<wsdl:input>
<soap:body use="literal" />
<soap:header message="tns:ProvisionServiceProcessingDirectives" part="ServiceProcessingDirectives" use="literal" />
<soap:header message="tns:ProvisionServiceCallContext" part="ServiceCallContext" use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="AC_x0020_Generic_x0020_Web_x0020_Service">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Generic web service definition for provisioning requests callable by AccessCENTRAL</wsdl:documentation>
<wsdl:port name="AC_x0020_Generic_x0020_Web_x0020_ServiceSoap" binding="tns:AC_x0020_Generic_x0020_Web_x0020_ServiceSoap">
<soap:address location="" />
</wsdl:port>
</wsdl:service>
ОБНОВЛЕННОЕ РЕШЕНИЕ:
Проблема заключалась в том, что для завершения анализатору требовалось значение в . Я добавил URL своего сервиса, и он работал.
Новые линии выглядели так:
<soap:address location="" http://localhost:8080/axis/services/AC_x0020_Generic_x0020_Web_x0020_Service" />