从PHP SOAP Client

时间:2016-01-04 21:47:52

标签: c# php soap dataset

我正在尝试使用第三方SOAP API。 api显然是用c#创建的,它使用数据集 - 即复杂的数据。

我的肥皂客户端是PHP。

我希望能够做到这样的事情:

class Person {
        function Person ($email) {
                $this->FieldName = SOME_CONSTANT;
                $this->FieldValue = $email;
                }
        }

$signOn = array("UserName" => "myUserName", "PassWord" => "myPassWord");

$sp = new SoapClient("https://lab6.xxxxxxxxxhost.com/xxxxxxxxx/gwwebgst.asmx?WSDL", $signOn);
$person = new Person ("joe@joeDomain.com");
$params = array("parintStart" => 0,
                "parintEnd" => 1000,
                "parstrSortBy" => 0,
                "parblnSortAsc" => true,
                "parOUTintCount" => 0,
                "pardstGST" => $person);

$ret = $sp->__soapCall("ReadGuestListSearch", array($params));

但是这给了我这样的反应: SoapFault异常:[soap:Server]服务器无法处理请求。 --->你调用的对象是空的。在GW01.php:27

我尝试了以下内容:

1)$ person作为数组('FieldName'=> ...'FieldValue'=> ...);同样的结果。

2)根据第三方的规范创建$ person作为XML字符串。同样的结果。

3)寻找一种将数据集构建为直接二进制数据的方法 - 我没有找到规格,但仍认为可能有效。

问题: a)有没有人有办法通过伪造的数据集从PHP到SOAP进行通信?

b)有人知道是否有必要吗?我有更简单的方法吗? (最终目标是传递第三方2条信息并获取适当的数据。)

我非常感谢任何指导或帮助!

提前致谢。

0 个答案:

没有答案