2010-12-02 7 views
4

Je suis en train de mettre à jour certains clients du service Web dans certaines anciennes applications Java pour appeler un service Web tiers d'axe2. J'ai été fourni avec un fichier wsdl, donc j'ai développé un pot contenant le client à ce service comme décrit dans le message suivant (mine): JAX-WS client : what's the correct path to access the local WSDL?.Qu'est-ce qui pourrait causer une inacceptiblewsdlexception?

Il fonctionne sur certaines applications mais pas dans d'autres où il lance un inaccessibleWSDLException au moment de l'instanciation de la classe proxy. Ci-dessous j'ai posté mon dossier JAX catalogue-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> 

Il travaille toujours dans mes environnements de développement (NetBeans \ ecplise selon le projet, je suis mise à jour) et serveurs (tomcat \ Jboss 4 \ jar avec une classe de test).

Il ne fonctionne pas lorsque:

  • je lance le pot de la ligne de commande ou
  • je charge le pot dans un processus de livecycle 8.0 (fonctionne sur jboss 4.0)

En les deux cas donne l'erreur: "InaccessibleWSDLException", en particulier sur le cycle de vie j'obtiens l'erreur suivante:

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) 

Que signifie cette exception? Il ne peut pas trouver le wsdl ou un morceau de celui-ci? Il ne peut pas trouver une bibliothèque? Il ne peut pas accéder au web (le wsdl contient une importation de xsd externe)?

Répondre

4

Cela signifie que livecycle 8.0 n'utilise pas ou de ne pas trouver JAXWS-catalog.xml, de sorte que les JAXWS run-time tente de charger le WSDL à partir de l'emplacement littéral mentionné dans le stub client, soit de http://localhost/wsdl/SOAService.wsdl au lieu de regarder le mappage fourni dans jax-ws-catalog.xml et d'utiliser le WSDL à partir de votre jar d'application.

L'indice est le

java.net.ConnectException: Connexion refusée java.net.ConnectException: Connexion refusée

qui me dit que l'exécution de JAXWS tente d'accéder au WSDL sur http.

Où mettez-vous votre jax-ws-catalog.xml? peut être pour le cycle de vie, il doit être placé ailleurs, en plus du répertoire META-INF du JAR.

Je pense que vous devez poser cette question sur les forums livecycle.

Pour ne pas travailler à partir de la ligne de commande, c'est un peu étrange, comment exactement l'exécuter à partir de la ligne de commande.

+0

Merci pour votre conseil, je pensais qu'il était dû aux xsd importés de wsdl. N'ayant pas assez de temps pour enquêter (comme d'habitude), j'ai "travaillé" pour faire un client avec axis2, qui n'interroge pas wsdl à chaque fois qu'un proxy est instancié. Une autre astuce pourrait être LiveCycle est une application entrprise fonctionnant sur jboss, tandis que mon jar a bien fonctionné sur les applications web fonctionnant sur Tomcat.Je vais poster une question sur les forums d'adobe pour ma propre curiosité. –

0

Semble qu'il recherche un fichier de certificat, vérifiez dans quel certificat il se trouvait. A téléchargé ce certificat, redémarrez votre serveur, puis essayez.

Cordialement, Sridhar Goranti

Questions connexes