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

Bibliothèques et frameworks PHP Discussion :

[Web Service] la consommation d'un web service


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Points : 4
    Points
    4
    Par défaut [Web Service] la consommation d'un web service
    Bonjour,
    je viens d'inscrire sur ce site afin d'avoir de l'aide sur un petit projet que je suis entrain de réaliser ,j'ai déjà mis en place le fichier WSDL le problème que je rencontre c'est au niveau du fichier client

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
     
    $wsdl="http://127.0.0.1:8888/word/wp-content/nouveau dossier/converti.wsdl";
    $service=new SoapClient($wsdl);
     
    $taballservices=$service->getAllServiceSummaries();
     
    print($taballservices);
     
    ?>
    merci d'avance

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    quelle est l'erreur ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Fatal error: Uncaught SoapFault exception: [Client] Function ("getAllServiceSummaries") is not a valid method for this service in C:\Documents and Settings\yes\Mes documents\wordpress\wp-content\Nouveau dossier\yep.php:12 Stack trace: #0 C:\Documents and Settings\yes\Mes documents\wordpress\wp-content\Nouveau dossier\yep.php(12): SoapClient->__call('getAllServiceSu...', Array) #1 C:\Documents and Settings\yes\Mes documents\wordpress\wp-content\Nouveau dossier\yep.php(12): SoapClient->getAllServiceSummaries() #2 {main} thrown in C:\Documents and Settings\yes\Mes documents\wordpress\wp-content\Nouveau dossier\yep.php on line 12

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    fait un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<pre>', printr_r($service->__getFunctions(), true), '</pre>';

  5. #5
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    je dois juste le rajouter dans le code ou le mettre à la place de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $taballservices=$service->getAllServiceSummaries();
     
    print($taballservices);

  6. #6
    Membre à l'essai
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 15
    Points
    15
    Par défaut réponse et question plus poussé
    Bonjour sergeberge,
    voila le code qui devrais fonctionner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    $wsdl="http://127.0.0.1:8888/word/wp-content/nouveau dossier/converti.wsdl";
    $service=new SoapClient($wsdl);
    echo '<pre>', print_r($service->__getFunctions(), true), '</pre>';
    ?>
    Pour ma part j'arrive à lister les WS de mon WSDL distant parcontre je ne sais pas résoudre l'erreur que j’obtiens lors de l'appel d'un WS particulier.

    Liste des WS (fonctionnel)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php 
                    // On désactive la mise en cache du wsdl (pour le test)
                    ini_set('soap.wsdl_cache_enabled', 0);
    				// Instanciation du client SOAP
    				$client = @new SoapClient("http://my.dalyo.com/server/services/Data?wsdl");
    				echo '<pre>', print_r($client->__getFunctions(), true), '</pre>';
                    ?>
    Appel du WS_getDump
    1- extrait du wsdl disponible ici: http://my.dalyo.com/server/services/Data?wsdl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <xs:element name="WS_getDump"><xs:complexType><xs:sequence>
    <xs:element minOccurs="0" name="request" nillable="true" type="ns1:DataRequest"/>
    </xs:sequence></xs:complexType>
    <xs:complexType name="DataRequest"><xs:sequence>
    <xs:element minOccurs="0" name="appId" type="xs:int"/><xs:element minOccurs="0" name="login" nillable="true" type="xs:string"/>
    <xs:element minOccurs="0" name="password" nillable="true" type="xs:string"/>
    <xs:element minOccurs="0" name="tableId" type="xs:int"/>
    </xs:sequence></xs:complexType>
    2- Mon code php pour l'appel du WS_getDump
    Code : 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
     
    <?php
    				// On désactive la mise en cache du wsdl (pour le test)
    				ini_set('soap.wsdl_cache_enabled', 0);
     
    				try {
    					// Instanciation du client SOAP
    					$client = @new SoapClient("http://my.dalyo.com/server/services/Data?wsdl");
    				    echo '<pre>', print_r( $client->WS_getDump(appId,'login','password',tableId), true), '</pre>';//en remplacent les arguments par les vrais valeurs
    					}
    				catch (Exception $e)
    				{
    					//TODO  Traitement en cas d'exception, pour l'instant on l'affiche tel quel...
    					echo $e;
    				}
    				?>
    Erreur retourné:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SoapFault exception: [HTTP] Internal Server Error in C:\wamp\www\ABC\Sanstitre-3.php:26
    Stack trace:
    #0 [internal function]: SoapClient->__doRequest('__call('WS_getDump', Array)
    #2 C:\wamp\www\ABC\Sanstitre-3.php(26): SoapClient->WS_getDump('appId', 'login', 'password', 'tableId')
    #3 {main}
    J'espère être clair car a force de tester des fonctions, syntaxe, etc je ne sais plus comment debug le tout.
    Dans l'espoir d'une réponse pouvant m'éclairer,
    merci d'avance

    Chaftcbr

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    fait pas de @new c'est ignoble,
    que rend le __getFunctions ?

  8. #8
    Membre à l'essai
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    Merci pour la réponse.
    Alors pour le @new j'ai vu cela quelque part donc j'ai tester dsl c'est enlevé

    voici le retour du _getfonction
    Code : 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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Array
    (
        [0] => WS_QueryResponse WS_Query(WS_Query $parameters)
        [1] => WS_getLastAddedResponse WS_getLastAdded(WS_getLastAdded $parameters)
        [2] => WS_reactivateDataResponse WS_reactivateData(WS_reactivateData $parameters)
        [3] => WS_getDumpResponse WS_getDump(WS_getDump $parameters)
        [4] => WS_assignDataResponse WS_assignData(WS_assignData $parameters)
        [5] => WS_purgeBeforeDateResponse WS_purgeBeforeDate(WS_purgeBeforeDate $parameters)
        [6] => WS_QueryCsvResponse WS_QueryCsv(WS_QueryCsv $parameters)
        [7] => WS_QueryJsonResponse WS_QueryJson(WS_QueryJson $parameters)
        [8] => WS_getLastUpdatedResponse WS_getLastUpdated(WS_getLastUpdated $parameters)
        [9] => WS_unassignDataResponse WS_unassignData(WS_unassignData $parameters)
        [10] => WS_purgeResponse WS_purge(WS_purge $parameters)
        [11] => WS_getLastRemovedResponse WS_getLastRemoved(WS_getLastRemoved $parameters)
        [12] => WS_sendRecordsResponse WS_sendRecords(WS_sendRecords $parameters)
        [13] => WS_QueryResponse WS_Query(WS_Query $parameters)
        [14] => WS_getLastAddedResponse WS_getLastAdded(WS_getLastAdded $parameters)
        [15] => WS_reactivateDataResponse WS_reactivateData(WS_reactivateData $parameters)
        [16] => WS_getDumpResponse WS_getDump(WS_getDump $parameters)
        [17] => WS_assignDataResponse WS_assignData(WS_assignData $parameters)
        [18] => WS_purgeBeforeDateResponse WS_purgeBeforeDate(WS_purgeBeforeDate $parameters)
        [19] => WS_QueryCsvResponse WS_QueryCsv(WS_QueryCsv $parameters)
        [20] => WS_QueryJsonResponse WS_QueryJson(WS_QueryJson $parameters)
        [21] => WS_getLastUpdatedResponse WS_getLastUpdated(WS_getLastUpdated $parameters)
        [22] => WS_unassignDataResponse WS_unassignData(WS_unassignData $parameters)
        [23] => WS_purgeResponse WS_purge(WS_purge $parameters)
        [24] => WS_getLastRemovedResponse WS_getLastRemoved(WS_getLastRemoved $parameters)
        [25] => WS_sendRecordsResponse WS_sendRecords(WS_sendRecords $parameters)
        [26] => WS_QueryResponse WS_Query(WS_Query $parameters)
        [27] => WS_getLastAddedResponse WS_getLastAdded(WS_getLastAdded $parameters)
        [28] => WS_reactivateDataResponse WS_reactivateData(WS_reactivateData $parameters)
        [29] => WS_getDumpResponse WS_getDump(WS_getDump $parameters)
        [30] => WS_assignDataResponse WS_assignData(WS_assignData $parameters)
        [31] => WS_purgeBeforeDateResponse WS_purgeBeforeDate(WS_purgeBeforeDate $parameters)
        [32] => WS_QueryCsvResponse WS_QueryCsv(WS_QueryCsv $parameters)
        [33] => WS_QueryJsonResponse WS_QueryJson(WS_QueryJson $parameters)
        [34] => WS_getLastUpdatedResponse WS_getLastUpdated(WS_getLastUpdated $parameters)
        [35] => WS_unassignDataResponse WS_unassignData(WS_unassignData $parameters)
        [36] => WS_purgeResponse WS_purge(WS_purge $parameters)
        [37] => WS_getLastRemovedResponse WS_getLastRemoved(WS_getLastRemoved $parameters)
        [38] => WS_sendRecordsResponse WS_sendRecords(WS_sendRecords $parameters)
    )

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    t'as pas de fonction getAllServiceSummaries donc c'est normale qu'au début ça ne marchai pas pour le reste je t'invite a allé voir la doc de wordpress pour voir la liste des arguments

  10. #10
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    merci pour vos réponses j'ai plus d'erreur et j'ai commencé à voir les choses plus clair merci encore.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 15
    Points
    15
    Par défaut Google is not my friend
    Bonjour stealth35,

    J'ai cherché des informations sur la fonction getAllServiceSummaries mais sans réel résultat.
    Comme tu peut le voir j'arrive a lister les WS avec le __getFonctions() mais je ne sais pas comment faire appel au Web Service présent dans le serveur "Dalyo" définit ici http://my.dalyo.com/server/services/Data?wsdl . J'ai pu voir beaucoup de code php avec différents appels tel que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ---
    $client->Fonction_Name($params);
    ---
    $client->__Call("Fonction_Name", $params);// Call est obsolète
    ---
    $client->__soapCall("Fonction_Name", $params);
    Le dernier est celui qui me revoie l'erreur la plus optimiste
    SoapFault exception: [soapenv:Server] Exception occurred while trying to invoke service method WS_Query in C:\wamp\www\ABC\index.php:88
    Stack trace:
    #0 C:\wamp\www\ABC\index.php(88): SoapClient->__soapCall('WS_Query', Array)
    #1 {main}

    Peut-tu m'indiquer la syntaxe de l'utilisation de la fonction getAllServiceSummaries?
    ou plus simple l'url de la doc.

    Voici le code de ma page:
    Code : 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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <ul>
               		<li>
    				<?php 
                    // On désactive la mise en cache du wsdl (pour le test)
                    ini_set('soap.wsdl_cache_enabled', 0);
    				// Instanciation du client SOAP
    				$client = @new SoapClient("http://my.dalyo.com/server/services/Data?wsdl");
    				//echo '<pre>', print_r($client->__getFunctions(), true), '</pre>';
    				echo '<pre>', print_r($client->__getFunctions(), true), '</pre>';
                    ?>
                    </li>
     
                    <li>
     
    				<?php
     
    				// On désactive la mise en cache du wsdl (pour le test)
    				ini_set('soap.wsdl_cache_enabled', 0);
     
    				try {
    				// Instanciation du client SOAP
    				$client = new SoapClient('http://my.dalyo.com/server/services/Data?wsdl',
    											array(
    												// Stuff for development.
    												'trace' => 1,
    												'exceptions' => true,
    												'cache_wsdl' => WSDL_CACHE_NONE,
    												'features' => SOAP_SINGLE_ELEMENT_ARRAYS,
     
    												// Auth credentials for the SOAP request.
    												'login' => 'xxxx',
    												'password' => 'xxxx'
    												)
    										);
    				$XML = '<Query> <Select all="true"/> </Query>';
    				$param = array(3235,"xxxx","xxxx",$XML,5);
    				$retour_ws = $client->__soapCall('WS_Query', $param);
    				echo '<pre>',$retour_ws, '</pre>';
    				}
    				catch (Exception $e)
    				{
    					//TODO  Traitement en cas d'exception, pour l'instant on l'affiche tel quel...
    					echo '<pre>',$e, '</pre>';
    				}
    				?>
                    </li></ul>
    Je n'ai pas de classe ou de public fonction est-ce la mon problème?
    ou peut ètre la syntaxe...

    Je début dans le monde de la programmation et je te remerci du temp passé a me répondre
    Chaftcbr

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    tu fais toujours la meme chose le ignoble @ new, et le intitule soapCall

  13. #13
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    pareil moi aussi j'ai le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Array
    (
        [0] => getconvertiResponse getconverti(getconverti $request)
    )
    sachant que j'ai utilisé ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ini_set('soap.wsdl_cache_enabled', 0);
     
    $wsdl="http://127.0.0.1:8888/word/wp-content/nouveau dossier/converti.wsdl";
    $service=new SoapClient($wsdl);
    echo '<pre>',print_r($service->__getFunctions(), true),'</pre>';
    ?????????

  14. #14
    Membre à l'essai
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 15
    Points
    15
    Par défaut SoapCall
    sergeberge
    Cela semble correct pour le __getFunctions().
    J'ai un problème avec la consommation du web service implémenté,
    dans ton cas ce serait faire appel à getconcertiResponse
    dans mon cas c'est WS_Query ou WS_getDump ou n'importe quel autres mais je n'ai en retour que des erreurs.

    stealth35
    J'ai testé les web service via SOAPUI4.0.1 j'obtiens de bon résultat avec la requette WS_getDump cela me retourne le contenue de la table désiré.

    mais j'ai deux problèmes
    1- Je n'arrive pas a convertir les tests de SOAPUI en code utilisable.
    2- Je n'arrive pas a passer une requête XML en argument.

    stealth35 je suis dsl je devais être fatigué le @new est une erreur de copier/coller.


    Code : 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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?php 
                    // On désactive la mise en cache du wsdl (pour le test)
                    ini_set('soap.wsdl_cache_enabled', 0);
    				// Instanciation du client SOAP
    				$client = new SoapClient("http://my.dalyo.com/server/services/Data?wsdl");
    				//echo '<pre>', print_r($client->__getFunctions(), true), '</pre>';
    				echo '<pre>', print_r($client->__getFunctions(), true), '</pre>';
                    ?>
                    </li>
     
                    <li><?php
     
    				// On désactive la mise en cache du wsdl (pour le test)
    				ini_set('soap.wsdl_cache_enabled', 0);
     
    				try {
    				// Instanciation du client SOAP
    				$client_ws = new SoapClient('http://my.dalyo.com/server/services/Data?wsdl',
    											array(
    												// Stuff for development.
    												'trace' => 1,
    												'exceptions' => true,
    												'cache_wsdl' => WSDL_CACHE_NONE,
    												'features' => SOAP_SINGLE_ELEMENT_ARRAYS,
     
    												// Auth credentials for the SOAP request.
    												'login' => 'XXXX',
    												'password' => 'XXXX'
    												)
    										);
    				$XML = '<Query> <Select all="true"/> </Query>';
    				$param = array(3235,"XXXX","XXXX",5);
    				$retour_ws = $client_ws->__soapCall('WS_Query', $param);
    				echo '<pre>',$retour_ws, '</pre>';
    				}
    				catch (Exception $e)
    				{
    					//TODO  Traitement en cas d'exception, pour l'instant on l'affiche tel quel...
    					echo '<pre>',$e, '</pre>';
    				}
    				?>
    erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Call to a member function __soapCall() on a non-object in C:\wamp\www\ABC\index.php on line 88

  15. #15
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    dsl mais j'ai pas bien saisi ce que je dois changer mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ini_set('soap.wsdl_cache_enabled', 0);
     
    $wsdl="http://127.0.0.1:8888/word/wp-content/nouveau dossier/converti.wsdl";
    $service=new SoapClient($wsdl);
    echo '<pre>',print_r($service->__getFunctions(), true),'</pre>';
    pour réussi à voir une valeur dans la réponse ??

  16. #16
    Membre à l'essai
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    sergeberge
    alos le code que tu affiche (celons moi) fonctionne correctement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // Désactivation de la mise en cache du wsdl (pour les tests)
    ini_set('soap.wsdl_cache_enabled', 0);
     
    //initialisation de la variable $wsdl avec l'url 
    $wsdl="http://127.0.0.1:8888/word/wp-content/nouveau dossier/converti.wsdl";
    //Création de $service variable de classe SoapClient qui fournit un serveur pour les protocoles » SOAP 1.1 et » SOAP 1.2 , avec en paramètre l'url du wsdl
    $service=new SoapClient($wsdl);
    
    
    //Cette commande ce décompose en 3 partie
    echo '<pre>',print_r($service->__getFunctions(), true),'</pre>';
    Rouge = mise en page
    Vert = affichage avec la fonction print_r(1 argument,1 second argument)
    Bleu $service est de classe soap client et tu lui demande ( $service->) d'effectuer une requête (__getFunctions) qui retourne la liste des méthodes disponible dans ton wsdl.

    Le retour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Array
    (
        [0] => getconvertiResponse getconverti(getconverti $request)
    )
    est approprié.

    hésite pas a me le dire si une partie de mon explication n'est pas claire.

  17. #17
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    merci pour l'explication alors comme j'ai bien compris le résultat est dû à mon fichier WDSL, ou je dois ajouter une spécification dans mon code ???

  18. #18
    Membre à l'essai
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 15
    Points
    15
    Par défaut SoapCall
    Je n'ai pas réellement répondu a t'as question mais c'est car je me pause la même question. Nous arrivons à lister les méthodes de notre fichier wsdl mais pas a avoir de retour sans erreur.

    Pour faire appel a une méthode j'ai vu lors de mes recherches qu'il y a plusieurs façon d’appeler une méthode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $retour_ws=$client->Fonction_Name($params);
    ---
    $retour_ws=$client->__soapCall("Fonction_Name", $params);
     
    //teste avec cela
     
    $wsdl="http://127.0.0.1:8888/word/wp-content/nouveau dossier/converti.wsdl";
    $service=new SoapClient($wsdl);
    $params= XXXX; // remplace les XXX par le paramètre à transmettre a ta fonction
    $retour_ws=$service->__soapCall("getconvertiResponse", $params);
    echo '<pre>',$retour_ws, '</pre>';
    Pour ma part c'est la que je bloque...

    Si quelqu'un peut nous aider ce serais sympas...(le sujet et pas vraiment résolue)

  19. #19
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    c'est inutile de faire des __soapCall

  20. #20
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    j'ai pas mis soapCall mais j'ai une erreur pour le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $retour_ws=$client->Fonction_Name($params);
    Undefined variable: soapclient in C:\Documents and Settings\yes\Mes documents\wordpress\wp-content\Nouveau dossier\yep.php on line 1

Discussions similaires

  1. Client .Net consommant web service en php
    Par Tsubasa dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 05/05/2007, 09h58
  2. Consommation service Web sous Vista
    Par sandre dans le forum C#
    Réponses: 14
    Dernier message: 16/03/2007, 19h11
  3. [AXIS] Consommer un service web PHP
    Par Nicoin dans le forum Services Web
    Réponses: 7
    Dernier message: 18/02/2006, 16h43
  4. Comment consommer un web service en java
    Par Vins83 dans le forum Services Web
    Réponses: 1
    Dernier message: 16/01/2006, 23h33
  5. [WebServices] consommer des services web ?
    Par Nycos62 dans le forum Services Web
    Réponses: 3
    Dernier message: 12/04/2005, 13h13

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