Отладка по шагам Web-сервиса

Тема в разделе "Lotus + Java + LS2J", создана пользователем ankass, 11 апр 2011.

  1. ankass

    ankass Гость

    Имеется Web-сервис провайдер (на Яве), из его wsdl получаем консюмер.
    Далее подгружаем к агенту(Ява) этого консюмера как библиотеку.
    Работаем.

    Далее вносим изменения в провайдер, пересоздаем консюмера, переподтягиваем его в агент.

    Запускаем агента и получаем ошибку (на картинке).

    Для ее устранения мне приходится пересоздавать агента, тащить в него код из предыдущего, переподключать консюмера.
    Есть ли более простой путь?
     

    Вложения:

  2. ankass

    ankass Гость

    Можно ли подсунуть код web-сервис провайдера для отладки?
    Попытка на рисунке не удалась.
     

    Вложения:

    • _______.JPG
      _______.JPG
      Размер файла:
      93,6 КБ
      Просмотров:
      24
  3. ankass

    ankass Гость

    (Не, про вэб-сервис не она (если я не ошибся ))

    Имеется примерно такой код агента

    import lotus.domino.*;
    import java.io.BufferedInputStream;
    public class TestWSJ extends AgentBase {
    AnswerS b= new AnswerS();
    public void NotesMain() {

    try {
    Session session = getSession();
    AgentContext agentContext = session.getAgentContext();
    // sleep(10000);
    System.out.println("Вызываем сервис");
    // (Your code goes here)
    TestDoc stub = new TestDocServiceLocator().getDomino();
    b=stub.getDoc();
    System.out.println(b.getDocUnid()+ " Unid");
    System.out.println(b.getSuccess()+ " Success");

    } catch(Exception e) {
    e.printStackTrace();
    }
    }
    }

    примерно такой текст провайдера

    import lotus.domino.*;
    import lotus.domino.types.*;
    import java.util.*;
    public class TestDoc{
    public AnswerS getDoc(){
    AnswerS answer=new AnswerS();
    answer.docUnid = "";
    answer.success = answer.success + "Ошибка в модуле Main";
    return answer;
    }
    }

    где

    public class AnswerS {
    public String docUnid;
    public String success;
    }

    При запуске вэб-сервиса в консоль пишется примерно такое:

    java.lang.ClassCastException: java.util.ArrayList incompatible with AnswerS
    at DominoSoapBindingStub.getDoc(DominoSoapBindingStub.java:10)
    at TestWSJ.NotesMain(TestWSJ.java:15)
    at lotus.domino.AgentBase.runNotes(Unknown Source)
    at lotus.domino.NotesThread.run(Unknown Source)

    В общем не возвращает ответ, не смотря на тип значения, возвращаемого функцией вэб-сервиса.
    Даже если это просто String или int.
    Пакет util.* вроде указан, но видимо этого мало. Куда копать?
     
Загрузка...

Поделиться этой страницей