Pergunta

Estou tentando usar as classes geradas pelo JAX-WS (criadas usando o WSIMPORT) para chamar um serviço da web em uma conexão HTTPS de um componente Java no servidor de aplicativos Sybase Easerver 5.3. Tenho uma exceção no log do Easerver com o seguinte como causa subjacente (removi o URL do serviço da web).

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

Tenho certeza de que isso é porque preciso configurar o Easerver para aceitar o certificado SSL deste site. O código de conexão em si é tudo gerado pelo JAX-WS, então eu não estou realmente criando a conexão. Ocorre nas classes geradas.

Qualquer idéia de como configurar adequadamente o Easerver para quecom.sybase.jaguar.net.httpsurlConnection.getInputStream Criará com êxito uma conexão HTTPS com o terminal do serviço da web?

Foi útil?

Solução

Eu trabalhei com o suporte da Sybase para resolver este. Envolveu a atualização do Easerver para usar o provedor de segurança da Sun em vez do Sybase One. Dentro do Jaguar.Props, atualizamos as opções da JVM para serem:

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

Isso permite que ele use o provedor de segurança do sol e eu parei de obter oSCL profile allocation mensagem.

Depois de fazer isso, comecei a obter o NullPointerExceptions das classes JAX-WS no log (que confirmei estava relacionado a configurar o JAX-WS para uso no Easerver, nada a ver com o SSL WebService).

Eu tive que adicionar meu jar de stubs de serviço da web gerado (que eu criei usando WSIMPORT) à propriedade Jaguar.Propscom.sybase.jaguar.server.java.classes

Eu também adicionei este frasco de stubs gerado e as bibliotecas de tempo de execução do JAX-WS para as 2 Propriedades do Jaguar.Propscom.sybase.jaguar.server.jvm.bootclasspath.jars ecom.sybase.jaguar.server.jvm.classpath.jars

Então eu copiei as bibliotecas de tempo de execução do JAX-WS e meus estubes de serviço da web gerados para o jar para o C:\Sybase\EAServer\java\lib Diretório e tudo começaram a funcionar como um campeão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top