私は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は、機能が非常に制限されているVB6SOAPクライアントライブラリで読み取る必要があります。