Пользовательский заголовок с помощью функций мыла PHP

У меня есть проблема, заставляя пользовательский заголовок мыла работать с 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);

Пустой указатель, кажется, не передает.. с 'пустым указателем' я все еще получаю пространство имен как во втором примере.. как исключить этот 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

8
задан hakre 2 January 2013 в 18:44
поделиться

1 ответ

В вашем примере вы создаете только одну запись SoapHeader (с пространством имен, но с именем «null»). Желаемый результат содержит две отдельные записи заголовка (без пространства имен), поэтому вы можете попробовать:

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

Затем вы передадите массив $ headers в вызов soap (напрямую или заранее через __setSoapHeaders ).

2
ответ дан 5 December 2019 в 21:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: