<soap:Header>
<AuthenticationCredentials>
<tusa:Password>XXXXX</tusa:Password>
<tusa:Username>XXXXX</tusa:Username>
</AuthenticationCredentials>
</soap:Header>
がどのように私はのSOAPHeaderクラスにユーザー名とパスワードを渡すことができ考える
<?php
$xmlstr = <<<XML
<?xml version="1.0" encoding="UTF-8" ?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tusa="http://schemas.datacontract.org/2004/07/Tusa.Services.ConsumerConnect" xmlns:tem="http://tempuri.org/">
<soap:Header>
<AuthenticationCredentials>
<tusa:Password>XXXXX</tusa:Password>
<tusa:Username>XXXXX</tusa:Username>
</AuthenticationCredentials>
</soap:Header>
<soap:Body>
<tem:AddProduct>
<tem:CustomerDetail>
<tusa:AddressLine1>52 TEST DRIVE</tusa:AddressLine1>
<tusa:City>JOHANNESBURG</tusa:City>
<tusa:MaritalStatus>Unknown</tusa:MaritalStatus>
//more nodes
</tem:CustomerDetail>
</tem:AddProduct>
</soap:Body>
</soap:Envelope>
XML;
以下の形式のXMLファイルを持っています。私はコードの下に使用して試してみましたが、私は
認証資格が必要とされているエラー
try
{
$auth = array(
'Username'=>'XXXXX',
'Password'=>'XXXXX',
);
$client = new \SoapClient('https://test.com//Indirect.svc?wsdl', array('soap_version' => SOAP_1_2, 'trace' => 1));
$actionHeader = new \SoapHeader('http://www.w3.org/2005/08/addressing', Action', http://tempuri.org/IInDirect/AddProduct');
$client->__setSoapHeaders($actionHeader);
$response = $client->AddProduct($xmlstr);
}
catch (\Exception $e)
{
echo "Error!";
echo $e -> getMessage();
echo 'Last response: '. $client->__getLastResponse();
}
ような何かを探していると思うが取得しています[SoapHeader :: SoapHeader](http://php.net/manual/en/soapheader.soapheader.php) –
がドキュメントを理解できませんでした。あなたが提供したリンクを使ってこの作品を作るにはどうしたらいいですか? – jaahvicky