DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12741>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12741 Multithreaded Axis client causes serialization exceptions in Axis service Summary: Multithreaded Axis client causes serialization exceptions in Axis service Product: Axis Version: current (nightly) Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Major Priority: Other Component: Serialization/Deserialization AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Running a multithreaded Axis client with 50 threads each doing 50 sessions with the web service causes the following exception stack trace to appear three to five times in the duration of the test. The total operations would be 2500. The service is a session based service and the clients are set to maintain sessions. During each session the clients will perform 4 calls for each round, startAuth, continueAuth, continueAuth, and endAuth. The WSDL and WSDD files for the service are attached. The clients are generated by WSDL2Java, the service is just a class calling an EJB backend to do the work. The server is a 4 CPU Intel Xeon 2.4GHz running Win2K Advanced Server. The client is a 800MHz Intel Pentium III running Win2K Pro. Axis is installed on BEA WebLogic 6.1 SP3. The Axis build used is nightly 9/16/2002. Here is the stack trace, WSDD and WSDL files for the service: ---Stack Trace------Stack Trace------Stack Trace--- <Sep 16, 2002 4:41:50 PM EDT> <Error> <HTTP> <[WebAppServletContext (255088,axis,/axis)] Servlet failed with IOException AxisFault faultCode: {http://xml.apache.org/axis/}Server.userException faultString: java.io.IOException: javax.xml.rpc.JAXRPCException: unable to get serializer for class org.apache.axis.encoding.ser.BeanSerializer faultActor: null faultDetail: stackTrace: java.io.IOException: javax.xml.rpc.JAXRPCException: unable to get serializer for class org.apache.axis.encoding.ser.BeanSerializer at org.apache.axis.encoding.ser.BeanSerializer.serialize (BeanSerializer.java:258) at org.apache.axis.encoding.SerializationContextImpl.serializeActual (SerializationContextImpl.java:1209) at org.apache.axis.encoding.SerializationContextImpl.serialize (SerializationContextImpl.java:754) at org.apache.axis.message.RPCParam.serialize(RPCParam.java:225) at org.apache.axis.message.RPCElement.outputImpl(RPCElement.java:309) at org.apache.axis.message.MessageElement.output (MessageElement.java:740) at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:142) at org.apache.axis.message.SOAPEnvelope.outputImpl (SOAPEnvelope.java:401) at org.apache.axis.message.MessageElement.output (MessageElement.java:740) at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:276) at org.apache.axis.SOAPPart.getAsString(SOAPPart.java:482) at org.apache.axis.SOAPPart.getAsBytes(SOAPPart.java:373) at org.apache.axis.Message.getContentType(Message.java:400) at org.apache.axis.transport.http.AxisServlet.sendResponse (AxisServlet.java:789) at org.apache.axis.transport.http.AxisServlet.doPost (AxisServlet.java:723) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at org.apache.axis.transport.http.AxisServletBase.service (AxisServletBase.java:335) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl.invokeServlet (ServletStubImpl.java:265) at weblogic.servlet.internal.ServletStubImpl.invokeServlet (ServletStubImpl.java:200) at weblogic.servlet.internal.WebAppServletContext.invokeServlet (WebAppServletContext.java:2546) at weblogic.servlet.internal.ServletRequestImpl.execute (ServletRequestImpl.java:2260) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120) <Sep 16, 2002 4:42:11 PM EDT> <Error> <HTTP> <[WebAppServletContext (255088,axis,/axis)] Servlet failed with IOException AxisFault faultCode: {http://xml.apache.org/axis/}Server.userException faultString: java.io.IOException: java.io.IOException: No serializer found for class com.rsa.csf.clientservice.authenticationapi.RequiredAPIParameter in registry org.apache.axis.encoding.TypeMappingImpl@476bca faultActor: null faultDetail: stackTrace: java.io.IOException: java.io.IOException: No serializer found for class com.rsa.csf.clientservice.authenticationapi.RequiredAPIParameter in registry org.apache.axis.encoding.TypeMappingImpl@476bca at org.apache.axis.encoding.ser.BeanSerializer.serialize (BeanSerializer.java:258) at org.apache.axis.encoding.SerializationContextImpl.serializeActual (SerializationContextImpl.java:1209) at org.apache.axis.encoding.SerializationContextImpl.serialize (SerializationContextImpl.java:754) at org.apache.axis.message.RPCParam.serialize(RPCParam.java:225) at org.apache.axis.message.RPCElement.outputImpl(RPCElement.java:309) at org.apache.axis.message.MessageElement.output (MessageElement.java:740) at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:142) at org.apache.axis.message.SOAPEnvelope.outputImpl (SOAPEnvelope.java:401) at org.apache.axis.message.MessageElement.output (MessageElement.java:740) at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:276) at org.apache.axis.SOAPPart.getAsString(SOAPPart.java:482) at org.apache.axis.SOAPPart.getAsBytes(SOAPPart.java:373) at org.apache.axis.Message.getContentType(Message.java:400) at org.apache.axis.transport.http.AxisServlet.sendResponse (AxisServlet.java:789) at org.apache.axis.transport.http.AxisServlet.doPost (AxisServlet.java:723) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at org.apache.axis.transport.http.AxisServletBase.service (AxisServletBase.java:335) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl.invokeServlet (ServletStubImpl.java:265) at weblogic.servlet.internal.ServletStubImpl.invokeServlet (ServletStubImpl.java:200) at weblogic.servlet.internal.WebAppServletContext.invokeServlet (WebAppServletContext.java:2546) at weblogic.servlet.internal.ServletRequestImpl.execute (ServletRequestImpl.java:2260) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120) <Sep 16, 2002 4:43:25 PM EDT> <Error> <HTTP> <[WebAppServletContext (255088,axis,/axis)] Servlet failed with IOException AxisFault faultCode: {http://xml.apache.org/axis/}Server.userException faultString: java.io.IOException: javax.xml.rpc.JAXRPCException: unable to get serializer for class org.apache.axis.encoding.ser.BeanSerializer faultActor: null faultDetail: stackTrace: java.io.IOException: javax.xml.rpc.JAXRPCException: unable to get serializer for class org.apache.axis.encoding.ser.BeanSerializer at org.apache.axis.encoding.ser.BeanSerializer.serialize (BeanSerializer.java:258) at org.apache.axis.encoding.SerializationContextImpl.serializeActual (SerializationContextImpl.java:1209) at org.apache.axis.encoding.SerializationContextImpl.serialize (SerializationContextImpl.java:754) at org.apache.axis.message.RPCParam.serialize(RPCParam.java:225) at org.apache.axis.message.RPCElement.outputImpl(RPCElement.java:309) at org.apache.axis.message.MessageElement.output (MessageElement.java:740) at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:142) at org.apache.axis.message.SOAPEnvelope.outputImpl (SOAPEnvelope.java:401) at org.apache.axis.message.MessageElement.output (MessageElement.java:740) at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:276) at org.apache.axis.SOAPPart.getAsString(SOAPPart.java:482) at org.apache.axis.SOAPPart.getAsBytes(SOAPPart.java:373) at org.apache.axis.Message.getContentType(Message.java:400) at org.apache.axis.transport.http.AxisServlet.sendResponse (AxisServlet.java:789) at org.apache.axis.transport.http.AxisServlet.doPost (AxisServlet.java:723) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at org.apache.axis.transport.http.AxisServletBase.service (AxisServletBase.java:335) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl.invokeServlet (ServletStubImpl.java:265) at weblogic.servlet.internal.ServletStubImpl.invokeServlet (ServletStubImpl.java:200) at weblogic.servlet.internal.WebAppServletContext.invokeServlet (WebAppServletContext.java:2546) at weblogic.servlet.internal.ServletRequestImpl.execute (ServletRequestImpl.java:2260) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120) ---Stack Trace------Stack Trace------Stack Trace--- ---WSDD------WSDD------WSDD------WSDD------WSDD--- <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="AuthenticationAPI" provider="java:RPC"> <namespace>http://rsa.com/csf/clientservice/authenticationapi/AuthenticationAPI< /namespace> <parameter name="className" value="com.rsa.csf.clientservice.authenticationapi.AuthenticationAPI" /> <parameter name="allowedMethods" value="startAuth continueAuth endAuth" /> <parameter name="scope" value="Session" /> <parameter name="sendMultiRefs" value="false" /> <operation name="startAuth" returnQName="return" returnType="authapi:AuthenticationAPIResponse" xmlns:authapi="http://rsa.com/csf/clientservice/authenticationapi/Authentication API"> <parameter name="request" type="authapi:AuthenticationAPIRequest" /> </operation> <operation name="continueAuth" returnQName="return" returnType="authapi:AuthenticationAPIResponse" xmlns:authapi="http://rsa.com/csf/clientservice/authenticationapi/Authentication API"> <parameter name="request" type="authapi:AuthenticationAPIRequest" /> </operation> <operation name="endAuth" returnQName="return" xmlns:authapi="http://rsa.com/csf/clientservice/authenticationapi/Authentication API"> <parameter name="request" type="authapi:AuthenticationAPIRequest" /> </operation> <typeMapping deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="authapi:ArrayOfAPIParameter" serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" type="java:com.rsa.csf.clientservice.authenticationapi.APIParameter[]" xmlns:authapi="http://rsa.com/csf/clientservice/authenticationapi/Authentication API" /> <typeMapping deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="authapi:ArrayOfRequiredAPIParameter" serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" type="java:com.rsa.csf.clientservice.authenticationapi.RequiredAPIParameter[]" xmlns:authapi="http://rsa.com/csf/clientservice/authenticationapi/Authentication API" /> <typeMapping deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="authapi:ArrayOfString" serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" type="java:java.lang.String[]" xmlns:authapi="http://rsa.com/csf/clientservice/authenticationapi/Authentication API" /> <beanMapping languageSpecificType="java:com.rsa.csf.clientservice.authenticationapi.Authentic ationAPIRequest" qname="authapi:AuthenticationAPIRequest" xmlns:authapi="http://rsa.com/csf/clientservice/authenticationapi/Authentication API" /> <beanMapping languageSpecificType="java:com.rsa.csf.clientservice.authenticationapi.Authentic ationAPIResponse" qname="authapi:AuthenticationAPIResponse" xmlns:authapi="http://rsa.com/csf/clientservice/authenticationapi/Authentication API" /> <beanMapping languageSpecificType="java:com.rsa.csf.clientservice.authenticationapi.APIParame ter" qname="authapi:APIParameter" xmlns:authapi="http://rsa.com/csf/clientservice/authenticationapi/Authentication API" /> <beanMapping languageSpecificType="java:com.rsa.csf.clientservice.authenticationapi.RequiredA PIParameter" qname="authapi:RequiredAPIParameter" xmlns:authapi="http://rsa.com/csf/clientservice/authenticationapi/Authentication API" /> </service> </deployment> ---WSDD------WSDD------WSDD------WSDD------WSDD--- ---WSDL------WSDL------WSDL------WSDL------WSDL--- <?xml version="1.0" encoding="UTF-8" ?> <wsdl:definitions targetNamespace="http://rsa.com/csf/clientservice/authenticationapi/Authenticati onAPI" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://rsa.com/csf/clientservice/authenticationapi/AuthenticationAPI -impl" xmlns:intf="http://rsa.com/csf/clientservice/authenticationapi/AuthenticationAPI " xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:authapi="http://rsa.com/csf/clientservice/authenticationapi/Authentication API" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:types> <schema targetNamespace="http://rsa.com/csf/clientservice/authenticationapi/Authenticati onAPI" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> <complexType name="AuthenticationAPIRequest"> <sequence> <element name="authContext" nillable="true" type="xsd:string" /> <element name="XMLTicket" nillable="true" type="xsd:string" /> <element name="lang" nillable="true" type="xsd:string" /> <element name="country" nillable="true" type="xsd:string" /> <element name="policy" nillable="true" type="xsd:string" /> <element name="resource" nillable="true" type="xsd:string" /> <element name="parameters" nillable="true" type="authapi:ArrayOfAPIParameter" /> </sequence> </complexType> <complexType name="APIParameter"> <sequence> <element name="id" nillable="true" type="xsd:string" /> <element name="value" nillable="true" type="xsd:string" /> </sequence> </complexType> <complexType name="ArrayOfAPIParameter"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="authapi:APIParameter[]" /> </restriction> </complexContent> </complexType> <element name="AuthenticationAPIRequest" nillable="true" type="authapi:AuthenticationAPIRequest" /> <complexType name="AuthenticationAPIResponse"> <sequence> <element name="authContext" nillable="true" type="xsd:string" /> <element name="XMLTicket" nillable="true" type="xsd:string" /> <element name="authStatus" type="xsd:int" /> <element name="info" nillable="true" type="xsd:string" /> <element name="messages" nillable="true" type="authapi:ArrayOfString" /> <element name="requiredParameters" nillable="true" type="authapi:ArrayOfRequiredAPIParameter" /> </sequence> </complexType> <complexType name="RequiredAPIParameter"> <sequence> <element name="type" type="xsd:int" /> <element name="id" nillable="true" type="xsd:string" /> <element name="min" type="xsd:int" /> <element name="max" type="xsd:int" /> <element name="prompt" nillable="true" type="xsd:string" /> <element name="defaultValue" nillable="true" type="xsd:string" /> <element name="confirmationMessage" nillable="true" type="xsd:string" /> </sequence> </complexType> <complexType name="ArrayOfRequiredAPIParameter"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="authapi:RequiredAPIParameter[]" /> </restriction> </complexContent> </complexType> <complexType name="ArrayOfString"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]" /> </restriction> </complexContent> </complexType> <element name="AuthenticationAPIResponse" nillable="true" type="authapi:AuthenticationAPIResponse" /> </schema> </wsdl:types> <wsdl:message name="continueAuthResponse"> <wsdl:part name="return" type="authapi:AuthenticationAPIResponse" /> </wsdl:message> <wsdl:message name="continueAuthRequest"> <wsdl:part name="request" type="authapi:AuthenticationAPIRequest" /> </wsdl:message> <wsdl:message name="startAuthResponse"> <wsdl:part name="return" type="authapi:AuthenticationAPIResponse" /> </wsdl:message> <wsdl:message name="endAuthResponse" /> <wsdl:message name="startAuthRequest"> <wsdl:part name="request" type="authapi:AuthenticationAPIRequest" /> </wsdl:message> <wsdl:message name="endAuthRequest"> <wsdl:part name="request" type="authapi:AuthenticationAPIRequest" /> </wsdl:message> <wsdl:portType name="AuthenticationAPI"> <wsdl:operation name="startAuth" parameterOrder="request"> <wsdl:input message="intf:startAuthRequest" name="startAuthRequest" /> <wsdl:output message="intf:startAuthResponse" name="startAuthResponse" /> </wsdl:operation> <wsdl:operation name="continueAuth" parameterOrder="request"> <wsdl:input message="intf:continueAuthRequest" name="continueAuthRequest" /> <wsdl:output message="intf:continueAuthResponse" name="continueAuthResponse" /> </wsdl:operation> <wsdl:operation name="endAuth" parameterOrder="request"> <wsdl:input message="intf:endAuthRequest" name="endAuthRequest" /> <wsdl:output message="intf:endAuthResponse" name="endAuthResponse" /> </wsdl:operation> </wsdl:portType> <wsdl:binding name="AuthenticationAPISoapBinding" type="intf:AuthenticationAPI"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="startAuth"> <wsdlsoap:operation soapAction="" /> <wsdl:input name="startAuthRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://rsa.com/csf/clientservice/authenticationapi/AuthenticationAPI" use="encoded" /> </wsdl:input> <wsdl:output name="startAuthResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://rsa.com/csf/clientservice/authenticationapi/AuthenticationAPI" use="encoded" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="continueAuth"> <wsdlsoap:operation soapAction="" /> <wsdl:input name="continueAuthRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://rsa.com/csf/clientservice/authenticationapi/AuthenticationAPI" use="encoded" /> </wsdl:input> <wsdl:output name="continueAuthResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://rsa.com/csf/clientservice/authenticationapi/AuthenticationAPI" use="encoded" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="endAuth"> <wsdlsoap:operation soapAction="" /> <wsdl:input name="endAuthRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://rsa.com/csf/clientservice/authenticationapi/AuthenticationAPI" use="encoded" /> </wsdl:input> <wsdl:output name="endAuthResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://rsa.com/csf/clientservice/authenticationapi/AuthenticationAPI" use="encoded" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="AuthenticationAPIService"> <wsdl:port binding="intf:AuthenticationAPISoapBinding" name="AuthenticationAPI"> <wsdlsoap:address location="http://localhost:7001/axis/services/AuthenticationAPI" /> </wsdl:port> </wsdl:service> </wsdl:definitions> ---WSDL------WSDL------WSDL------WSDL------WSDL---