使用PHP使用SOAP complexType Web服务

使用PHP使用SOAP complexType Web服务,php,web-services,soap,complextype,Php,Web Services,Soap,Complextype,好了,伙计们,有件事困扰了我好几天。我有一些带有comlextype的Web服务,需要在PHP中使用 Web服务的外观如下所示: <s:element name="VerifySession"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="request" type="tns:VerificationRequest"/> </s:seque

好了,伙计们,有件事困扰了我好几天。我有一些带有comlextype的Web服务,需要在PHP中使用

Web服务的外观如下所示:

<s:element name="VerifySession">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="request" type="tns:VerificationRequest"/>
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="VerificationRequest">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="SessionKey" type="s:string"/>
<s:element minOccurs="1" maxOccurs="1" name="ApplicationID" type="s1:guid"/>
</s:sequence>
</s:complexType>

$token
值已经已知,因此没有问题。

如何编写正确的代码?因为您总是会遇到这样的异常:“异常:[soap:Server]服务器无法处理请求。-->对象引用未设置为对象的实例”故障排除的第一步是,使错误消息在问题中可见。此外,错误通常带有行号,请在代码示例中突出显示错误发生的位置。这将使阅读您的问题的其他用户更容易看到您真正关心的问题。对于“如何编写正确的代码?”这个问题,通常会问,它也通常会回答:编写正确的代码。所以最好弄清楚你对什么特别感兴趣。否则其他用户很难跟上你。
try {
  $info = $soapClient->__call("SignIn", array($ap_param));
  $search_query = new StdClass();
  $search_query->oVerificationRequest = new StdClass();
  $search_query->oVerificationRequest->SessionKey = $token;
  $search_query->oVerificationRequest->ApplicationID = "00000000-0000-0000-0000-000000000000";

  $info = $soapClient -> VerifySession($search_query);
} catch (SoapFault $fault) {  
      echo "ERROR" .$fault;
}