Domanda

Sto cercando di usare JAX-WS classi generate (creati utilizzando wsimport) a chiamare un webservice tramite una connessione HTTPS dall'interno di un Java componente del server di applicazione Sybase EAServer 5.3 . Ottengo un'eccezione nel registro EAServer con la seguente come causa sottostante (Ho rimosso l'URL webservice).

2009-11-15 18:39:58,338: ALL [Thread-19] - Caused by: 
java.io.IOException: https://www.<my website url>.com:443: SCL profile 
allocation
2009-11-15 18:39:58,338: ALL [Thread-19] -  at 
com.sybase.jaguar.net.HttpsURLConnection.getInputStream(HttpsURLConnection.java:521)
2009-11-15 18:39:58,338: ALL [Thread-19] -  at 
java.net.URL.openStream(Unknown Source)
2009-11-15 18:39:58,338: ALL [Thread-19] -  at 
com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.createReader(RuntimeWSDLParser.java:804)
2009-11-15 18:39:58,338: ALL [Thread-19] -  at 
com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.resolveWSDL(RuntimeWSDLParser.java:262)
2009-11-15 18:39:58,338: ALL [Thread-19] -  at 
com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:129)
2009-11-15 18:39:58,338: ALL [Thread-19] -  ... 18 more

Sono abbastanza sicuro che questo è perché ho bisogno di impostare EAServer per accettare il certificato SSL di questo sito web. Il codice di connessione è di per sé tutti generati da JAX-WS quindi non sto in realtà la creazione del collegamento me stessa. Si svolge nelle classi generate.

Tutte le idee come configurare correttamente EAServer in modo che com.sybase.jaguar.net.HttpsURLConnection.getInputStream creare con successo una connessione HTTPS per il punto finale del webservice?

È stato utile?

Soluzione

Ho lavorato con il supporto di Sybase per ottenere questo risolto. Ha coinvolto l'aggiornamento EAServer di utilizzare il provider di protezione solare al posto del Sybase uno. all'interno del Jaguar.props abbiamo aggiornato le opzioni JVM per essere:

com.sybase.jaguar.server.jvm.options=-Djava.protocol.handler.pkgs=sun.security.provider.Sun|com.sun.net.ssl.internal.ssl

In questo modo, esso uso il provider di protezione Sole e mi sono fermato ricevendo il messaggio SCL profile allocation.

Dopo aver fatto questo ho cominciato a ricevere NullPointerExceptions dalla classi JAX-WS nel registro (che ho confermato era legato a la configurazione di JAX-WS per l'uso all'interno EAServer, niente a che fare con l'SSL Webservice).

ho dovuto aggiungere la mia generato vaso webservice stub (che ho creato utilizzando wsimport) per la proprietà Jaguar.props com.sybase.jaguar.server.java.classes

Ho anche aggiunto questa generato stub vaso e le librerie di runtime JAX-WS alle proprietà 2 Jaguar.props com.sybase.jaguar.server.jvm.bootclasspath.jars e com.sybase.jaguar.server.jvm.classpath.jars

Poi ho copiato le librerie di runtime JAX-WS e il mio webservice generato jar stub alla directory e tutto C:\Sybase\EAServer\java\lib ha iniziato a lavorare come un campione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top