Soap WSDL复杂类型请求澄清

Soap WSDL复杂类型请求澄清,soap,wsdl,soapui,Soap,Wsdl,Soapui,我正在绞尽脑汁在WSDL文件中配置一个复杂类型,并在SOAP UI客户端中查看该复杂类型 在下面找到WSDL文件 <?xml version ='1.0' encoding ='UTF-8' ?> <wsdl:definitions name='Catalog' targetNamespace='http://website.net/websitesmsmobile' xmlns:tns='http://website.net/websitesmsmobile'

我正在绞尽脑汁在WSDL文件中配置一个复杂类型,并在SOAP UI客户端中查看该复杂类型

在下面找到WSDL文件

<?xml version ='1.0' encoding ='UTF-8' ?> 
<wsdl:definitions name='Catalog' 
  targetNamespace='http://website.net/websitesmsmobile' 
  xmlns:tns='http://website.net/websitesmsmobile' 
  xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' 
  xmlns:xsd='http://www.w3.org/2001/XMLSchema' 
  xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/' 
  xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' 
  xmlns='http://schemas.xmlsoap.org/wsdl/'> 

<types>
    <xsd:complexType name="xsd:parameter">
        <xsd:sequence>
            <xsd:element name="key" type="xsd:string"/>
            <xsd:element name="value" type="xsd:string"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="xsd:parameters">
     <xsd:complexType>
         <xsd:sequence>
             <xsd:element minOccurs="0" maxOccurs="1" name="parameter" type="tns:parameter"/>
         </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
</types>

<message name='callServerRequest'>
    <part name='methodName' type='xsd:string'/> 
  <part name='parameter' type='paramters'/> 
</message>

<message name='callServerResponse'> 
  <part name='response' type='xsd:string'/>
</message> 

<portType name='websitePortType'> 
  <operation name='callServer'> 
    <input message='tns:callServerRequest'/> 
    <output message='tns:callServerResponse'/> 
  </operation>
</portType> 

<binding name='websiteBinding' type='tns:websitePortType'> 
  <soap:binding
        style='rpc' 
    transport='http://schemas.xmlsoap.org/soap/http'
  /> 
  <operation name='callServer'> 
    <soap:operation soapAction='urn:website-net-websitesmsmobile#callServer'/> 
    <input> 
      <soap:body
                use='encoded'
                namespace='urn:website-net-websitesmsmobile' 
        encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> 
    </input> 
    <output> 
      <soap:body
                use='encoded'
                namespace='urn:website-net-websitesmsmobile' 
        encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> 
    </output> 
  </operation>
</binding> 

<service name='websiteService'> 
    <port name='websitePort' binding='websiteBinding'> 
    <soap:address location='http://localhost/smsmobile/server/smsmobile.php'/> 
  </port> 
</service>
</wsdl:definitions>

当我在SOAPUI中创建请求时,我会看到下面的内容

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:website-net-websitesmsmobile">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:callServer soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <methodName xsi:type="xsd:string">?</methodName>
      </urn:callServer>
   </soapenv:Body>
</soapenv:Envelope>

?
已成功生成字符串类型“methodName”。为什么请求中不生成复杂类型“参数”

WSDL文件中有什么错误?

(示例5.HTTP上请求-响应RPC操作的SOAP绑定)

在示例5中浏览上面的链接。您的模式定义在绑定时不正确,这就是它不能正确显示请求消息的原因