Soap 使用默认值缩短WSDL语法

Soap 使用默认值缩短WSDL语法,soap,wsdl,Soap,Wsdl,我是WSDL语法的新手,所以我只是以一种非常基本的方式使用它,例如 <message name="ping_Request"> </message> <message name="ping_Response"> <part name="response" type="xsd:string" /> </message> <message name="auth_Request"> <part name="user

我是WSDL语法的新手,所以我只是以一种非常基本的方式使用它,例如

<message name="ping_Request">
</message>
<message name="ping_Response">
  <part name="response" type="xsd:string" />
</message>

<message name="auth_Request">
  <part name="username" type="xsd:string" />
  <part name="password" type="xsd:string" />
</message>
<message name="auth_Response">
  <part name="response" type="xsd:string" />
</message>

<portType name="ping_PortType">
  <operation name="ping">
    <input message="tns:ping_Request" />
    <output message="tns:ping_Response" />
  </operation>
</portType>

<portType name="auth_PortType">
  <operation name="auth">
    <input message="tns:auth_Request" />
    <output message="tns:auth_Response" />
  </operation>
</portType>

<binding name="auth_Binding" type="tns:auth_PortType">
  <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
  <operation name="auth">
    <soap:operation soapAction="auth"/>
    <input>
      <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:auth_NameSpace"/>
    </input>
    <output>
      <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:auth_NameSpace"/>
    </output>
  </operation>
</binding>

<service name="info_Service">
  <port binding="tns:ping_Binding" name="ping_Port">
    <soap:address location="https://service.example.com/info/info.php"/>
  </port> 
  <port binding="tns:auth_Binding" name="auth_Port">
    <soap:address location="https://service.example.com/info/info.php"/>
  </port> 
</service>

我发现我自己为任何新函数复制和粘贴了这些块,只修改了相关的关键字,因此,即使对于数量相对较少的函数,我最终也得到了相当长的WSDL

通过使用WSDL默认值,是否可以通过删除不必要的或重复的参数将此语法缩短到最小


注意:此WSDL必须由VB6 soap客户端库读取,该库的功能非常有限。

我希望您知道soap工具包是多么过时。例如,比VB6更过时。你可以用.NET语言编写你的客户端,使用“添加服务引用”,然后将你的客户端作为COM对象公开,VB6或任何类似的东西都可以使用它。谢谢你,我不是VB开发人员,所以我对它知之甚少。我会将此信息传递给负责客户端的VB6开发人员。