我试图使用JAX-WS生成的类(使用的wsimport创建) 调用通过HTTPS连接一个Web服务从Java中 在应用服务器中的组成Sybase EAServer的5.3 即可。我得到的EAServer的日志,异常 以下是其根本原因(我已删除的网址 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

我敢肯定这是因为我需要设置的EAServer接受 本网站的SSL证书。连接代码本身 所有JAX-WS生成的,所以我没有实际创建连接 我。这需要在生成的类的地方。

任何想法如何正确配置EAServer中,使 的 com.sybase.jaguar.net.HttpsURLConnection.getInputStream 将 成功创建HTTPS连接的端点 web服务?

有帮助吗?

解决方案

我与Sybase支持合作,获得这一个解决。它涉及的EAServer更新使用Sun的安全提供者,而不是一个的Sybase的。内 Jaguar.props我们更新JVM选项是:

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

这让它使用Sun的安全提供者和我停下得到 SCL profile allocation消息。

这样做后我开始从NullPointerException异常 JAX-WS类的日志(我证实是有关 配置JAX-WS的内EAServer的使用无关的SSL web服务)。

我不得不添加我生成web服务存根罐(即我使用创建的 的wsimport)到Jaguar.props财产 com.sybase.jaguar.server.java.classes

我还添加此生成的存根罐子和JAX-WS运行时库 到2个Jaguar.props属性 com.sybase.jaguar.server.jvm.bootclasspath.jarscom.sybase.jaguar.server.jvm.classpath.jars

然后我复制的JAX-WS运行时库和我的生成web服务 存根罐子到C:\Sybase\EAServer\java\lib目录和一切 开始工作如飞。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top