Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.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
使用php+发送arryofstring;努索普_Php_Soap - Fatal编程技术网

使用php+发送arryofstring;努索普

使用php+发送arryofstring;努索普,php,soap,Php,Soap,我有一个SOAP Web服务,它有一个名为newSettings的ArrayOfString字段,我试图使用nusoap将其作为一个普通字符串数组发送,但它不起作用,有什么建议吗 我的代码: $settings=array('password','composefontsize'); $param=array( 'EmailAddress'=> $userEmail, 'newSettings' => $settings ); $response=$this->client

我有一个SOAP Web服务,它有一个名为
newSettings
的ArrayOfString字段,我试图使用nusoap将其作为一个普通字符串数组发送,但它不起作用,有什么建议吗

我的代码:

$settings=array('password','composefontsize');
$param=array(
'EmailAddress'=> $userEmail,
'newSettings' => $settings 
);

$response=$this->client->call("GetRequestedUserSettings",$param);
我的XML请求:

<?xml version="1.0" encoding="ISO-8859-1"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns6388="http://tempuri.org">
<SOAP-ENV:Body><GetRequestedUserSettings xmlns="http://tempuri.org/">
<AuthUserName>admin</AuthUserName>
<AuthPassword>XXXX</AuthPassword>
<EmailAddress>xxx@xxx</EmailAddress>
<requestedSettings></requestedSettings>
</GetRequestedUserSettings>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>"

管理
XXXX
xxx@xxx
"


更新:我用
$settings=array('string'=>$value1,…)
修复了它;

您可以将soap调用包装成:

try { 
    // ... 
} catch (SoapFault $e) { 
    echo $e->faultcode; 
} 

这样,如果您不符合WSDL规范或服务器超时,您就会意识到问题。我相信这是使用SOAP时必须做到的。

Web服务接受请求,但newSettings标记为空,因此无法识别我的数组。我看到您已将其修复,恭喜您,解决方案应作为答案,以便您可以接受它。:)