Что может вызвать недоступное восприятие? - PullRequest
5 голосов
/ 02 декабря 2010

Я обновляю некоторые клиенты веб-сервисов в несколько старых Java-приложений для вызова стороннего веб-сервиса axis2. Мне был предоставлен файл wsdl, поэтому я разработал jar, содержащий клиент для этой службы, как описано в следующем (моем) посте: Клиент JAX-WS: какой правильный путь для доступа к локальному WSDL .

Он работает в некоторых приложениях, но не в других, где он генерирует inaccessibleWSDLException в момент создания экземпляра прокси-класса. Ниже я разместил свой файл каталога jax-ws:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system">
    <system systemId="http://localhost/wsdl/SOAService.wsdl" uri="wsdl/SOAService.wsdl"/>
    <system systemId="http://schemas.xmlsoap.org/soap/encoding/" uri="wsdl/schemas.xmlsoap.org/soap/encoding.xsd"/>
    <system systemId="http://www.w3.org/2005/05/xmlmime" uri="wsdl/www.w3.org/2005/05/xmlmime.xsd"/>
</catalog>

Он всегда работает внутри моей среды разработки (netbeans \ ecplise в зависимости от проекта, который я обновляю) и серверов (tomcat \ Jboss 4 \ jar с тестовым классом).

Не работает, когда:

  • Я запускаю банку из командной строки или
  • Я загружаю jar в процесс livecycle 8.0 (работает на jboss 4.0)

В обоих случаях выдает ошибку: «InaccessibleWSDLException», в частности на livecycle, я получаю следующую ошибку:

2010-12-01 12:20:47,420 ERROR [com.adobe.workflow.AWS] stalling action-instance: 9989 with message: com.sun.xml.ws.wsdl.parser.InaccessibleWSDLException: 2 counts of InaccessibleWSDLException.

java.net.ConnectException: Connection refused
java.net.ConnectException: Connection refused

        at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:172)
        at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:144)
        at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:254)
        at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:217)
        at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:174)
        at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:104)
        at javax.xml.ws.Service.<init>(Service.java:56)
        at com.ibm.eci.soaservice.SOAService.<init>(SOAService.java:50)

Что означает это исключение? Он не может найти wsdl или его часть? Не может найти библиотеку? Он не может получить доступ к Интернету (wsdl содержит некоторые внешние xsd)?

Ответы [ 2 ]

6 голосов
/ 10 февраля 2011

Это означает, что livecycle 8.0 не использует или не находит jax-ws-catalog.xml, поэтому среда выполнения jaxws пытается загрузить WSDL из буквального расположения, указанного в заглушке клиента, то есть из http://localhost/wsdl/SOAService.wsdl вместо просмотра сопоставления, предоставленного в jax-ws-catalog.xml, и использования WSDL из jar приложения.

Подсказка:

java.net.ConnectException: соединение отклоненоjava.net.ConnectException: в соединении отказано

, что говорит мне, что среда выполнения jaxws пытается получить доступ к WSDL через http.

Где вы положили свой файл jax-ws-catalog.xml?может быть для livecycle, его нужно поместить куда-то еще, кроме директории META-INF в JAR.

Я думаю, вам нужно опубликовать этот вопрос на форумах livecycle.

Поскольку команда не работаетстрока, это немного странно, как именно вы запускаете его из командной строки.

0 голосов
/ 09 февраля 2016

Кажется, он ищет файл сертификата, пожалуйста, посмотрите, какой сертификат был. Загрузите этот сертификат, перезагрузите сервер и попробуйте.

С уважением, Шридхар Горанти

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