HTTPS를 통해 웹 서비스에 연결하면 SCL 프로파일 할당 오류가 발생합니다.

StackOverflow https://stackoverflow.com/questions/1739897

문제

Application Server의 Java 구성 요소 내에서 HTTPS 연결을 통해 WebService를 호출하기 위해 JAX-WS 생성 클래스 (WSIMPORT를 사용하여 생성)를 사용하려고합니다. 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

이 웹 사이트의 SSL 인증서를 수락하기 위해 Easerver를 설정해야하기 때문입니다. 연결 코드 자체는 모두 JAX-WS에 의해 생성되므로 실제로 연결을 직접 만들지는 않습니다. 생성 된 클래스에서 발생합니다.

Easerver를 올바르게 구성하는 방법을 사용하여 모든 아이디어com.sybase.jaguar.net.httpsurlconnection.getInputStream 웹 서비스의 끝점에 HTTPS 연결을 성공적으로 생성합니까?

도움이 되었습니까?

해결책

나는 이것을 해결하기 위해 Sybase Support와 함께 일했습니다. Easerver가 Sybase One 대신 Sun Security Provider를 사용하도록 업데이트하는 것이 포함되었습니다. Jaguar.Props 내에서 JVM 옵션을 업데이트했습니다.

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

이것은 Sun Security Provider를 사용할 수 있고 나는 얻는 것을 중단했습니다.SCL profile allocation 메시지.

이 작업을 수행 한 후 로그에서 JAX-WS 클래스에서 NULLPOONETEREXCEPTIONS를 얻기 시작했습니다 (Easerver 내에서 사용하기 위해 JAX-WS 구성과 관련이 있음을 확인했습니다. SSL 웹 서비스와 관련이 없습니다).

생성 된 웹 서비스 스터스 항아리 (wsimport를 사용하여 만든)를 Jaguar.props 속성에 추가해야했습니다.com.sybase.jaguar.server.java.classes

또한이 생성 된 Stubs Jar와 JAX-WS 런타임 라이브러리를 2 Jaguar.Props 속성에 추가했습니다.com.sybase.jaguar.server.jvm.bootclasspath.jars 그리고com.sybase.jaguar.server.jvm.classpath.jars

그런 다음 Jax-Ws 런타임 라이브러리와 생성 된 웹 서비스 스터스 항아리를 C:\Sybase\EAServer\java\lib 디렉토리와 모든 것이 챔피언처럼 작동하기 시작했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top