我遇到了由第三方提供的服務wsdl問題。讓我試着解釋一下。藉此WSDL部分:SoapUI使用消息中的消息名稱而不是操作名稱
<wsdl:portType name="IBestelService">
<wsdl:operation name="PlaatsOrder">
<wsdl:input message="tns:PlaatsOrderRequest"/>
<wsdl:output message="tns:PlaatsOrderResponse"/>
<wsdl:fault message="tns:BestelServiceFault" name="BestelServiceFault"/>
</wsdl:operation>
<wsdl:operation name="PlaatsOrderThreeShips">
<wsdl:input message="tns:PlaatsOrderRequestThreeShips"/>
<wsdl:output message="tns:PlaatsOrderResponseThreeShips"/>
<wsdl:fault message="tns:BestelServiceFault" name="BestelServiceFault"/>
</wsdl:operation>
</wsdl:portType>
對於請求的soapUI(和.net到)生成以下要求:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:sambo-ict:basetypes:1.0" xmlns:urn1="urn:sambo-ict:bestelservice:types:1.0">
<soapenv:Header>
<urn:AuthenticationHeader xmlns="urn:sambo-ict:basetypes:1.0"/>
</soapenv:Header>
<soapenv:Body>
<urn1:PlaatsOrderRequest>
<EAN>9789490998394</EAN>
<DistributorOrderId>13188</DistributorOrderId>
<DeliveryMethod>Tegoed</DeliveryMethod>
<Amount>1</Amount>
</urn1:PlaatsOrderRequest>
</soapenv:Body>
</soapenv:Envelope>
但是在第三方網站的服務預計這一
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:sambo-ict:basetypes:1.0" xmlns:urn1="urn:sambo-ict:bestelservice:types:1.0">
<soapenv:Header>
<urn:AuthenticationHeader xmlns="urn:sambo-ict:basetypes:1.0"/>
</soapenv:Header>
<soapenv:Body>
<urn1:PlaatsOrder>
<EAN>9789490998394</EAN>
<DistributorOrderId>13188</DistributorOrderId>
<DeliveryMethod>Tegoed</DeliveryMethod>
<Amount>1</Amount>
</urn1:PlaatsOrder>
</soapenv:Body>
</soapenv:Envelope>
當我在肥皂上搜索互聯網時。 「plaatsorder」而不是「plaatsorderrequest」似乎是正確的方法。但我不相信soapui/java和.net都有錯。那麼任何人都可以向我解釋這個區別嗎?
能否請您發佈任何有關架構整個WSDL? – davidfmatheson