#java #axis
#java #ось
Вопрос:
У нас были следующие сгенерированные веб-сервисы с помощью инструментов axis1:
<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).
Мы провели поиск в исходном коде axis, но не смогли найти, где было сгенерировано это имя.
Спасибо за помощь,
Ответ №1:
Я решил эту проблему следующим образом:
-
В файле server-config.wsdd:
<parameter name="wsdlServicePort" value="ExamplePort"/>
Я должен заменить на:
<parameter name="wsdlServicePort" value="Example"/>
-
Затем я должен изменить исходный код axis-1.4 следующим образом:
setBindingName(getServicePortName() "SoapBinding");
Я должен заменить на:
setBindingName(getServicePortName() "Binding");
Затем я должен создать JAR с помощью ant и скопировать новый JAR в исходный код библиотеки.