0 votes

Impossible de consommer un webservice depuis Java

J'ai créé les stubs de webservice à l'aide du fichier wsdl2java.bat d'axis2-1.5. Cela a créé un dossier src avec la structure suivante :

src/net/mycompany/www/services/SessionIntegrationStub.java

Le package du fichier SessionIntegration.java est : package net.mycompany.www.services ;

J'essaie maintenant d'utiliser ce talon dans mon code Java. J'ai placé mon fichier java dans le même dossier services. J'ai défini le même package. Voici ma classe entière :

package net.mycompany.www.services;
import net.mycompany.www.services;

public class DynamicProxy 
{
  public static void main(String[] args) 
  {
    try 
    {
      SessionIntegrationStub stub = new SessionIntegrationStub();
      System.out.println(stub.getSessionIntegration("test"));
    }
    catch (Exception e) 
    {
      System.out.println(e);
    } 
  } 
}

Ensuite, j'ai essayé de compiler ce code avec le cmd suivant :

javac DynamicProxy.java

Cependant, je continue à obtenir ce message d'erreur :

C:\data\net\mycompany\www\services>javac DynamicProxy.java
DynamicProxy.java:9: cannot find symbol
symbol  : class SessionIntegrationStub
location: package net.mycompany.www.services
import net.mycompany.www.services.SessionIntegrationStub;
                                       ^
DynamicProxy.java:17: cannot find symbol
symbol  : class SessionIntegrationStub
location: class net.mycompany.www.services.DynamicProxy
                        SessionIntegrationStub stub = new SessionIntegrationStub();
                        ^
DynamicProxy.java:17: cannot find symbol
symbol  : class SessionIntegrationStub
location: class net.mycompany.www.services.DynamicProxy
                        SessionIntegrationStub stub = new SessionIntegrationStub();
                                                          ^
3 errors

Une idée de ce que j'ai manqué ici ?

Mise à jour 1 :

J'ai compilé les stubs (grâce aux réponses ci-dessous) et je me suis débarrassé de la première erreur. J'ai changé l'importation en ceci : import net.americanapparel.www.services.* ; cependant j'obtiens toujours une erreur pour le SessionIntegrationStub : cannot find symbol. J'ai également essayé cet import : net.americanapparel.www.services.SessionIntegrationStub, mais cela n'a pas aidé non plus. Y a-t-il autre chose qui m'échappe ?

0voto

ZeissS Points 4049

Vous devez compiler votre stub en premier ou les deux ensemble, puisque wsdl2java ne crée qu'un fichier .java et non le fichier .class fichier. L'erreur du compilateur indique clairement qu'il ne connaît pas le SessionIntegrationStub.

L'autre réponse est juste aussi : vous devez

import net.mycompany.www.services.*;

no

import net.mycompany.www.services;

0voto

extraneon Points 13362

Vous ne semblez pas l'importer.

import net.mycompany.www.services.SessionIntegrationStub;

devrait faire l'affaire.

et ensuite :

shell$ javac my/package/*.java

ce qui devrait permettre à javac de trouver ou compiler tous les fichiers dont il a besoin.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X