任何人都知道为什么 mono wsdl 工具不喜欢这个 wsdl?微软解析它。XMethods 在线 wsdl 验证器对其进行解析。Mono 似乎不喜欢它,我也不知道为什么。
# the error
mmcaughan@mmcaughan-dsktop:~/Projects/sftest$ wsdl enterprise.wsdl
Web Services Description Language Utility
Mono Framework v2.0.50727.1433
生成代码时出现一些警告:
enterprise.wsdl - 此 Web 引用不符合 WS-I Basic Profile v1.1 R2718:描述中的 wsdl:binding 必须具有与其引用的 wsdl:portType 相同的一组 wsdl:operations。* 绑定“SoapBinding”,在服务描述“urn:enterprise.soap.sforce.com”中
写入文件'SforceService.cs'
相关的 WSDL 部分(我认为)
<!-- Soap PortType -->
<portType name="Soap">
<operation name="login">
<documentation>Login to the Salesforce.com SOAP Api</documentation>
<input message="tns:loginRequest"/>
<output message="tns:loginResponse"/>
<fault message="tns:LoginFault" name="LoginFault"/>
<fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
<fault message="tns:InvalidIdFault" name="InvalidIdFault"/>
</operation>
<!-- Soap Binding -->
<binding name="SoapBinding" type="tns:Soap">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="login">
<soap:operation soapAction=""/>
<input>
<soap:header use="literal" message="tns:Header" part="LoginScopeHeader"/>
<soap:body parts="parameters" use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
<fault name="LoginFault">
<soap:fault name="LoginFault" use="literal"/>
</fault>
<fault name="UnexpectedErrorFault">
<soap:fault name="UnexpectedErrorFault" use="literal"/>
</fault>
<fault name="InvalidIdFault">
<soap:fault name="InvalidIdFault" use="literal"/>
</fault>
</operation>