Bonjour je suis actuellement stagiaire dans une entreprise de la région parisienne, débutant total en SOAP, et j'ai dû développé une fonction qui lorsque je l'appelle me dit :
La fonction est bien présente dans la classe, avec la même orthographe :Uncaught SoapFault exception: [SOAP-ENV:Server] Procedure 'getTowns' not present
Code php : 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 public function getTowns($user=NULL, $cle=NULL, $infos=NULL) { // Global global $get_users_soap; // Check user / cle if (!isset($get_users_soap[ $user ]) || $cle != sha1($user . $get_users_soap[ $user ])) throw new SoapFault('0001', 'Authentification failed'); try { $result = array; $rq = "SELECT * FROM town_fr"; $rs = mysql_query($rq); while ($row = mysql_fetch_assoc($rq)) { $result[$row['cp']] = $row; } return $result; } catch(Exception $e) { throw new SoapFault('0000', 'Unknown fault'); } // Return error throw new SoapFault('0002', 'Error during selection'); }
enfin j'ai aussi modifié le WSDL :
Dans PortType :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <!-- getTowns() function --> <message name='getTowns_request'> <part name='user' type='xsd:string'/> <part name='cle' type='xsd:string'/> <part name='infos' type='xsd:array'/> </message> <message name='getTowns_response'> <part name='result' type='xsd:array'/> </message>
Dans Binding :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <!-- getTowns() function --> <operation name="getTowns"> <input message="getTowns_request"/> <output message="getTowns_response"/> </operation>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <!-- getTowns() function --> <operation name="getTowns"> <input> <soap:body use='encoded' namespace='urn:*****' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </input> <output> <soap:body use='encoded' namespace='urn:*****' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation>
Voilà, voilà, je suis totalement largué, là, je n'ai aucune idée d'où peut venir l'erreur, donc si quelqu'un a une idée, des questions à poser ou quoi que ce soit, ce serait avec plaisir et soulagement là ! ^^
Partager