[ 
http://jira.jboss.com/jira/browse/JBAS-1579?page=comments#action_12316641 ]
     
Scott M Stark commented on JBAS-1579:
-------------------------------------

The serialVersionUIDs have been set and I tried running several sets of unit 
tests from the 4.0.1sp1 build against the current 4.0 branch. The cts, jbossmq, 
jmx, security tests run fine. The webservice tests have two failures. The first 
is due to a change in the javax.xml.namespace.QName from 8217399441836960859 to 
the 4418622981026545151 value found in jdk5:

    [junit] Tests run: 5, Failures: 0, Errors: 1, Time elapsed: 6.359 sec
Cannot unmarshall service ref meta data, cause: java.io.InvalidClassException: 
javax.xml.namespace.QName; local class incompatible: stream classdesc 
serialVersionUID = 4418622981026545151, local class serialVersionUID = 
8217399441836960859" 
type="javax.naming.NamingException">javax.naming.NamingException: Cannot 
unmarshall service ref meta data, cause: java.io.InvalidClassException: 
javax.xml.namespace.QName; local class incompatible: stream classdesc 
serialVersionUID = 4418622981026545151, local class serialVersionUID = 
8217399441836960859
        at 
org.jboss.webservice.client.ServiceObjectFactory.getObjectInstance(ServiceObjectFactory.java:114)
        at 
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:301)
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:636)
        at 
org.jboss.naming.client.java.javaURLContextFactory$EncContextProxy.invoke(javaURLContextFactory.java:120)
        at $Proxy1.lookup(Unknown Source)
        at javax.naming.InitialContext.lookup(InitialContext.java:347)
        at 
org.jboss.test.webservice.header.HeaderEndpointTestCase.testImplicitHeaderEndpoint(HeaderEndpointTestCase.java:70)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
        at junit.extensions.TestSetup.run(TestSetup.java:23)

The SerialVersion.LEGACY approach could be added support interop with the older 
id.

The second is failure is a lookup failure.
    [junit] Test org.jboss.test.webservice.header.HeaderEndpointTestCase FAILED
    [junit] Running 
org.jboss.test.webservice.marshalltest.MarshallDocLiteralTestCase
    [junit] Tests run: 32, Failures: 0, Errors: 32, Time elapsed: 8.844 sec

javax.naming.NamingException: Could not dereference object [Root exception is 
java.lang.RuntimeException: Cannot access wsdl from 
[http://localhost:8080/ws4ee-marshall-doclit?wsdl], 
http://localhost:8080/ws4ee-marshall-doclit?wsdl]
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:647)
        at 
org.jboss.naming.client.java.javaURLContextFactory$EncContextProxy.invoke(javaURLContextFactory.java:120)
        at $Proxy1.lookup(Unknown Source)
        at javax.naming.InitialContext.lookup(InitialContext.java:347)
        at 
org.jboss.test.webservice.marshalltest.MarshallDocLiteralTestCase.setUp(MarshallDocLiteralTestCase.java:72)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
        at junit.extensions.TestSetup.run(TestSetup.java:23)
Caused by: java.lang.RuntimeException: Cannot access wsdl from 
[http://localhost:8080/ws4ee-marshall-doclit?wsdl], 
http://localhost:8080/ws4ee-marshall-doclit?wsdl
        at 
org.jboss.webservice.WSDLDefinitionFactory$WSDLLocatorImpl.getBaseInputSource(WSDLDefinitionFactory.java:103)
        at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
        at 
org.jboss.webservice.WSDLDefinitionFactory.parse(WSDLDefinitionFactory.java:71)
        at 
org.jboss.webservice.metadata.ServiceRefMetaData.getWsdlDefinition(ServiceRefMetaData.java:180)
        at 
org.jboss.webservice.client.ServiceObjectFactory.getObjectInstance(ServiceObjectFactory.java:145)
        at 
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:301)
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:636)
        ... 20 more


> Need to cleanup the serialVersionUIDs for Serializable/Externalizable classes
> -----------------------------------------------------------------------------
>
>          Key: JBAS-1579
>          URL: http://jira.jboss.com/jira/browse/JBAS-1579
>      Project: JBoss Application Server
>         Type: Bug
>     Versions:  JBossAS-4.0.2RC1,  JBossAS-4.0.1 SP1
>     Reporter: Scott M Stark
>     Assignee: Scott M Stark
>     Priority: Blocker
>      Fix For: JBossAS-4.0.2 Final
>  Attachments: SerializableHasSerialVersionUIDField.zip, TestResultSample.zip, 
> compatibilityCheckProposedSourceCde.zip
>
>
> I'm seeing incomptibilities between versions that are simply due to the fact 
> that Serializable/Externalizable classes are letting their serialVersionUIDs 
> float instead of explicitly defining them. We need to get this cleaned up. 
> There should not be a single Serializable/Externalizable class that does not 
> fix its serialVersionUID and then take responsibility for maintaining 
> compatibility with the indicated version.
> The attached SerializableHasSerialVersionUIDField.zip unzips to create a 
> SerializableHasSerialVersionUIDField-index.html and 
> SerializableHasSerialVersionUIDField directory which is a report of all 
> classes in the 4.0 codebase that are not defining a serialVersionUID as they 
> should. 
> The JDK object serialization spec defines all you need to know about the apis 
> and contracts for object serialization:
> http://java.sun.com/j2se/1.4.2/docs/guide/serialization/spec/serialTOC.html
> In particular, Versioning of Serializable Objects:
> http://java.sun.com/j2se/1.4.2/docs/guide/serialization/spec/version.html#wp9419
> talks about binary compatibility and what is available to manage this.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.jboss.com/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
JBoss-Development mailing list
JBoss-Development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to