我是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客户端库读取,该库具有非常有限的功能。