문제

이것은 여기에서 질문의 연속입니다.JBOSS- JBOSS가 실행중인 것과 동일한 JDK에서 앱을 컴파일해야합니까?

새로운 질문이 필요할 정도로 충분히 다릅니다.

JDK6을 사용하여 JBOSS 5.1을 실행하려고 노력하고 있으며 JBOSS 5.1의 JDK6 버전을 다운로드했습니다. 이것은 잘 작동하고 내 귀 애플리케이션은 잘 배치됩니다. 그러나 다음과 같은 코드로 웹 서비스 클라이언트를 실행하려는 경우 다음과 같습니다.

public static void main(String[] args) throws Exception {
    System.out.println("creating the web service client...");
    TestClient client = new TestClient("http://localhost:8080/tc_test_project-tc_test_project/TestBean?wsdl");
    Test service = client.getTestPort();
    System.out.println("calling service.retrieveAll() using the service client");
    List<TestEntity> list = service.retrieveAll();
    System.out.println("the number of elements in list retrieved using the client is " + list.size());
}

다음과 같은 예외를 얻습니다.

javax.xml.ws.WebServiceException: java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage
    at org.jboss.ws.core.jaxws.client.ClientImpl.handleRemoteException(ClientImpl.java:396)
    at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:302)
    at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:170)
    at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:150)

지금, 여기 정말 흥미로운 부분이 있습니다. 위의 코드가 JDK6에서 JDK5로 실행되는 JDK를 변경하면 위의 예외가 사라집니다! 정말 이상합니다.

JDK6에서 위의 코드가 실행되는 유일한 방법은 JBoss_Home/Lib/승인 된 폴더를 가져 와서 JDK6_HOME/LIB에 복사하는 것입니다. 이것은 필요하지 않은 것 같습니다.

방금 설명한 해결 방법을 사용하는 것 외에이 작업을 수행 할 수있는 다른 방법이 있습니까?

도움이 되었습니까?

해결책

JDK 1.6의 공식 기능으로 JAX-WS가있는 것처럼 보입니다. 물건을 'lib'에 복사하지 말고 '승인 된'디렉토리에 복사하십시오 (java.endorsed.dirs에 나열된 하나). 이것 도움이 될 수 있습니다.

최신 1.6을 가지고 있다면, 당신은 이것과 같은 방식으로 이것을 둘러 볼 수 있습니다. 아파치 CXF 하다. 1.6 환경에서 CXF를 사용하는 방법에 대한 정보는 문서를 참조하십시오.

다른 팁

각각에는 다양한 제안과 설명이 있습니다 버그 보고서 그리고 다른 곳 (예 : 여기 그리고 여기). 나는 그들이 얼마나 잘 작동하는지 모르겠습니다.

이 문제에 대한 정보 JBoss 공식 설치 및 시작 가이드에서 찾을 수 있습니다.http://docs.jboss.org/jbossas/docs/installation_and_getting_started_guide/5/html/installation_alternatives.html

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