Подключение к WebService через HTTPS приводит к ошибке распределения профиля SCL - PullRequest
0 голосов
/ 16 ноября 2009

Я пытаюсь использовать сгенерированные Jax-WS классы (созданные с помощью wsimport) для вызвать веб-сервис через HTTPS-соединение из Java компонент в сервере приложений Sybase EAServer 5.3 . Я получаю исключение в журнале EAServer с следующее как его основная причина (я удалил URL вебсервис).

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-соединение с конечной точкой вебсервис

1 Ответ

0 голосов
/ 23 ноября 2009

Я работал с поддержкой 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 Webservice).

Мне нужно было добавить сгенерированный файл заглушек веб-сервисов (который я создал с помощью wsimport) в свойство Jaguar.props com.sybase.jaguar.server.java.classes

Я также добавил этот сгенерированный заглушку jar и библиотеки времени выполнения JAX-WS. к свойствам 2 Jaguar.props com.sybase.jaguar.server.jvm.bootclasspath.jars и com.sybase.jaguar.server.jvm.classpath.jars

Затем я скопировал библиотеки времени выполнения JAX-WS и мой сгенерированный веб-сервис. заглушки jar в каталог C:\Sybase\EAServer\java\lib и все начал работать как чемпион.

...