设置 SOAP 客户端中的参数格式


Formatting Arguments in Soap Clients

仍然在我的头上。不要太刻薄!

我正在连接到从PHPSoapClientASP API,并且在将参数传递给其中一个方法时遇到问题。也就是说,我收到了失败的结果并能够成功解析它们(谢谢@AbraCadaver!),所以我没有吠错树 - 只是爬错了!我还可以确认在 API 页面上手动输入密钥有效,因此我得到了正确的数据。

根据以下 WSDL,我是否正确格式化了安全密钥?

我的PHP:

$loginResult = $soapClient->Login($securityKey);

他们的WSDL:

<s:element name="Login">
    <s:complexType>
        <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="SecurityKey" type="s:string"/>
        </s:sequence>
    </s:complexType>
</s:element>

FWIW,从他们的 API 页面:

Login 
This function authenticates the user.
Parameters (* required):
SecurityKey*:   Security Key

简单的答案,只是我知道 0 的东西。两件事:

  1. Login()函数需要一个数组
  2. 上述 WSDL 中的 SecurityKey 元素需要通过相应的键在该数组中赋值。

这对我有用:

$loginResult = $soapClient->Login(array('SecurityKey' => $securityKey));