1
我很难获得SOAP请求正常工作,这需要XML字符串作为输入。返回SOAP错误的PHP SOAP:服务器无法使用.asmx Web服务处理请求
它抛出
“SOAP错误:服务器无法处理请求--->值不能为空参数名:的”
不管我送什么投入,我有使用nusoap但无济于事,PHP肥皂库。 我使用的代码是:
<?
$aOptions = array(
'location' => 'http://webserviceurl.asmx',
'uri' => 'http://tempuri.org/',
"style" => SOAP_RPC,
"use" => SOAP_ENCODED
);
$client = new SOAPClient(null, $aOptions);
$request ='<item xmlns="rmsItem">
<columns>
<column>description</column>
<column>department</column>
<column>brand</column>
<column>lastsold</column>
<column>lastupdated</column>
<column>quantityonhand</column>
<column>weight</column>
</columns>
<filters>
<filter>
<filterColumn>quantityonhand</filterColumn>
<operator>greaterthan</operator>
<filterValue>20</filterValue>
</filter>
<filter>
<filterColumn>lastsold</filterColumn>
<operator>greaterthan</operator>
<filterValue>01-01-2005</filterValue>
</filter>
</filters>
<sortColumns>
<sortColumn>
<sortColumnName>lastsold</sortColumnName>
<sortType>ascending</sortType>
</sortColumn>
<sortColumn>
<sortColumnName>quantityonhand</sortColumnName>
<sortType>descending</sortType>
</sortColumn>
</sortColumns>
</item>';
//$result = $client->__soapCall('getAllInfo',array('infoRequestXml'=>(string)($request),'errorMessage'=>'') ,array('soapaction' => 'http://webserviceurl/getAllInfo'));
$soapvar = new SoapVar($request , XSD_ANYXML);
$params = array("infoRequestXml" => $soapvar);
//print_r($params);
//$result = $this->soapclient->__soapCall("SaveItem", array("parameters"=>$params), null, $this->soapheaders);
try
{
$result=$client->__soapCall('getAllInfo',array("parameters"=>$params),array('soapaction' => 'http://webserviceurl/getAllInfo'));
}
catch (SoapFault $e) {
echo "SOAP Fault: ".$e->getMessage()."<br />\n";
}
echo "<pre>\n";
echo htmlspecialchars($client->__getLastRequest())."\n";
echo "Response:\n".htmlspecialchars($client->__getLastResponse())."\n";
echo "</pre>";
var_dump($result);
?>
我敲我的头靠在从最近两天的墙壁,谷歌搜索这个问题,但没有得到答复,解决或指导我。
任何人都可以抛出一些光在此将不胜感激。 在此先感谢。
....非常感谢皮特。它的工作就像一个魅力。 ..你救了我的一天....如果你不介意我可以再问你一件事,你能指出我究竟是在做错什么,所以下一次我不要再把事情搞砸了。新的PHP SOAP场景...我如何从结果数组中访问我的结果XML ...再次感谢您宝贵的时间和想法...... –
我得到了响应工作,并在将Object转换回来之后一个数组并将该数组的所需元素传递给** simplexml_load_string()** ... –