WSWS3037E: Error: Serialization cannot occur for mypackage.myclass
 Technote (FAQ)
 
Problem
[8/19/05 14:40:15:874 EDT] 7d791602 SOAPPart E com.ibm.ws.webservices.engine.SOAPPart TRAS0014I: The following exception was logged WebServicesFault
faultCode: Server.generalException
faultString: java.io.IOException: WSWS3037E: Error: Serialization cannot occur for mypackage.myclass.
faultActor: null
faultDetail:

java.io.IOException: WSWS3037E: Error: Serialization cannot occur for mypackage.myclass.
at com.ibm.ws.webservices.engine.WebServicesFault.makeFault(WebServicesFault.java:150)
at com.ibm.ws.webservices.engine.SOAPPart.writeTo(SOAPPart.java:452)
at com.ibm.ws.webservices.engine.SOAPPart.getString(SOAPPart.java:755)
at com.ibm.ws.webservices.engine.SOAPPart.getBytes(SOAPPart.java:691)
at com.ibm.ws.webservices.engine.SOAPPart.getAsBytes(SOAPPart.java:548)
at com.ibm.ws.webservices.engine.Message.getContentType(Message.java:475)
at com.ibm.ws.webservices.engine.transport.http.WebServicesServlet.doPost(WebServicesServlet.java:890)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at com.ibm.ws.webservices.engine.transport.http.WebServicesServletBase.service(WebServicesServletBase.java:341)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:983)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:564)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:182)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)
Caused by: java.io.IOException: WSWS3037E: Error: Serialization cannot occur for mypackage.myclass.
at com.ibm.ws.webservices.engine.encoding.SerializationContextImpl.serializeActual(SerializationContextImpl.java:687)
at com.ibm.ws.webservices.engine.encoding.SerializationContextImpl.serialize(SerializationContextImpl.java:463)
at com.ibm.ws.webservices.engine.encoding.ser.ArraySerializer.serialize(ArraySerializer.java:359)
at com.ibm.ws.webservices.engine.encoding.SerializationContextImpl.serializeActual(SerializationContextImpl.java:719)
at com.ibm.ws.webservices.engine.encoding.SerializationContextImpl.serialize(SerializationContextImpl.java:463)
at com.discovery.test.Parent_Ser.addElements(Parent_Ser.java:51)
at com.discovery.test.Parent_Ser.serialize(Parent_Ser.java:29)
at com.ibm.ws.webservices.engine.encoding.SerializationContextImpl.serializeActual(SerializationContextImpl.java:719)
at com.ibm.ws.webservices.engine.encoding.SerializationContextImpl.serialize(SerializationContextImpl.java:463)
at com.ibm.ws.webservices.engine.xmlsoap.ext.ParamValue.serialize(ParamValue.java:336)
at com.ibm.ws.webservices.engine.xmlsoap.ext.RequestResponse.outputImpl(RequestResponse.java:474)
at com.ibm.ws.webservices.engine.xmlsoap.SOAPBody.outputContentsImpl(SOAPBody.java:252)
at com.ibm.ws.webservices.engine.xmlsoap.SOAPBody.outputImpl(SOAPBody.java:228)
at com.ibm.ws.webservices.engine.xmlsoap.SOAPEnvelope.outputImpl(SOAPEnvelope.java:283)
at com.ibm.ws.webservices.engine.xmlsoap.SOAPElement.output(SOAPElement.java:1169)
at com.ibm.ws.webservices.engine.SOAPPart.writeTo(SOAPPart.java:444)
... 27 more
 
Cause
This problem results from trying to use Java™ Collections in the web service. JAX-RPC 1.0 and JAX-RPC 1.1 do not provide mappings for Java Collections. Java Collections are explained on this page:


http://java.sun.com/docs/books/tutorial/collections/implementations/index.html

The IBM® Web Services engine provides support for the following:

java.util.Vector

java.util.Hashtable

java.util.HashMap

but use of these are not recommended. IBM does not support extensions to the above.

 
Solution
Do not use Java Collection Types
 
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > Web Services (for example: SOAP or UDDI or WSGW or WSIF)
Operating system(s): Windows
Software version: 5.0
Software edition:
Reference #: 1221313
IBM Group: Software Group
Modified date: Oct 31, 2005