PHP sabun fonksiyonları kullanarak özel başlık

1 Cevap soap

Ben PHP5 ile çalışmak için özel bir sabun başlık almak bir sorun yaşıyorum. Herkes bana lütfen rehberlik eder.

Ne gerektiren böyle bir şeydir

<SOAP-ENV:Header>
  <USER>myusername</USER>
  <PASSWORD>mypassword</PASSWORD>
</SOAP-ENV:Header>  

Ne olsun:

<SOAP-ENV:Header>
  <ns2:null>
    <USER>myusername</USER>
    <PASSWORD>mypassword</PASSWORD>
  </ns2:null>
</SOAP-ENV:Header> 

I would like to remove the namespace tags. The code I use to get this is:

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);

Boş ile .. geçmek görünmüyor 'null' ben hala ... Şimdiden yardımlarınız için teşekkürler bu NS dışlamak nasıl .. ikinci örnekte olduğu gibi isim alanı olsun ..

$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);

Ölümcül hata: SoapHeader :: SoapHeader (): Geçersiz parametreler. Geçersiz ad. hat 29 / usr/home/deepesh/SoapCalls/deepesh7.php in

1 Cevap

Sizin örnekte, yalnızca bir SoapHeader (ad ile değil, 'null') adlı girişi yaratıyor. İstediğiniz sonucu (ad olmadan) iki ayrı başlık girdileri içerir, böylece deneyebilirsiniz:

$headers = array();
$headers[] = new SoapHeader(NULL, 'USER', $auth->USER);
$headers[] = new SoapHeader(NULL, 'PASSWORD', $auth->PASSWORD);

Daha sonra sabun çağrısı (ya doğrudan, ya da ayarlıyoruz __setSoapHeaders yoluyla) için $headers dizi geçerdi.