我需要创建一个如下所示的 SOAP 请求:

<soapenv:Body>
<getItemsForProject>
   <token>
      <user>?</user>
      <password>?</password>
   </token>
   <projectId></projectId>
   <start>0</start>
   <count>0</count>
</getItemsForProject>
</soapenv:Body>

该操作预计:
[209] => struct getItemsForProject {
 wsAuth token;
 long projectId;
 int start;
 int count;
}

我尝试了以下但继续点击 PHP Fatal error: SOAP-ERROR: Encoding: object has no 'start' property
我知道可以像这样创建 token 对象,因为我已经将它用于另一个操作:
$auth->token = new \stdClass;
$auth->token->user = $username;
$auth->token->password = $password;

但是,对 'start' 参数执行类似操作失败并显示致命错误消息。这是代码的一部分:
$opts = new \StdClass;
$opts->projectId = 123;
$opts->start = 0;
$opts->count = 0;

$resp = $soap->getItemsForProject($auth, $opts);

echo $soap->__getLastRequest() ."\n";

我无法使用 $soap->__getLastRequest() 打印完整的 soap 请求,因为它在发出请求之前返回致命错误。同样,我不能在 var_dump() 上使用 $resp,因为它在执行该行之前就死了。我怎么知道实际发送的是什么?!如果我知道这一点,那么我可以更轻松地调试它。

谢谢,
ns

最佳答案

尝试这样的事情:

$myClass->token = new \stdClass;
$myClass->token->user = $username;
$myClass->token->password = $password;

$myClass->projectId = 123;
$myClass->start = 0;
$myClass->count = 0;


$resp = $soap->getItemsForProject($myClass);

关于php - SOAP 错误 : Encoding: Object has no property,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11866425/

10-14 22:19