Не могу использовать веб-сервис из Java - PullRequest
0 голосов
/ 22 февраля 2010

Я создал заглушки веб-сервиса, используя wsdl2java.bat от axis2-1.5. Это создало папку src со следующей структурой:

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

Пакет файла SessionIntegration.java: пакет net.mycompany.www.services;

Теперь я пытаюсь использовать эту заглушку в своем коде Java. Я поместил свой Java-файл в ту же папку служб. Я установил такой же пакет. Вот весь мой класс:

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);
    } 
  } 
}

Затем я попытался скомпилировать этот код с помощью следующего cmd:

javac DynamicProxy.java

Однако я продолжаю получать это сообщение об ошибке:

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

Есть идеи, что мне здесь не хватает?

Обновление 1:

Я собрал заглушки (благодаря ответам ниже) и избавился от первой ошибки. Я изменил импорт на этот импорт net.americanapparel.www.services. *; однако я все еще получаю ошибку для SessionIntegrationStub: не могу найти символ. Я также попробовал этот импорт: net.americanapparel.www.services.SessionIntegrationStub, но это тоже не помогло. Что-то еще мне не хватает?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2010

Вы, кажется, не импортируете его.

import net.mycompany.www.services.SessionIntegrationStub;

должен сделать трюк.

и затем:

shell$ javac my/package/*.java

, что должно позволить javac найти или скомпилировать все необходимые ему файлы.

0 голосов
/ 22 февраля 2010

Вы должны сначала скомпилировать свою заглушку или обе вместе, поскольку wsdl2java создает только файл .java, а не файл .class. Ошибка компилятора ясно говорит, что он не знает SessionIntegrationStub.

Другой ответ тоже правильный: вы должны

import net.mycompany.www.services.*;

не

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