[PHP][SOAP] Impossible d'accéder à une méthode
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 :
Citation:
Uncaught SoapFault exception: [SOAP-ENV:Server] Procedure 'getTowns' not present
La fonction est bien présente dans la classe, avec la même orthographe :
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
| 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 :
Code:
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 PortType :
Code:
1 2 3 4 5
| <!-- getTowns() function -->
<operation name="getTowns">
<input message="getTowns_request"/>
<output message="getTowns_response"/>
</operation> |
Dans Binding :
Code:
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à ! ^^