java InvocationTargetException при вызове веб-службы из апплета - PullRequest
1 голос
/ 19 января 2011

У меня есть локальный веб-сервис, который я хочу вызвать из апплета. Я создал необходимый код обработки сервиса, используя wsimport и сервис wsdl. Я проверил, что клиент java и служба .Net работают правильно из моей IDE.

Поэтому я собираю код, подписываю его и помещаю на веб-страницу. Я вызываю апплет из JavaScript. Я добавил метод helloWorld (), чтобы подтвердить, что апплет загружается и JS может получить к нему доступ. Когда я звоню в веб-сервис, код не улавливает никаких исключений. Вместо этого страница получает ошибку. Когда я проверяю, что это, это исключение целевого вызова.

Я добавил несколько системных вызовов, и он умирает здесь:

ServiceEndpoint authService = new ServiceEndpoint(
   new URL(serviceURL),
   new QName(serviceNamespace, serviceName)

Класс, который он вызывает, был создан с помощью wsimport. ServiceName и т. Д. - это строки, которые передаются. Когда я смотрю на сгенерированный код для этого класса, он создает экземпляр своего суперкласса javax.xml.ws.Service.

Я в тупике. Может ли быть так, что javax.xml.ws.Service недоступен для браузеров? Я бы подумал, что в этом случае будет исключение не найденный класс.

Спасибо за любую помощь.

1 Ответ

1 голос
/ 20 января 2011

Я нашел проблему, но это подводит меня к новому вопросу. Сначала ответ. Мне нужно было перевести мой звонок в веб-сервис в:

AccessController.doPrivileged(new PrivilegedAction<Object>()
{
  public Object run()
  {
    try
    {
       // Do my stuff here
    }
  }
}

Чего я не понимаю, так это почему. Веб-служба, которую я вызываю, находится на том же сервере, с которого загружен апплет. Возможно ли, что сгенерированные wsimport классы, которые я использую для доступа к веб-службе, делают то, о чем я не знаю?

Рад, что нашел работу, не рад, что не понимаю, почему.

Любые мысли или иллюзии были бы фантастическими.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...