Appel d'un web service en php VersionMismatch, Wrong Version
Bonjour à tous,
Voilà après deux jours de recherche intense :zoubi:, je fais appelle à vous.
J'ai trouvé pas mal d'info sur mon errreur mais rien qui puisse la régler.
Donc je dois appeler un web service en php, lorsque j'envoie ma requête, j'ai cette erreur.
Code:
1 2
|
Fatal error: SOAP Fault: (faultcode: VersionMismatch, faultstring: Wrong Version) in XXX/XXXX/XXXXX/testWS.php on line 50 |
La ligne 50 correspond à
Code:
1 2
|
trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR); |
WSDL
Code:
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
|
<xsd:element name="memberChoiceRequest">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="federal" minOccurs="1" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:length value="7"></xsd:length>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="birthdate" minOccurs="0" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:length value="8"></xsd:length>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="controlDate" minOccurs="0" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:length value="8"></xsd:length>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="rl" minOccurs="1" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="F"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="memberChoiceResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="returnmessage" type="schemamutas:returnmessage" maxOccurs="1" minOccurs="1"></xsd:element>
<xsd:element name="memberList" type="schemamutas:member" maxOccurs="unbounded" minOccurs="0"></xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element> |
Et voici le code php
Code:
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
|
// Nouveau Client SOAP
try {
// Nouvelle instance de la classe soapClient
$client = new SoapClient(
$wsdl,
array(
'location' => $wsdl,
'cache_wsdl' => WSDL_CACHE_NONE,
'user_agent' => __FUNCTION__,
'trace' => 1, //The trace option enables tracing of request so faults can be backtraced
'exceptions' => 1, //The exceptions option is a boolean value defining whether soap errors throw exceptions of type SoapFault.
'allow_self_signed' => 1, // For https
'proxy_host' => $proxy,
'proxy_login' => $user_proxy,
'proxy_password' => $pass_proxy,
'proxy_port' => $port_proxy,
'soap_version'=>'soap_1_2' //j'ai rajouté ceci en pensant que c'était là l'erreur
)
);
$method = 'memberChoice';
$param = array ('federal' => "20120708", 'birthdate'=> "2909373", 'controlDate' => "20120802", 'rl'=>"N"); // memberChoice method
// $method = 'insurabilityValid';
//$param = array ('federal' => $federal, 'birthdateTwin'=> '201207080', 'nationalNumber'=>'02070832154', 'titPach'=>'P' , 'controlDate' => '20120801', 'rl'=>'N'); // isInsurabiltyValid method
// Appel de la méthode du service web
$oReturn = $client -> __soapCall($method, $param);
} catch (SoapFault $fault) {
trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR);
} |
Quelq'un aurai une idée ?
Merci d'avance !