带PHP SoapClient的SOAP请求(嵌套标头)

g0c00l.g33k

我正在尝试生成下面的肥皂头

<SOAP-ENV:Header>
<RequesterCredentials xmlns="urn:ebay:api:PayPalAPI" xsi:type="ebl:CustomSecurityHeaderType">
<Credentials xmlns="urn:ebay:apis:eBLBaseComponents" xsi:type="ebl:UserIdPasswordType">
<Username>api_username</Username>
<Password>api_password</Password>
<Signature>api_signature</Signature>
<Subject>authorizing_account_emailaddress</Subject>
</Credentials>
</RequesterCredentials>
</SOAP-ENV:Header>

参考:https : //developer.paypal.com/webapps/developer/docs/classic/api/PayPalSOAPAPIArchitecture/

我正在尝试做一些下面的事情来生成这个结构,

$credentialsHeader = new SoapHeader("urn:ebay:apis:eBLBaseComponents", "Credentials",
                     array(
                            "Username : username.user.name",
                            "Password : password",
                            "Signature : signature",
                            "Subject : my_email_id"
                                             ));
$requesterCredential = new SoapHeader("urn:ebay:api:PayPalAPI", "RequesterCredentials", $credentialsHeader);

$client->__setSoapHeaders(array($requesterCredential));

但是我得到一个错误:

{main}Authentication failed. API credentials are incorrect.

我假设我在形成标题的方式上做错了什么?对此有一些见解或帮助会很棒。

拉泽克

应该是这样的:

 $credentialsHeader = new SoapHeader("urn:ebay:apis:eBLBaseComponents", "Credentials",
                 array(
                        "Username"  => "username.user.name",
                        "Password"  => "password",
                        "Signature" => "signature",
                        "Subject" => "my_email_id"
                                         ));
$requesterCredential = new SoapHeader("urn:ebay:api:PayPalAPI", "RequesterCredentials", $credentialsHeader);
$client->__setSoapHeaders(array($requesterCredential));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章