カスタム SOAP ヘッダーを PHP5 で動作させるのに問題があります。誰でも私を案内してもらえますか。
私が必要とするのはこのようなものです
<SOAP-ENV:Header>
<USER>myusername</USER>
<PASSWORD>mypassword</PASSWORD>
</SOAP-ENV:Header>
私が得るものは:
<SOAP-ENV:Header>
<ns2:null>
<USER>myusername</USER>
<PASSWORD>mypassword</PASSWORD>
</ns2:null>
</SOAP-ENV:Header>
名前空間タグを削除したいと思います。これを取得するために使用するコードは次のとおりです。
class Authstuff {
public $USER;
public $PASSWORD;
public function __construct($user, $pass) {
$this->USER = $user;
$this->PASSWORD = $pass;
}
}
$auth = new Authstuff('myusername', 'mypassword');
$param = array('Authstuff' => $auth);
$authvalues = new SoapVar($auth,SOAP_ENC_OBJECT);
$header = new SoapHeader('http://soapinterop.org/echoheader/',"null",$authvalues);
Nullは合格していないようです..「null」を使用しても、2番目の例のように名前空間を取得できます..このNSを除外する方法...事前にご協力いただきありがとうございます..
$headers = array();
$headers[] = new SoapHeader(null, 'USER', $username);
$headers[] = new SoapHeader(null, 'PASSWORD', $password);
$client->__setSoapHeaders($headers);
try {
$result = $client->getAvailableLicensedDNCount('ASX01');
print_r($result);
致命的なエラー: SoapHeader::SoapHeader(): 無効なパラメータです。名前空間が無効です。/usr/home/deepesh/SoapCalls/deepesh7.php の 29 行目