问题
I have an apache servicemix (camel 2.9) route which calls a bean, that in turn makes a SOAP request. The SOAP code is generated via wsdl2java and works fine (cxf 2.4.0). The problem i have is when a SOAP fault is thrown, i get the following issue:
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)
From a bit of googling (my background is C#) the error seems to be stating that the class has been loaded multiple times, but i dont see see how this is possible since SOAPFaultException isnt one of my classes.
Any ideas?
Cheers.
回答1:
I found out it was a problem with servicemix config. See: http://fusesource.com/forums/thread.jspa?threadID=4016
来源:https://stackoverflow.com/questions/11036901/linkageerror-when-calling-webservice-method