使用PHP soap函数的自定义头
我在使用PHP5获取自定义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
<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>