Bonjour,

Je suis en train de créer un client pour communiquer avec un web services, mais je suis bloqué sur une erreur d'authentification.
Voici le code de test que j'ai :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?php
 
// la requête soap
$data='POST /API/API.asmx HTTP/1.1
Host: api.xxx.net
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/GetHotels"
 
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetHotels xmlns="http://tempuri.org/">
      <request>
        <AGENTINFO>
          <AGENT_ID>xxx</AGENT_ID>
          <AGENT_PWD>xxx</AGENT_PWD>
        </AGENTINFO>
        <PASSENGERLIST>
          <PASSENGER>
            <ID>1000</ID>
            <TITLE>titre1</TITLE>
            <LASTNAME>lastname1</LASTNAME>
            <FIRSTNAME>firstname1</FIRSTNAME>
            <PASSTYPE>ADT</PASSTYPE>
            <DOB>12.02.1990</DOB>
            <GENDER>MR</GENDER>
          </PASSENGER>
          <PASSENGER>
            <ID>1001</ID>
            <TITLE>titre2</TITLE>
            <LASTNAME>lastname2</LASTNAME>
            <FIRSTNAME>firstname2</FIRSTNAME>
            <PASSTYPE>ADT</PASSTYPE>
            <DOB>05.11.1980</DOB>
            <GENDER>MR</GENDER>
          </PASSENGER>
        </PASSENGERLIST>
        <TOWNCODE>Alanya</TOWNCODE>
        <CHECKINDATE>02.11.2015</CHECKINDATE>
        <CHECKOUTDATE>10.11.2015</CHECKOUTDATE>
        <HOTELCODE>BA</HOTELCODE>
        <LANGUAGECODE>ENG</LANGUAGECODE>
      </request>
    </GetHotels>
  </soap:Body>
</soap:Envelope>';
 
	// connexion au web services
	$wsdl="http://api.xxx.net/API/API.asmx?WSDL";
	$user="xxx";
	$pwd="xxx";
 
	try{
	$auth = array(
		'login' => $user,
		'password' => $pwd,
		"authentication" => SOAP_AUTHENTICATION_BASIC,
		"trace" => true,
		"exceptions" => 0,
		"cache_wsdl" => WSDL_CACHE_NONE
	);
	 $sClient = new SoapClient($wsdl, $auth);
	echo "<h2>TRY response</h2>";
	// récupération de la réponse
	 $response = $sClient->GetHotels($data);
	 echo "<form><TEXTAREA readonly rows=20 cols=132>";
	print_r($response);
	echo "</TEXTAREA></form>";
 
	} 
 
	// récupération de l'erreur
	catch(SoapFault $e){
	echo "<h2>CATCH response</h2>";
 
	echo "<form><TEXTAREA readonly rows=20 cols=132>";
	print_r($e);
	echo "</TEXTAREA></form>";
	}
 
?>