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 :

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 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 :

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 PortType :

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>
Dans Binding :

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à ! ^^