Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP soap函数的自定义头_Soap_Soap Client_Php - Fatal编程技术网

使用PHP soap函数的自定义头

使用PHP soap函数的自定义头,soap,soap-client,php,Soap,Soap Client,Php,我在使用PHP5获取自定义soap头时遇到问题。谁能给我指路吗 我需要的是这样的东西 <SOAP-ENV:Header> <USER>myusername</USER> <PASSWORD>mypassword</PASSWORD> </SOAP-ENV:Header> Null似乎没有通过。。使用“null”时,我仍然会得到名称空间,如第二个示例中所示。。如何排除此NS。。。提前谢谢你的帮助 $header

我在使用PHP5获取自定义soap头时遇到问题。谁能给我指路吗

我需要的是这样的东西

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

Null似乎没有通过。。使用“null”时,我仍然会得到名称空间,如第二个示例中所示。。如何排除此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():无效参数。无效的命名空间。在第29行的/usr/home/deepesh/SoapCalls/deepesh7.php中


在您的示例中,您只创建了一个SoapHeader条目(具有名称空间,但命名为“null”)。您想要的结果包含两个单独的头条目(没有名称空间),因此您可以尝试:

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

然后,您将
$headers
数组传递给soap调用(直接或预先通过)。

我需要类似的东西,并且能够使用XSD_ANYXML SoapVar来实现这一点:

    $auth = "<username>$username</username>";
    $auth .= "<password>$password</password>";
    $auth_block = new SoapVar( $auth, XSD_ANYXML, NULL, NULL, NULL, NULL );

    $header = new SoapHeader( 'http://schemas.xmlsoap.org/soap/envelope/', 'Header', $auth_block );
    $soap_client->__setSoapHeaders( $header );
$auth=“$username”;
$auth.=“$password”;
$auth_block=newsoapvar($auth,XSD_ANYXML,NULL,NULL,NULL);
$header=新的SoapHeader('http://schemas.xmlsoap.org/soap/envelope/“,”标题“,$auth_块);
$soap_client->__setSoapHeaders($header);
这导致:

<SOAP-ENV:Header>
   <username>12345</username>
   <password>12</password>
</SOAP-ENV:Header>

12345
12

谢谢!!救了我一天!
    $auth = "<username>$username</username>";
    $auth .= "<password>$password</password>";
    $auth_block = new SoapVar( $auth, XSD_ANYXML, NULL, NULL, NULL, NULL );

    $header = new SoapHeader( 'http://schemas.xmlsoap.org/soap/envelope/', 'Header', $auth_block );
    $soap_client->__setSoapHeaders( $header );
<SOAP-ENV:Header>
   <username>12345</username>
   <password>12</password>
</SOAP-ENV:Header>