나는 기본적으로 웹 서비스의 프런트 엔드 역할을하는 서블릿, 웹 서비스 클라이언트 용 CXF를 사용하는 서블릿, WebLogic 9.10 서버에서 실행되는 애플리케이션, 프로젝트 소유자가 SSL 커밋을 추가하기로 결정했을 때까지 모든 일은 괜찮 았습니다. 큰 문제는 없었습니다. cxf whitout spring을 사용했기 때문에 서비스 클라이언트의 http 도관에서 TLS 매개 변수를 구성하고 서버 키를 구성하는 키 저장소를 구성했습니다. , ca 루트 인증서 및 클라이언트 인증서, 개발 tomcat 인스턴스에서 테스트 및 잘 작동합니다. 다시 웹 로직 서버 응용 프로그램을 다시 배포하고 이상한 오류를 받기 시작하면CXF + SSL + WebLogic 9.10
문제가 시작, 첫 번째는 없었다 : 웹 로직는 JAX-WS의 자체 구현을로드하는 것보다
java.lang.ClassCastException: com.sun.xml.ws.client.sei.SEIStub cannot be cast to org.apache.cxf.frontend.ClientProxy
at org.apache.cxf.frontend.ClientProxy.getClient
다음 내가 실현, 확인을 더 probelm은 다만, true로 설정 weblogic.xml의 오순절 "선호-WEB-INF-클래스"를 추가 재배치하고 지금은이 예외를 가지고 : 저를 얻었다 하나, 내가 뭔가 클래스 경로 잘못된 오순절 알았는데 그건
java.lang.LinkageError: loader constraint violation: when resolving method "javax.xml.ws.Service.<init>(Ljava/net/URL;Ljavax/xml/namespace/QName;)V" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the current class, com/adinfi/imgsvc/cm/service/CMBGenericWebServiceService, and the class loader (instance of <bootloader>) for resolved class, javax/xml/ws/Service, have different Class objects for the type javax/xml/namespace/QName used in the signature
, 그래서 나는 응용 프로그램과 stil에서 항아리를 제거하기 시작했다. 난 좀 더 연결 오류를 가지고, 내가 가진 마지막 하나는 이것이다 :
java.lang.LinkageError: loader constraint violation: loader (instance of <bootloader>) previously initiated loading for a different type with name "org/w3c/dom/UserDataHandler"
을 그리고 이것은이 "WEB-INF가/lib 디렉토리 /"내 응용 프로그램의 디렉토리가 지금과 같은 모습입니다 :
classes12.jar
classes12.zip
common.jar
common.resources.jar
commons-beanutils-1.8.0.jar
commons-discovery.jar
commons-logging-1.1.1.jar
commons-logging-api.jar
commons-logging-api-1.1.1.jar
cxf-2.2.5.jar
log4j-1.2.8.jar
ras.jar
runtimefw.jar
wsdl4j-1.6.2.jar
wss4j-1.5.8.jar
xalan-2.7.1.jar
xml-resolver-1.2.jar
XmlSchema-1.4.5.jar
xmlsec-1.4.3.jar
하나를 무슨 일이야? 미리 감사드립니다.
와우 어떻게 든 그 문서를 놓칠 수 있었다 .... 지금은 내 작품에 떨어져, 즉각 답변을 주셔서 감사합니다 =) – Harima555