1
SOAPリクエストを正しく取得するのが難しく、入力としてXML文字列が必要です。SOAPエラーを返すPHP SOAP:サーバーが.asmx Webサービスでリクエストを処理できませんでした。
それは投げ
「SOAP障害:サーバーは要求を処理できませんでした。--->値はnullにすることはできません。パラメータ名:S」
関係なく、私が送る何を入力、私は持っていませんnusoapを使用しましたが、PHPソープライブラリは使用できません。 私が使用しているコードは次のとおりです。私は最後の2日間から壁に頭を叩いてい
<?
$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);
?>
、この問題のためにグーグルを検索するが、解決したり、私を通じガイドno答えを得ません。
これについて少し気をつけることができる人は、非常に高く評価されます。 ありがとうございます。
....どうもありがとうピート...それは魅力のように働きました。 ..あなたは私の一日を救った...もしあなたがもう一つ物事を尋ねることができれば、実際に私が間違っていたことを次に指摘することはできますか?このPHP SOAPシナリオの新機能...結果の配列から結果のXMLにアクセスする方法...貴重な時間と考えに感謝しています。 –
返されたオブジェクトを変換した後、配列の要素を** simplexml_load_string()**に渡します –