2012-06-14 4 views
0

bean을 호출하고 SOAP 요청을하는 apache servicemix (camel 2.9) 라우트가 있습니다. SOAP 코드는 wsdl2java를 통해 생성되며 제대로 작동합니다 (cxf 2.4.0). 내가 가진 문제는 SOAP 오류가 발생했을 때, 나는 다음과 같은 문제가 얻을 수 있습니다 : 인터넷 검색의 비트에서webservice 메서드를 호출 할 때 LinkageError가 발생했습니다.

Caused by: java.lang.LinkageError: loader constraint violation: loader (instance of <bootloader>) previously initiated loading for a different type with name "javax/xml/soap/SOAPFault" 
    at javax.xml.ws.soap.SOAPFaultException.<init>(SOAPFaultException.java:28) 
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:156)[175:org.apache.cxf.bundle:2.5.0.fuse-7-061] 
    at $Proxy120.catalogProductAttributeMediaRemove(Unknown Source) 
    at com.boohoo.magento.MagentoProducts.deleteImageFromProduct(MagentoProducts.java:403)[769:magento-soap-api:1.0.0.SNAPSHOT] 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_29] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_29] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_29] 
    at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_29] 
    at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:340) 
    at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:237) 
    at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:166) 

를 오류가 클래스를 여러 번로드 된 없다는 것 같다 (내 배경은 C#을) ,하지만 SOAPFaultException 내 클래스 중 하나가 아니기 때문에 이것이 가능한 방법을 참조하십시오.

아이디어가 있으십니까?

건배.

+0

'saaj-api.xml'이라는 항아리를 찾으십시오. 여기에는 표준 JRE ('rt.jar')에있는 클래스가 포함되어 있습니다. –

+0

미안하지만, 나는 당신이 의미하는 것을 이해하지 못한다. 내가 어디를 봐야하니? –

+0

'.xml'이 아니라'saaj-api.jar'입니다. 애플리케이션이'rt.jar'와 다른 곳에서'javax.xml.soap.SOAPFault'를로드 한 것 같습니다. 어떤 외부 라이브러리를 사용합니까? –

답변

관련 문제