English 中文(简体)
Connecting to WebService via HTTPS throws SCL Profile Allocation error
原标题:

I m trying to use Jax-WS generated classes (created using wsimport) to call a webservice over an HTTPS connection from within a Java component in the application server Sybase EAServer 5.3. I get an exception in the EAServer log with the following as its underlying cause (I have removed the URL of the 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

I am pretty sure this is because I need to set up EAServer to accept the SSL certificate of this website. The connection code itself is all generated by Jax-WS so I am not actually creating the connection myself. It takes place in the generated classes.

Any ideas how to properly configure EAServer so that com.sybase.jaguar.net.HttpsURLConnection.getInputStream will successfully create an HTTPS connection to the endpoint of the webservice?

最佳回答

I worked with Sybase support to get this one resolved. It involved updating EAServer to use the Sun security provider instead of the Sybase one. Within the Jaguar.props we updated the JVM options to be:

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

This lets it use the Sun security provider and I stopped getting the SCL profile allocation message.

After doing this I started getting NullPointerExceptions from the JAX-WS classes in the log (which I confirmed was related to configuring JAX-WS for use within EAServer, nothing to do with the SSL Webservice).

I had to add my generated webservice stubs jar (that I created using wsimport) to the Jaguar.props property com.sybase.jaguar.server.java.classes

I also added this generated stubs jar and the JAX-WS runtime libraries to the 2 Jaguar.props properties com.sybase.jaguar.server.jvm.bootclasspath.jars and com.sybase.jaguar.server.jvm.classpath.jars

Then I copied the JAX-WS runtime libraries and my generated webservice stubs jar to the C:SybaseEAServerjavalib directory and everything started working like a champ.

问题回答

暂无回答




相关问题
Access Database Pass Through Query?

I have linked Sybase database table with Access 2003. I only have read access to the Sybase database and created a pass-through query in access. Now what I need is, I need to create a temp table in ...

Can I trace database s records by SQL query from log file?

I need to trace changes on a record in database. I have some triggers on different tables that calls one stored procedure and this sp updates records in certain table (table1). I will trace records ...

How *does* Powerbuilder POST work?

Unfortunately searching for Sybase Post doesn t get me the answers I m looking for. I want to know what the actual function is of POST As in .. procedure lala POST procedure1() procedure2() I m ...

Full table scan occured even when index exists?

We have a sql query as follows select * from Table where date < 20091010 However when we look at the query plan, we see The type of query is SELECT. FROM TABLE Worktable1. ...

Sybase Development IDE

Is there a Toad type application for Sybase? I can t seem to find a single one! I ve tried using VS 2008 but can t see the sproc source.

热门标签