Expand my Community achievements bar.

Problem using axis in a component

Avatar

Level 2

Hello,

I develop my own component for deploying the LC. The component uses axis as a client for a webservice to get information from a other server. My component contains the axis.jar and it is described in the component.xml too.

When I start my process which contains my component I get the following error:

java.io.InvalidClassException: javax.xml.namespace.QName; local class incompatible: stream classdesc serialVersionUID = 4418622981026545151, local class serialVersionUID = -9120448754896609940

                at com.adobe.idp.dsc.provider.impl.base.AbstractResponseHolder.handleException(AbstractResponseHolder.java:161)

                at com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapSdkBindingStubUtil.deSerializeResponse(SoapSdkBindingStubUtil.java:122)

                at com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapAxisDispatcher.doSend(SoapAxisDispatcher.java:128)

                at com.adobe.idp.dsc.provider.impl.base.AbstractMessageDispatcher.send(AbstractMessageDispatcher.java:57)

                at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:208)

                at com.adobe.common.utils.invoke.InvokeWithProgressRunner.invokeServiceOperation(InvokeWithProgressRunner.java:170)

                at com.adobe.common.utils.invoke.InvokeWithProgressRunner.run(InvokeWithProgressRunner.java:97)

                at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:113)

Caused by: java.io.InvalidClassException: javax.xml.namespace.QName; local class incompatible: stream classdesc serialVersionUID = 4418622981026545151, local class serialVersionUID = -9120448754896609940

I think there are different versions of the class QName. How can I resolve the problem? Can somebody help me?

Christoph

1 Reply

Avatar

Level 8

The problem is that the axis jar files are already in the app server's lib path.  By including the jar in your component you are getting a conflict - this can also cause some weird coersion errors.

Fortunately the solution is quite simple.  Remove the axis jar files from your component and use the <import-packages> tag in the component.xml to reference the class (and package) that you need.  For example - the reader extensions client is already in the LiveCycle application, so I don't want to include it in my component.  Instead I reference it using the <import-packages> tag:

<import-packages>
         <package version="1.0">com.adobe.livecycle.readerextensions.client</package>
         <package version="1.0">com.adobe.livecycle.readerextensions.client.exceptions</package>
    </import-packages>