我有以下使用axis1工具生成的Web服务:
<wsdl:binding name="WSExamplePortSoapBinding" type="impl:WSExamplePortType">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="TestMethod">
<wsdlsoap:operation soapAction="http://localhost/Example/wsdl/Example?wsdl#TestMethod" />
<wsdl:input name="TestMethodRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost/Example/wsdl/Example?wsdl" use="encoded" />
</wsdl:input>
<wsdl:output name="TestMethodResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost/Example/wsdl/Example" use="encoded" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="WSExample">
<wsdl:port binding="impl:WSExamplePortSoapBinding" name="WSExamplePort">
<wsdlsoap:address location="http://localhost:8082/Example/wsdl/Example" />
</wsdl:port>
</wsdl:service>
客户希望我们更改行:
<wsdl:binding name="WSExamplePortSoapBinding" type="impl:WSExamplePortType">
对于:
<binding name="WSExampleBinding" type="impl:WSExamplePortType">
我们如何更改该单词(从WSExamplePortSoapBinding到WSExampleBinding)。
我们已经尝试在轴源代码中进行搜索,但是我们没有发现是由此生成的。
谢谢,
最佳答案
我这样解决了这个问题:
在server-config.wsdd文件中:
<parameter name="wsdlServicePort" value="ExamplePort"/>
我必须替换为:
<parameter name="wsdlServicePort" value="Example"/>
然后,我必须像这样修改axis-1.4源代码:
setBindingName(getServicePortName() + "SoapBinding");
我必须替换为:
setBindingName(getServicePortName() + "Binding");
然后,我必须用ant制作JAR,然后将新的JAR复制到该库的源代码中。
关于java - AXIS1:如何个性化“绑定(bind)名称”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6193781/