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

Services Web Java Discussion :

[AXIS] Consommer un service web PHP


Sujet :

Services Web Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut [AXIS] Consommer un service web PHP
    Bonjours à tous !

    Voilà mon probleme :

    je suis entrain de tester un web service entre java et php, "java" étant client et "php" serveur.

    du coté php aucun probleme, par contre du coté java, j'ai qq lacune sur l'utilisation d'un fonction.

    call.setOperationName

    j'ai beau lire et relire la java doc(axis), et faire des recherches sur le net, à part un sujet sur ce forum qui y ressemble, je n'ai pas encore trouver la réponse à ma question !

    question qui est : "pourquoi cette erreur ":

    org.xml.sax.SAXException: Bad envelope tag: definitions

    pour moi elle viens des parametre que je passe dans la méthode setOperationName.

    quelqu'un à une petite idée, une reférance sur laquelle je pourrai m'appuyé, ou bien directement un code source à me proposé !

    j'ai déjà consulter le doc axis, je m'appuie sur elle ! mais là rien à faire, pour la consommation, ya pas beaucoup d'info !

    merci !

  2. #2
    Membre confirmé

    Inscrit en
    Avril 2005
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 317
    Points : 553
    Points
    553
    Par défaut
    J'ai deja eu cette erreur lorsque l'url du webservice appelée est incorrecte.
    Pas sur ce que ce soit également ton pb...

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je te remercie pour l'info, mais j'y avais déjà pensé, et je suis "sur" de mon adresse....(malheureusement, j'aurai aimé que ce soit aussi simple....).

    mais si tu l'a déjà fais, tu n'aurai un petit code source à me donner histoire que je puisse m'appuier dessus !!! ce serai vraiment cool !

    en plus , je me demande aussi si c'est pas mon server php(enfin le service web déployer) qui pose probleme !!

  4. #4
    Membre confirmé

    Inscrit en
    Avril 2005
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 317
    Points : 553
    Points
    553
    Par défaut
    cf doc Axis : http://ws.apache.org/axis/java/user-guide.html
    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
     
    1   import org.apache.axis.client.Call;
    2   import org.apache.axis.client.Service;
    3   import javax.xml.namespace.QName;
    4   
    5   public class TestClient {
    6     public static void main(String [] args) {
    7       try {
    8         String endpoint =
    9             "http://ws.apache.org:5049/axis/services/echo";
    10  
    11        Service  service = new Service();
    12        Call     call    = (Call) service.createCall();
    13  
    14        call.setTargetEndpointAddress( new java.net.URL(endpoint) );
    15        call.setOperationName(new QName("http://soapinterop.org/", echoString"));
    16  
    17        String ret = (String) call.invoke( new Object[] { "Hello!" } );
    18  
    19        System.out.println("Sent 'Hello!', got '" + ret + "'");
    20      } catch (Exception e) {
    21        System.err.println(e.toString());
    22      }
    23    }
    24  }

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    je te remercie pour cette attention mais en faite c'est déjà avec cette doc que j'essai mon service web, malheureusement cela ne fonctionne pas, je me demande si ce n'ai pas un probleme php.

    sinon, pour celle ci j'ai du mal à comprendre la fonction (ou plutot les arguments à mettre) :

    call.setOperationName(new QName("http://soapinterop.org/", echoString"));

    tu serai me l'expliquer ?

  6. #6
    Membre habitué
    Inscrit en
    Janvier 2006
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 161
    Points : 168
    Points
    168
    Par défaut
    echoString est le nom de la méthode http://soapinterop.org correspond au namespace cf javadoc api axis.
    N'aurais tu pas plutot accès au wsdl de ton service web, ainsi tu pourrais utiliser des classes utilitaires d'axis pour accéder à ton service web, ce serait bcp plus simple et plus clean.

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    en effet j'ai accès au wsdl de mon service web.

    là tu minteresse beaucoup!... un petit exemple serai la bienvenue !

    je te remercie d'avance !

  8. #8
    Membre habitué
    Inscrit en
    Janvier 2006
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 161
    Points : 168
    Points
    168
    Par défaut
    désolé pour le délai de réponse, mais ce lien devrait t'aider
    http://ws.apache.org/axis/java/user-guide.html#WSDL2JavaBuildingStubsSkeletonsAndDataTypesFromWSDL
    il s'agit de générer des classes java permettant d'invoquer les "méthodes" du service web, ainsi les appels au service web se font de manière quasi transparente.
    Il faut entre autre utiliser la classe ServiceLocator pour appeler le service web, tu lui passes à un moment l'url de ton service web, puis il se charge d'appeler le service web correspondant...

    mais je peux pas tout détailler ici, la doc sur axis est bien faite, assez volumineuse, certes, mais explique bien le fonctionnement sous jacent du service web.

    bonne chance

Discussions similaires

  1. Créer et consommer un service web PHP en C#
    Par KibitO dans le forum Services Web
    Réponses: 5
    Dernier message: 21/07/2014, 16h40
  2. [Web Service] Client PHP pour consommer un service Web Java
    Par jof8dev dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 29/05/2012, 10h44
  3. consommer un service Web C # à partir de PHP
    Par ghost10 dans le forum Langage
    Réponses: 0
    Dernier message: 22/04/2010, 23h35
  4. Réponses: 4
    Dernier message: 20/03/2010, 18h38
  5. Consommer service web php en .NET
    Par Lope_ dans le forum Services Web
    Réponses: 1
    Dernier message: 19/02/2010, 09h04

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