Skip navigation.
Home

QName exception when generating a Service Control in Weblogic Workshop 10.2

QName exception popupWe recently upgraded Weblogic Workshop to version 10.2. When I went to regenerate an existing Service Control from a new WSDL file, I was greeted with a not so nice error popup...

Error Cause


An error was encountered while analyzing the WSDL:
javax.xml.namespace.QName; local class incompatible: stream classdesc 
serialVersionUID = 4418622981026545151, local class serialVersionUID = -9120448754896609940

There was actually a bug filed and fixed with Sun about this issue but there still seems to be some kind of residual effects. At the bottom of the defect is the hint for the workaround :

-Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0

Error Workaround

The problem has something to do with the types jar that is generated and the serialization of a QName field that is put in that jar. The JVM that is doing all of this is the VM that is running eclipse.

So you either need to add the -D parameter to the eclipse VM or use a different VM.

To perform either fix you'll need to open up the workSpaceStudio.ini file (e.g. D:\bea\workSpaceStudio_1.1\workSpaceStudio\workspaceStudio.ini). The VM is specified on the line after the -vm and the -D options are down toward the bottom.

Here's what my file looks like after the addition (this is just the -D workaround):


-vm
D:/bea/jdk150_11/jre/bin/javaw.exe
-vmargs
-Xms384m
-Xmx768m
-XX:MaxPermSize=256m
-XX:PermSize=192m
-XX:NewRatio=3
-Xss256k
-Dweblogic.home=D:/bea/wlserver_10.0
-Dosgi.install.area=D:\bea\tools\eclipse_pkgs\1.1\eclipse_3.2.2\eclipse
-Dosgi.instance.area.default=D:/bea/user_projects/workspaces/workSpaceStudio
-Dosgi.configuration.area=D:/bea/workSpaceStudio_1.1/workSpaceStudio/eclipse/configuration
-Declipse.product=com.bea.workspacestudio.product.workspacestudio
-Dosgi.splashPath=file:D:/bea/workSpaceStudio_1.1/workSpaceStudio/eclipse/plugins/com.bea.workspacestudio.product
-Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0

Now all you have to do is:

  1. restart Weblogic Workspace Studio
  2. regenerate the types JAR file

Now Create the Service Control should work without issue.

Using the Sun 1.6 JRE

Let's say you opted for the second solution, which was to use a different VM, and you happened to choose the Sun 1.6 VM. Everything will work fine with the Service Control generation but when you attempt to deploy to a running server you'll get this error:


org.eclipse.core.runtime.CoreException: Deployment Manager with URI,
'deployer:WebLogic:localhost:7001' and user, 'weblogic' cannot be created.
javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException

It's always a fun rabbit hole when you upgrade stuff. Thankfully some other poor soul ran into this issue and figured out the workaround, another -D parameter:

-Dsun.lang.ClassLoader.allowArraySyntax=true

After you add that -D to the workSpaceStudio.ini file, all will be well.

Stack Trace


com.bea.workshop.webservices.servicecontrol.ui.except.TypesAnalysisFailedException: java.lang.reflect.InvocationTargetException
	at com.bea.workshop.webservices.servicecontrol.ui.wizards.SelectSCInfoPage.<init>(SelectSCInfoPage.java:135)
	at com.bea.workshop.webservices.servicecontrol.ui.GenerateSCWizard.getPageList(GenerateSCWizard.java:169)
	at com.bea.workshop.webservices.servicecontrol.ui.GenerateSCWizard.addPages(GenerateSCWizard.java:155)
	at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:499)
	at org.eclipse.jface.window.Window.create(Window.java:426)
	at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1124)
	at org.eclipse.jface.window.Window.open(Window.java:785)
	at com.bea.workshop.webservices.servicecontrol.ui.actions.NewSCGenAction.run(NewSCGenAction.java:106)
	at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:254)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:539)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:400)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1930)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:422)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:339)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:283)
	at org.eclipse.core.launcher.Main.run(Main.java:984)
	at org.eclipse.core.launcher.Main.eclipse_main(Main.java:959)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at com.m7.installer.util.NitroxMain$1.run(NitroxMain.java:39)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Caused by: java.lang.reflect.InvocationTargetException
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:350)
	at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:479)
	at com.bea.workshop.webservices.servicecontrol.ui.wizards.SelectSCInfoPage.<init>(SelectSCInfoPage.java:106)
	... 45 more
Caused by: com.bea.workshop.webservices.servicecontrol.ui.except.TypesAnalysisFailedException: com.bea.workshop.webservices.servicecontrol.ui.runtimes.BindingsException
	at com.bea.workshop.webservices.servicecontrol.ui.wizards.SelectSCInfoPage$1.run(SelectSCInfoPage.java:118)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:113)
Caused by: com.bea.workshop.webservices.servicecontrol.ui.runtimes.BindingsException
	at com.bea.workshop.webservices.servicecontrol.runtimes.ControlsRuntimeImpl.getJavaProjectTypeBindings(ControlsRuntimeImpl.java:91)
	at com.bea.workshop.webservices.servicecontrol.ui.wizards.SelectSCInfoPage$1.run(SelectSCInfoPage.java:112)
	... 1 more
Caused by: com.bea.control.servicecontrol.internal.validation.BindingsCheckException: Could not load the serialized tylar binding file (META-INF/binding-file.ser) from authorizationservicesTypes_JAXRPC.jar (tylar)
	at com.bea.control.servicecontrol.internal.validation.BindingsDataSource.loadBindingsStructures(BindingsDataSource.java:418)
	at com.bea.control.servicecontrol.internal.validation.BindingsDataSource.<init>(BindingsDataSource.java:54)
	at com.bea.control.servicecontrol.internal.validation.BindingsCheckUtility.getBindingsDataSourceIfValid(BindingsCheckUtility.java:343)
	at com.bea.workshop.webservices.servicecontrol.ui.util.BindingsChecker.addAsDataSourceIfCorrectType(BindingsChecker.java:144)
	at com.bea.workshop.webservices.servicecontrol.ui.util.BindingsChecker.addAsDataSourceIfCorrectType(BindingsChecker.java:118)
	at com.bea.workshop.webservices.servicecontrol.ui.util.BindingsChecker.lookForBindingsDataSources(BindingsChecker.java:98)
	at com.bea.workshop.webservices.servicecontrol.ui.util.BindingsChecker.<init>(BindingsChecker.java:35)
	at com.bea.workshop.webservices.servicecontrol.ui.util.JavaProjectTypeBindingsImpl.checkForCompatibleBindings(JavaProjectTypeBindingsImpl.java:94)
	at com.bea.workshop.webservices.servicecontrol.ui.util.JavaProjectTypeBindingsImpl.<init>(JavaProjectTypeBindingsImpl.java:32)
	at com.bea.workshop.webservices.servicecontrol.runtimes.ControlsRuntimeImpl.getJavaProjectTypeBindings(ControlsRuntimeImpl.java:86)
	... 2 more
Caused by: java.io.InvalidClassException: javax.xml.namespace.QName; local class incompatible: stream classdesc serialVersionUID = 4418622981026545151, local class serialVersionUID = -9120448754896609940
	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:546)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1552)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
	at java.util.HashMap.readObject(HashMap.java:1066)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
	at java.util.HashMap.readObject(HashMap.java:1067)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
	at com.bea.control.servicecontrol.internal.validation.BindingsDataSource.loadBindingsStructures(BindingsDataSource.java:407)
	... 11 more