Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SOAP和PHP SoapClient请求错误-不正确或缺少id号_Php_Soap_Soap Client - Fatal编程技术网

SOAP和PHP SoapClient请求错误-不正确或缺少id号

SOAP和PHP SoapClient请求错误-不正确或缺少id号,php,soap,soap-client,Php,Soap,Soap Client,一般来说,我对SOAP请求还不熟悉,经常会遇到错误,但没有结果。尝试通过卷曲偶数连接。我知道这不是正确的方法,但我想绕过内置的SoapClient函数PHP。下面是我正在尝试的代码 $client = new SoapClient("http://www.four51.com/services/User.asmx?op=Save"); $params = array( 'Users' => array(

一般来说,我对SOAP请求还不熟悉,经常会遇到错误,但没有结果。尝试通过卷曲偶数连接。我知道这不是正确的方法,但我想绕过内置的SoapClient函数PHP。下面是我正在尝试的代码

            $client = new SoapClient("http://www.four51.com/services/User.asmx?op=Save");

        $params = array(
            'Users' => array(
                    'UserProperties' => array(
                        'UserInteropID' => '',
                        'CompanyInteropID' => $company,
                        'UserName' => $username,
                        'FirstName' => $first,
                        'LastName' => $last,
                        'PhoneNumber' => '',
                        'Email' => $email,
                        'Password' => $first,
                        'Active' => true,
                        'TermsAccepted' => true,
                    ),
                    'SharedSecret' => $secret
                ),
            );

        $result = $client->Save($params);
        var_dump($result);
对不起,如果这个问题与另一个问题类似。我找不到一个能回答我问题的答案


谢谢您的帮助。

SoapClient构造函数的第一个参数是
wsdl
位置,在您的例子中是
http://www.four51.com/services/User.asmx?WSDL

$client = new SoapClient("http://www.four51.com/services/User.asmx?WSDL");

为了加快请求速度,您应该将其保存在本地。

如果您发布了错误,这会有所帮助。您是否正在使用SOAP(一种协议)并尝试将其用作REST API?我可以理解为什么,但如果API是SOAP,那么就不要再考虑绕过
SoapClient
业务,而是接受SOAP是一种恐怖。返回的错误是:“SOAP:Server无法处理请求。-->id参数“”不正确或缺失。不幸的是,API是SOAP。我没有编写它,只是试图通过它连接和更新信息。是的,我也尝试过,但仍然收到错误,“致命错误:未捕获的SoapFault异常:[soap:Server]服务器无法处理请求。-->userModel.php(288):SoapClient->uu调用('Save',Array)#1 userModel.php(288):SoapClient->Save(Array)#2 userModel->approvedMsg('22')#3{main}在userModel.php中抛出。我是不是应该叫“Save”?@scatzz88你说得对。添加
array('trace'=>1)
作为
SoapClient
构造函数的第二个参数,并调用
$client->\uu getLastResponse()
进行调试。也许
UserInteropID
不能为空?所以我更改了$client=newsoapclient(“four51.com/services/User.asmx?WSDL”),数组('trace'=>1));并且还提供了UserInteropID和PhoneNumber,但是我收到了完全相同的错误。该错误来自服务器。据我所知,您的
$params
格式正确。也许它不喜欢一些提供的价值。很难说有这么神秘的信息。这可能是因为需要告诉SoapClient我要使用哪一个版本,1.1还是1.2?我相信1.2允许空字符串。这些服务允许任何一种。