IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML/XSL et SOAP Discussion :

[PHP][SOAP] Impossible d'accéder à une méthode


Sujet :

XML/XSL et SOAP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Par défaut [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 :

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

  2. #2
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    Quelle version de PHP as tu ?

    Que te renvoie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SoapServer::getFunctions();
    ?

    ERE

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Par défaut
    Merci de t'y intéresser !

    Voici ce que cela me renvoie :
    getTowns est bien là :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    array(6) {
      [0]=>
      string(59) "UNKNOWN getLevel(string $user, string $cle, UNKNOWN $infos)"
      [1]=>
      string(60) "UNKNOWN getLesson(string $user, string $cle, UNKNOWN $infos)"
      [2]=>
      string(62) "UNKNOWN getStudents(string $user, string $cle, UNKNOWN $infos)"
      [3]=>
      string(70) "UNKNOWN getAuthentification(string $user, string $cle, UNKNOWN $infos)"
      [4]=>
      string(62) "UNKNOWN getPackages(string $user, string $cle, UNKNOWN $infos)"
      [5]=>
      string(71) "UNKNOWN getTowns(string $cp, string $user, string $cle, UNKNOWN $infos)"
    }

  4. #4
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    Peux tu passer ton wsdl complet stp et ton code d'appel ?
    Je ne sais pas comment tu appelles ta fonction, mais n'as tu pas un souci d'URL ?

    ERE

Discussions similaires

  1. Réponses: 9
    Dernier message: 29/10/2008, 23h17
  2. accéder à une méthode de l'ActionForm depuis une jsp
    Par bags1509 dans le forum Struts 1
    Réponses: 2
    Dernier message: 25/02/2008, 13h42
  3. Réponses: 6
    Dernier message: 12/02/2008, 14h56
  4. Réponses: 3
    Dernier message: 04/04/2007, 08h45
  5. Accéder à une méthode depuis un form
    Par the java lover dans le forum Windows Forms
    Réponses: 8
    Dernier message: 06/03/2007, 21h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo