SoapUI在消息中使用mesagename而不是operationname

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有问题。让我试着解释一下。以wsdl为例:

<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,使其符合预期的请求格式