Posts tagged "LinkageError"

LiveCycle ES: LinkageError for SOAPMessage class when accessing LC7 WSDL from LC ES

Issue

If you have exposed workflows in LiveCycle 7 as web services and then upgraded to LiveCycle ES, these web services should continue to be available under the same WSDL URL as in LC7: http://<server>:<port>/services/<servicename>?wsdl

Services exposed as web services in LC ES that did not exist in LC7 before the migration are available under the new LC ES WSDL URL path: http://<server>:<port>/soap/services/<servicename>?wsdl

However, you may notice after migrating to ES 8.2.1 that the data connections in your XDP forms are no longer working. Trying to create a new data connection to http://<server>:<port>/services/<servicename>?wsdl doesn’t work either. Trying to load the WSDL in Internet Explorer from the same client machine produces the following error:

####<Jan 26, 2010 6:17:46 PM MET> <Error> <HTTP> <xxxx> <xxxx> <[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'> 
<<WLS Kernel>> <> <> <1264526266913> <BEA-101017> <[weblogic.servlet.internal.WebAppServletContext@1ae8935 - 
appName: 'adobe-livecycle-weblogic', name: '/services', context-path: '/services'] Root cause of ServletException.

java.lang.LinkageError: loader constraints violated when linking javax/xml/soap/SOAPMessage class
 at org.apache.axis.transport.http.AxisServlet.createMessageContext(AxisServlet.java:924)
 at org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1185)
 at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:249)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
 at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

Solution

This LinkageError is usually caused by the saaj.jar appearing multiple times in the classpath and causing conflicts with older versions. Try to remove the saaj.jar file from the adobe-wkf-service.war in the adobe-livecyle-weblogic.ear file to ensure that it uses the right version of the saaj.jar file.

Follow these steps to verify that the solution works for you:

  1. Make a backup of configurationManager/export/adobe-livecyle-weblogic.ear.
  2. Use Winzip or WinRAR and open adobe-livecyle-weblogic.ear.
  3. Extract the war file adobe-wkf-service.war from the EAR.
  4. Use Winzip or WinRAR to open adobe-wkf-service.war.
  5. Delete saaj.jar from \WEB-INF\lib\.
  6. Add the modified adobe-wkf-service.war back into adobe-livecyle-weblogic.ear using Winzip or WinRAR.
  7. Deploy the modified adobe-livecyle-weblogic.ear to the appserver.
  8. Test WSDL path http://<server>:<port>/services/<servicename>?wsdl again in Internet Explorer and Designer.

If this solution works in your environment, contact Adobe support to request a patch for this issue. This issue has already been fixed in ES2 SP2 (9.0.0.2) and later versions.  A patch is available for LC ES 8.2.1.2, and Adobe support can request this patch for your environment.

reference: (181406184/2541407)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 10.0/10 (1 vote cast)