SoapUI在消息中使用mesagename而不是operationname
我对由第三方提供的服务wsdl有问题。让我试着解释一下。以wsdl为例:SoapUI在消息中使用mesagename而不是operationname,soap,wsdl,soapui,Soap,Wsdl,Soapui,我对由第三方提供的服务wsdl有问题。让我试着解释一下。以wsdl为例: <wsdl:portType name="IBestelService"> <wsdl:operation name="PlaatsOrder"> <wsdl:input message="tns:PlaatsOrderRequest"/> <wsdl:output message="tns:PlaatsOrderResponse"/
<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 to)生成以下请求:
<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>
9789490998394
13188
特戈德
1.
但是,第三方站点的服务预计会出现这种情况
<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>
9789490998394
13188
特戈德
1.
当我在soap上搜索互联网时。“plaatsorder”而不是“plaatsorderrequest”似乎是正确的方式。然而,我不认为soapui/java和.net都有错。有人能给我解释一下区别吗?元素:
<wsdl:input message="tns:PlaatsOrderRequest"/>
将有一个关联的消息条目,如下所示:
<wsdl:message name="PlaatsOrderRequest">
<wsdl:part element="urn1:PlaatsOrderRequest" name="parameters" />
</wsdl:message>
假设这是一个文档/文字包装的服务(通常是这样的),则该元素名称指示包装的请求元素。我需要更明确的完整WSDL和模式。您可以自己在WSDL中进行更改。只要根据需要更换标签就很容易了。这会奏效的。
顺便说一下,您可以通过提供正确的wsdl来直接询问您的客户机。对他们来说,生成带有所需请求标记的wsdl是很容易的。你能用任何相关模式发布整个wsdl吗?我更正了第三方wsdl的本地副本,你的回答是正确的,知道要查找什么,我发现引用了此规则。我向第三方发出请求,以更正wdsl,使其符合预期的请求格式