2017-07-27 7 views
0

PHPを使用してSOAPクライアントを作成していますが、消費に問題があります。 soapuiを使用して要求の直接XMLをテストすると、それはうまく応答して動作しますが、SoapClientクラスを使用するPHPでは、soapuiで使用するのと同じ資格情報が間違っています。soapui経由でxmlを使用していて、PHPでは使用できないSOAP

私はここで何が欠けているのか分かりません。 以下の私のコードは以下の下に私のPHP

$wsdl = "http://URL?wsdl"; 
$client = new SoapClient($wsdl, array('trace'=>1)); 

try 
{ 
$options = array(
'soap_version'=>SOAP_1_2, 
'exceptions'=>true, 
'trace'=>1, 
'cache_wsdl'=>WSDL_CACHE_NONE 
); 
$params = array(
    'User name' => 'apiuser', 
    'Password' => 'pword', 
    'Postcode' => 'EC2R 7HP' 

); 
$response = $client->retrieveProductsPricing($params); 
print_r($response); 
} 
catch(SoapFault $e) 
{ 
print_r($e); 

である私のXML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pric="http://upshot.co.uk/pricing_request_ws"> 
<soapenv:Header/> 
<soapenv:Body> 
<pric:retrieveProductsPricing> 
<username>apiuser</username> 
<password>pword</password> 
<postcode>EC2R 7HP</postcode> 
</pric:retrieveProductsPricing> 
</soapenv:Body> 
</soapenv:Envelope> 

あるこのSOAPクライアントを設定する私の最初の時間は、私は、私は潜在的にこの中にミスを犯していると確信しています。

+0

に同じキーを使用する必要がありますが、 ''ユーザー名であることを意味し、ユーザーのNAME'です'または' Username'? – Yolo

答えて

0

最初のコードを見てください:

<username>apiuser</username> 
<password>pword</password> 
<postcode>EC2R 7HP</postcode> 

あなたは配列

$params = array(
    'username' => 'apiuser', 
    'password' => 'pword', 
    'postcode' => 'EC2R 7HP' 
); 

Useful examples

+0

ああ、もちろん、集中力の欠如!ありがとう! – mrlew

関連する問題