【问题标题】:Changing address location on axis2 WSDL更改axis2 WSDL上的地址位置
【发布时间】:2017-01-30 22:31:45
【问题描述】:

目前我正在我的项目中实现 Axis2(ROOT.war,http://localhost:8080/),但是我们需要使用下一个 url 来调用我们的 Web 服务“http://localhost:8080/axis2/services/MyService”,所以我在 web.xml 上实现了这个设置:

<servlet-mapping>
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>/axis2/services/*</url-pattern>
  </servlet-mapping>

但是当我们检查生成的 wsdl(http://localhost:8080/axis2/services/MyService?wsdl) 时,有一部分(位置值)仍然指向 http://localhost:8080/services/ 而不是 http://localhost:8080/axis2/services/

<wsdl:service name="MyService">
<wsdl:port name="MyServiceHttpSoap11Endpoint" binding="tns:MyServiceSoap11Binding">

<soap:address location="http://localhost:8080/services/MyService.MyServiceHttpSoap11Endpoint/"/>

</wsdl:port>
<wsdl:port name="MyServiceHttpSoap12Endpoint" binding="tns:MyServiceSoap12Binding">

<soap12:address location="http://localhost:8080/services/MyService.MyServiceHttpSoap12Endpoint/"/>

</wsdl:port>
<wsdl:port name="MyServiceHttpEndpoint" binding="tns:MyServiceHttpBinding">

<http:address location="http://localhost:8080/services/MyService.MyServiceHttpEndpoint/"/>

</wsdl:port>

</wsdl:service>

因此,当我尝试使用 SOAP UI 测试我的 WS 时会引发错误,因为我尝试使用 http://localhost:8080/axis2/services/MyService 进行测试,但设置为 http://localhost:8080/services/MyService

这是我的 services.xml

    <service name="MyService" >
    <Description>
        MyService Web Service
    </Description>

    <messageReceivers>
        <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
        <messageReceiver  mep="http://www.w3.org/ns/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
    </messageReceivers>
    <parameter name="ServiceClass" locked="false">com.xxx.yyy.ws.webservice.MyService</parameter>
</service>

有没有办法在 services.xml 上设置一些东西来更改 url?或任何其他方式来避免这种不匹配?

【问题讨论】:

    标签: java web-services soap wsdl axis2


    【解决方案1】:

    我解决了实现axis2.xml并将servicepath参数更新为:

    <parameter name="servicePath">axis2/services</parameter>
    

    【讨论】:

      猜你喜欢
      • 2010-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-17
      • 2015-04-27
      相关资源
      最近更新 更多