2011-12-06 6 views
1

WSDL (저는 JAVA 1.6을 사용합니다)에서 SOAP 웹 서비스 클라이언트를 자동 생성했고 Tomcat 6에서 제대로 작동합니다. 그러나 클라이언트를 전쟁에 넣었을 때웹 서비스는 Tomcat 6에서 작동하지만 JBoss AS 6에서는 작동하지 않습니다.

Caused by: java.lang.ExceptionInInitializerError 
    at com.sun.xml.ws.tx.common.Util.isJTAAvailable(Util.java:71) [:1.0] 
    at com.sun.xml.ws.assembler.PipelineAssemblerFactoryImpl$WsitPipelineAssembler.isTransactionsEnabled(PipelineAssemblerFactoryImpl.java:468) [:1.0] 
    at com.sun.xml.ws.assembler.PipelineAssemblerFactoryImpl$WsitPipelineAssembler.createClient(PipelineAssemblerFactoryImpl.java:271) [:1.0] 
    at com.sun.xml.ws.api.pipe.TubelineAssemblerFactory$TubelineAssemblerAdapter.createClient(TubelineAssemblerFactory.java:136) [:1.0] 
    at com.sun.xml.ws.client.WSServiceDelegate.createPipeline(WSServiceDelegate.java:423) [:1.0] 
    at com.sun.xml.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:589) [:1.0] 
    at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:329) [:1.0] 
    at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:311) [:1.0] 
    at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:304) [:1.0] 
    **at javax.xml.ws.Service.getPort(Service.java:92) [:1.0.0.Final]** 
    at com.ewave.meuhedet.ws.iclient.city.EWCITYServicesService.getEWCITYServices(EWCITYServicesService.java:74) [:] 
    at com.ewave.meuhedet.ws.iclient.impl.PharmacyServiceIClientImpl.<init>(PharmacyServiceIClientImpl.java:58) [:] 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [:1.6.0_26] 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) [:1.6.0_26] 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) [:1.6.0_26] 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513) [:1.6.0_26] 
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:126) [:3.0.1.RELEASE-A] 
    ... 105 more 
**Caused by: java.lang.ClassCastException: com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionSynchronizationRegistryImple cannot be cast to javax.transaction.TransactionSynchronizationRegistry** 
    at com.sun.xml.ws.tx.common.TransactionManagerImpl.<init>(TransactionManagerImpl.java:106) [:1.0] 
    at com.sun.xml.ws.tx.common.TransactionManagerImpl.<clinit>(TransactionManagerImpl.java:62) [:1.0] 
    ... 122 more 

이 자동 생성 getEWCITYServices 그것은 당신이 보스가 지원하는 WS 구현에 충실해야 할 것 같습니다

@WebEndpoint(name = "EW_CITYServices") 
    public EWCITYServices getEWCITYServices() { 
     return super.**getPort**(new QName("http://ew_city.wsbeans.iseries", 
       "EW_CITYServices"), EWCITYServices.class); 
    } 
+0

아마도 다른 버전의 라이브러리 또는 누락 된 라이브러리입니까? 아마 arjuna에서 javax에 캐스팅을 시도한 것일 수 있습니다. – Alfabravo

+0

thats a probable direction ...하지만이 캐스트 문제를 해결하는 방법을 모릅니다, 내가 아는 모두는 arjunacore pacage가 jboss 6의 일부입니다. –

답변

1

를 기능입니다 (기본을 : 6.1 나는 다음과 같은 오류를 얻을 수 제이보스 애플리케이션 서버에 배포하려고 , CXF 또는 Metro).

sun의 구현을 포함하는 모든 jar (class)에서 com.sun.xml.ws. * 등을 제거하면됩니다. 그것은 어쨌든 꽤 오래되었고 Metro로 대체되었습니다.

http://www.jboss.org/jbossws을 참조하십시오.

관련 문제