私はサードパーティのAPIを使用して残高をリクエストしています。私は別の試行で数多くのエラーが発生していますが、私は近くにいることを知っています。ここでは、コールのための私のコードです...SOAP PHPリクエストエラー
<?php
try {
$wsdl_url = 'https://www.domain.com/SOAP?wsdl';
$UserID = 'UserID';
$Pwd= 'Password';
$client = new SOAPClient($wsdl_url);
$headerbody = array(
'UsernameToken'=>array('Username'=>$UserID,
'Password'=>$Pwd));
//Create Soap Header.
$header = new SOAPHeader('wsse', 'Security', $headerbody);
//set the Headers of Soap Client.
$client->__setSoapHeaders($header);
//$client->__getLastResponse();
$BalanceInquiryRequest->AccountNo="7777700020";
$BalanceInquiryRequest->RetailerId="0123";
$getBalance = $client->balanceInquiry($BalanceInquiryRequest);
print_r($getBalance);
} catch (SoapFault $fault) {
echo $fault->faultcode . "-" . $fault->faultstring;
//echo "REQUEST:\n" . htmlentities($client->__getLastRequest()) . "\n";
}
?>
これの出力は...
ENVである:ここではサーバーのjava.lang.NullPointerException
とは、要求のためのXMLです。..
<soapenv:Envelope xmlns:req="http://domain.com" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="0" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-1">
<wsse:Username>Username</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Password</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">5Ht+O9hKvAEXhNJZSTLg==</wsse:Nonce>
<wsu:Created>2012-03-27T15:31:01.792Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<req:BalanceInquiryRequest>
<req:AccountNo>7777700020</req:AccountNo>
<req:RetailerId>0123</req:RetailerId>
</req:BalanceInquiryRequest>
</soapenv:Body>
</soapenv:Envelope>
エラーはJavaエラーです。つまり、サーバー側でコードが失敗しています。サーバー側をデバッグする方法はありますか?これには、あなたが納得していないパラメータや、元の開発者が修正する必要があるSOAP APIソースコードのバグ、またはSOAP APIが正しく処理されません。 – mellamokb
お返事ありがとうございます。残念ながら、これは第三者のAPIなので、私はアクセス権がありません。また、SOAPUIでこれをテストしたところ、うまく動作していたので、私は間違っています。アカウント番号は間違っていますが、XMLベースのエラー応答が必要です。 –
Fiddler(http://www.fiddler2.com/fiddler2/)のようなツールを試して、SOAPUIのリクエストをPHPのリクエストと比較できますか? – mellamokb