2010-02-22 12 views
0

J'ai créé les stubs de service Web à l'aide de wsdl2java.bat de axis2-1.5. Cela a créé un dossier src avec la structure suivante en elle:Impossible de consommer le service Web à partir de Java

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

Le paquet du fichier SessionIntegration.java est: net.mycompany.www.services de paquet; Maintenant, j'essaye d'employer ce bout dans mon code de Java. J'ai placé mon fichier java dans le même dossier de services. Je mets le même paquet. 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); 
    } 
    } 
} 

Alors j'ai essayé de compiler ce code avec la cmd suivante:

javac DynamicProxy.java 

Cependant, je continue à recevoir 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 

Toute idée Il me manque ici?

Mise à jour 1:

Je compila les talons (grâce aux réponses ci-dessous) et je me suis débarrassé de la première erreur. J'ai changé l'importation pour cette importation net.americanapparel.www.services. *; Cependant, je reçois toujours une erreur pour le SessionIntegrationStub: impossible de trouver le symbole. J'ai également essayé cette importation: net.americanapparel.www.services.SessionIntegrationStub, mais cela n'a pas aidé non plus. Y a-t-il autre chose qui me manque?

+0

Dans quel dossier (du dossier racine du projet) est 'SessionIntegrationStub' et si' SessionIntegrationStub' est compilé, où (dossier) est le fichier '.class' situé? –

+0

Tous les fichiers sont dans le même répertoire. – vikasde

Répondre

0

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

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

import net.mycompany.www.services.*; 

pas

import net.mycompany.www.services; 
+0

Merci, S'il vous plaît voir mon edit ci-dessus ** Mise à jour 1 **. – vikasde

0

Vous ne semblez pas importer.

import net.mycompany.www.services.SessionIntegrationStub; 

devrait faire l'affaire.

puis:

shell$ javac my/package/*.java 

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

+0

Merci, S'il vous plaît voir mon edit ci-dessus ** Mise à jour 1 **. – vikasde

+0

Ne fonctionne toujours pas. Je reçois les mêmes erreurs que dans la mise à jour 1. – vikasde

+0

Javac peut voir le paquet mais pas la classe. Cependant, je peux voir le fichier SessionIntegrationStub.class. Il me manque sûrement quelque chose ici. – vikasde