axis2-wsdl2code-maven-plugin(1.4.1)を使用していくつかのjava(1.5)WSクラスを生成しました。これらを使用すると、何か奇妙なことが起こっており、何が起こっているのか理解できません。
問題は、1つのメソッドを呼び出すことですが、実際に発生するWebサービスの呼び出しは別のメソッドです。
ConfigServiceStub service = new ConfigServiceStub(URL);
ServiceRequest request = new ServiceRequest();
request.setProcessId(processId);
request.setServiceCode(BigInteger.valueOf(113));
service.removeService(request);
このコードを実行すると、実際に発生するのはへのWebサービス呼び出しgetServiceDetails
です。理由がわかりません。次の結果は、正しいWebサービス呼び出しになります。
service.getServiceDetails(request);
物事を台無しにするXSDでの私の再利用について何かありますか、それともここで何が起こっているのですか?
関連するWSDLとXSDは次のとおりです。
バインディング
<operation name="getServiceDetails">
<soap:operation soapAction="http://api.nwn.no/webservices/ProductConfigurator/getServiceDetails" />
<input><soap:body /></input>
<output><soap:body /></output>
<fault name="fault"><soap:fault name="fault" /></fault>
</operation>
<operation name="removeService">
<soap:operation soapAction="http://api.nwn.no/webservices/ProductConfigurator/removeService" />
<input><soap:body /></input>
<output><soap:body /></output>
<fault name="fault"><soap:fault name="fault" /></fault>
</operation>
PortType
<operation name="getServiceDetails">
<input message="tns:getServiceDetailsRequest" />
<output message="tns:getServiceDetailsResponse" />
<fault message="tns:fault" name="fault" />
</operation>
<operation name="removeService">
<input message="tns:removeServiceRequest" />
<output message="tns:removeServiceResponse" />
<fault message="tns:fault" name="fault" />
</operation>
メッセージ
<message name="getServiceDetailsRequest">
<part name="body" element="tns:getServiceDetailsRequest" />
</message>
<message name="getServiceDetailsResponse">
<part name="body" element="tns:getServiceDetailsResponse" />
</message>
<message name="removeServiceRequest">
<part name="body" element="tns:removeServiceRequest" />
</message>
<message name="removeServiceResponse">
<part name="body" element="tns:removeServiceResponse" />
</message>
スキーマ
<xsd:element name="getServiceDetailsRequest" type="ServiceRequest" />
<xsd:element name="getServiceDetailsResponse" type="ServiceResponse" />
<xsd:element name="removeServiceRequest" type="ServiceRequest" />
<xsd:element name="removeServiceResponse" type="ServiceConfigurationResponse" />
<xsd:complexType name="ProcessRequest">
<xsd:sequence>
<xsd:element ref="processId" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ServiceRequest">
<xsd:complexContent>
<xsd:extension base="ProcessRequest">
<xsd:sequence>
<xsd:element name="serviceCode" type="ServiceCode" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>