wsdl2java错误:发射器故障。端口中的端点地址无效

时间:2008-11-10 16:49:13

标签: java web-services

我正在尝试在我公司其他组提供给我的WSDL文件上运行wsdl2java命令。我知道wsdl2java有效,因为我可以运行这些示例,但是当我在给我的wsdl上尝试它时,它失败了。一个很大的区别是给我的WSDL使用SSL。

我正在使用Java 1.4(检查了几次)并确保所有正确的jar都在我的类路径中,jsse.jar就在那里。

命令:java org.apache.axis.wsdl.WSDL2Java --server-side GenericWebService.wsdl

ERROR:

log4j:WARN找不到logger(org.apache.axis.i18n.ProjectResourceBundle)的appender。 log4j:WARN请正确初始化log4j系统。 ** java.io.IOException:发射器故障。服务中的端口AC_x0020_Generic_x0020_Web_0020_ServiceSoap中的端点地址无效AC_x0020_Generic_x0020_Web_x0020_ServiceLocator:**         at 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)         at org.apache.axis.wsdl.toJava.JavaGeneratorFactory $ Writers.generate(JavaGeneratorFactory.j) VA: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)         在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>

更新的解决方案: 问题是解析器需要&lt; soap:address location =“”/&gt;中的值。它完成。我添加了我的服务的URL,但它确实有效 New Lines看起来像:

<soap:address location="" http://localhost:8080/axis/services/AC_x0020_Generic_x0020_Web_x0020_Service" />

1 个答案:

答案 0 :(得分:2)

soap:地址指定的位置为空。它应该是SOAP服务的URI。请参阅soap:address

查看soapAction, http://xmlns.fmr.com/systems/dev/aar/2008/05/GenericWebService 可能是正确的位置值。