8 Replies Latest reply on Jun 23, 2005 3:52 AM by rutschmann

    Complex Types > Changes between 4.0.2RC1 and 4.0.2 ?

    rutschmann

      Hey to all,

      I've a WebService which returns Simple and a Complex Type in an Array (accord. to Wiki). While this works quite well for 4.0.2RC1 the same ear gets following error on 4.0.2:

      13:51:13,610 ERROR [BeanSerializer] Exception:
      java.io.IOException: No serializer found for class com.corpus.ejb.webservices.statistics.Statistics_ScanDataDTO in registry org.jboss.axis.encoding.TypeMappingImpl@1364b53

      Is there any change in packaging or xml description necessary between 4.0.2RC1 and the 4.0.2?

      Thanks for any hint...

        • 1. Re: Complex Types > Changes between 4.0.2RC1 and 4.0.2 ?
          kanno

          Sounds very similar to the problem that I have here :

          http://www.jboss.org/index.html?module=bb&op=viewtopic&t=65067

          Funny thing is I deployed the ear in 4.0.1 and it works... Do you know of anyway to view the contents of the typemapping map?

          _Ryan

          • 2. Re: Complex Types > Changes between 4.0.2RC1 and 4.0.2 ?
            kanno

             

            "Rutschmann@corpus-e.com" wrote:
            Hey to all,

            I've a WebService which returns Simple and a Complex Type in an Array (accord. to Wiki). While this works quite well for 4.0.2RC1 the same ear gets following error on 4.0.2:

            13:51:13,610 ERROR [BeanSerializer] Exception:
            java.io.IOException: No serializer found for class com.corpus.ejb.webservices.statistics.Statistics_ScanDataDTO in registry org.jboss.axis.encoding.TypeMappingImpl@1364b53

            Is there any change in packaging or xml description necessary between 4.0.2RC1 and the 4.0.2?

            Thanks for any hint...


            I'm wondering if this could be attributed to wscompile generating a jaxrpc-mapping.xml file that is missing a package; ie, the complex type is not in the same package as the web service - so another package-mapping is needed?

            _Ryan

            • 3. Re: Complex Types > Changes between 4.0.2RC1 and 4.0.2 ?
              thomas.diesler

              CAn you provide a sample deployment that shows the issue? Have you made the transition from org.apache.axis to org.jboss.axis in ws4ee-deployment.xml?

              • 4. Re: Complex Types > Changes between 4.0.2RC1 and 4.0.2 ?
                rutschmann

                I've no ws4ee-deployment.xml incorporated in the moment which works fine for 4.0.2RC1.In 4.0.2 the simple types are running well but for the complex type no serializer can be found.When I'm trying to use a ws4ee-deployment.xml the same things happen: simple types ok but complex not serializable...


                StatisticsWS.wsdl looks like this:

                <?xml version="1.0" encoding="UTF-8"?>
                
                <definitions name="StatisticsWS" targetNamespace="http://Statistics.statistics.webservices.ejb.corpus.com/" xmlns:tns="http://Statistics.statistics.webservices.ejb.corpus.com/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns2="http://Statistics.statistics.webservices.ejb.corpus.com/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
                 <types>
                 <schema targetNamespace="http://Statistics.statistics.webservices.ejb.corpus.com/types" xmlns:tns="http://Statistics.statistics.webservices.ejb.corpus.com/types" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://www.w3.org/2001/XMLSchema">
                 <complexType name="Statistics_ScanArrayDTO">
                 <sequence>
                 <element name="scans" type="tns:Statistics_ScanDataDTO" nillable="true" minOccurs="0" maxOccurs="unbounded"/></sequence></complexType>
                 <complexType name="Statistics_ScanDataDTO">
                 <sequence>
                 <element name="date" type="dateTime" nillable="true"/>
                 <element name="numberOfScans" type="int"/></sequence></complexType></schema></types>
                 <message name="Statistics_getScanCount">
                 <part name="Date_1" type="xsd:dateTime"/>
                 <part name="Date_2" type="xsd:dateTime"/>
                 <part name="String_3" type="xsd:string"/>
                 <part name="String_4" type="xsd:string"/>
                 <part name="String_5" type="xsd:string"/></message>
                 <message name="Statistics_getScanCountResponse">
                 <part name="result" type="xsd:int"/></message>
                 <message name="Statistics_getScanData">
                 <part name="Date_1" type="xsd:dateTime"/>
                 <part name="Date_2" type="xsd:dateTime"/>
                 <part name="String_3" type="xsd:string"/>
                 <part name="String_4" type="xsd:string"/>
                 <part name="String_5" type="xsd:string"/></message>
                 <message name="Statistics_getScanDataResponse">
                 <part name="result" type="ns2:Statistics_ScanArrayDTO"/></message>
                 <message name="Statistics_getVOKCalls">
                 <part name="Date_1" type="xsd:dateTime"/>
                 <part name="Date_2" type="xsd:dateTime"/>
                 <part name="String_3" type="xsd:string"/>
                 <part name="String_4" type="xsd:string"/>
                 <part name="String_5" type="xsd:string"/></message>
                 <message name="Statistics_getVOKCallsResponse">
                 <part name="result" type="xsd:int"/></message>
                 <message name="Statistics_getVersion"/>
                 <message name="Statistics_getVersionResponse">
                 <part name="result" type="xsd:string"/></message>
                 <portType name="Statistics">
                 <operation name="getScanCount" parameterOrder="Date_1 Date_2 String_3 String_4 String_5">
                 <input message="tns:Statistics_getScanCount"/>
                 <output message="tns:Statistics_getScanCountResponse"/></operation>
                 <operation name="getScanData" parameterOrder="Date_1 Date_2 String_3 String_4 String_5">
                 <input message="tns:Statistics_getScanData"/>
                 <output message="tns:Statistics_getScanDataResponse"/></operation>
                 <operation name="getVOKCalls" parameterOrder="Date_1 Date_2 String_3 String_4 String_5">
                 <input message="tns:Statistics_getVOKCalls"/>
                 <output message="tns:Statistics_getVOKCallsResponse"/></operation>
                 <operation name="getVersion">
                 <input message="tns:Statistics_getVersion"/>
                 <output message="tns:Statistics_getVersionResponse"/></operation></portType>
                 <binding name="StatisticsBinding" type="tns:Statistics">
                 <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
                 <operation name="getScanCount">
                 <soap:operation soapAction=""/>
                 <input>
                 <soap:body use="literal" namespace="http://Statistics.statistics.webservices.ejb.corpus.com/"/></input>
                 <output>
                 <soap:body use="literal" namespace="http://Statistics.statistics.webservices.ejb.corpus.com/"/></output></operation>
                 <operation name="getScanData">
                 <soap:operation soapAction=""/>
                 <input>
                 <soap:body use="literal" namespace="http://Statistics.statistics.webservices.ejb.corpus.com/"/></input>
                 <output>
                 <soap:body use="literal" namespace="http://Statistics.statistics.webservices.ejb.corpus.com/"/></output></operation>
                 <operation name="getVOKCalls">
                 <soap:operation soapAction=""/>
                 <input>
                 <soap:body use="literal" namespace="http://Statistics.statistics.webservices.ejb.corpus.com/"/></input>
                 <output>
                 <soap:body use="literal" namespace="http://Statistics.statistics.webservices.ejb.corpus.com/"/></output></operation>
                 <operation name="getVersion">
                 <soap:operation soapAction=""/>
                 <input>
                 <soap:body use="literal" namespace="http://Statistics.statistics.webservices.ejb.corpus.com/"/></input>
                 <output>
                 <soap:body use="literal" namespace="http://Statistics.statistics.webservices.ejb.corpus.com/"/></output></operation></binding>
                 <service name="StatisticsWS">
                 <port name="StatisticsPort" binding="tns:StatisticsBinding">
                 <soap:address location="REPLACE_WITH_ACTUAL_URL"/></port></service></definitions>


                mapping.xml

                <?xml version="1.0" encoding="UTF-8"?>
                <java-wsdl-mapping version="1.1" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd">
                <package-mapping>
                <package-type>com.corpus.ejb.webservices.statistics</package-type>
                <namespaceURI>http://Statistics.statistics.webservices.ejb.corpus.com/types</namespaceURI>
                </package-mapping>
                <package-mapping>
                <package-type>com.corpus.ejb.webservices.statistics</package-type>
                <namespaceURI>http://Statistics.statistics.webservices.ejb.corpus.com/</namespaceURI>
                </package-mapping>
                <java-xml-type-mapping>
                <java-type>com.corpus.ejb.webservices.statistics.Statistics_ScanDataDTO</java-type>
                <root-type-qname xmlns:typeNS="http://Statistics.statistics.webservices.ejb.corpus.com/types">typeNS:Statistics_ScanDataDTO</root-type-qname>
                <qname-scope>complexType</qname-scope>
                <variable-mapping>
                <java-variable-name>date</java-variable-name>
                <xml-element-name>date</xml-element-name>
                </variable-mapping>
                <variable-mapping>
                <java-variable-name>numberOfScans</java-variable-name>
                <xml-element-name>numberOfScans</xml-element-name>
                </variable-mapping>
                </java-xml-type-mapping>
                <java-xml-type-mapping>
                <java-type>com.corpus.ejb.webservices.statistics.Statistics_ScanArrayDTO</java-type>
                <root-type-qname xmlns:typeNS="http://Statistics.statistics.webservices.ejb.corpus.com/types">typeNS:Statistics_ScanArrayDTO</root-type-qname>
                <qname-scope>complexType</qname-scope>
                <variable-mapping>
                <java-variable-name>scans</java-variable-name>
                <xml-element-name>scans</xml-element-name>
                </variable-mapping>
                </java-xml-type-mapping>
                <service-interface-mapping>
                <service-interface>com.corpus.ejb.webservices.statistics.StatisticsWS</service-interface>
                <wsdl-service-name xmlns:serviceNS="http://Statistics.statistics.webservices.ejb.corpus.com/">serviceNS:StatisticsWS</wsdl-service-name>
                <port-mapping>
                <port-name>StatisticsPort</port-name>
                <java-port-name>StatisticsPort</java-port-name>
                </port-mapping>
                </service-interface-mapping>
                <service-endpoint-interface-mapping>
                <service-endpoint-interface>com.corpus.ejb.webservices.statistics.Statistics</service-endpoint-interface>
                <wsdl-port-type xmlns:portTypeNS="http://Statistics.statistics.webservices.ejb.corpus.com/">portTypeNS:Statistics</wsdl-port-type>
                <wsdl-binding xmlns:bindingNS="http://Statistics.statistics.webservices.ejb.corpus.com/">bindingNS:StatisticsBinding</wsdl-binding>
                <service-endpoint-method-mapping>
                <java-method-name>getScanCount</java-method-name>
                <wsdl-operation>getScanCount</wsdl-operation>
                <method-param-parts-mapping>
                <param-position>0</param-position>
                <param-type>java.util.Date</param-type>
                <wsdl-message-mapping>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getScanCount</wsdl-message>
                <wsdl-message-part-name>Date_1</wsdl-message-part-name>
                <parameter-mode>IN</parameter-mode>
                </wsdl-message-mapping>
                </method-param-parts-mapping>
                <method-param-parts-mapping>
                <param-position>1</param-position>
                <param-type>java.util.Date</param-type>
                <wsdl-message-mapping>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getScanCount</wsdl-message>
                <wsdl-message-part-name>Date_2</wsdl-message-part-name>
                <parameter-mode>IN</parameter-mode>
                </wsdl-message-mapping>
                </method-param-parts-mapping>
                <method-param-parts-mapping>
                <param-position>2</param-position>
                <param-type>java.lang.String</param-type>
                <wsdl-message-mapping>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getScanCount</wsdl-message>
                <wsdl-message-part-name>String_3</wsdl-message-part-name>
                <parameter-mode>IN</parameter-mode>
                </wsdl-message-mapping>
                </method-param-parts-mapping>
                <method-param-parts-mapping>
                <param-position>3</param-position>
                <param-type>java.lang.String</param-type>
                <wsdl-message-mapping>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getScanCount</wsdl-message>
                <wsdl-message-part-name>String_4</wsdl-message-part-name>
                <parameter-mode>IN</parameter-mode>
                </wsdl-message-mapping>
                </method-param-parts-mapping>
                <method-param-parts-mapping>
                <param-position>4</param-position>
                <param-type>java.lang.String</param-type>
                <wsdl-message-mapping>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getScanCount</wsdl-message>
                <wsdl-message-part-name>String_5</wsdl-message-part-name>
                <parameter-mode>IN</parameter-mode>
                </wsdl-message-mapping>
                </method-param-parts-mapping>
                <wsdl-return-value-mapping>
                <method-return-value>int</method-return-value>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getScanCountResponse</wsdl-message>
                <wsdl-message-part-name>result</wsdl-message-part-name>
                </wsdl-return-value-mapping>
                </service-endpoint-method-mapping>
                <service-endpoint-method-mapping>
                <java-method-name>getScanData</java-method-name>
                <wsdl-operation>getScanData</wsdl-operation>
                <method-param-parts-mapping>
                <param-position>0</param-position>
                <param-type>java.util.Date</param-type>
                <wsdl-message-mapping>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getScanData</wsdl-message>
                <wsdl-message-part-name>Date_1</wsdl-message-part-name>
                <parameter-mode>IN</parameter-mode>
                </wsdl-message-mapping>
                </method-param-parts-mapping>
                <method-param-parts-mapping>
                <param-position>1</param-position>
                <param-type>java.util.Date</param-type>
                <wsdl-message-mapping>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getScanData</wsdl-message>
                <wsdl-message-part-name>Date_2</wsdl-message-part-name>
                <parameter-mode>IN</parameter-mode>
                </wsdl-message-mapping>
                </method-param-parts-mapping>
                <method-param-parts-mapping>
                <param-position>2</param-position>
                <param-type>java.lang.String</param-type>
                <wsdl-message-mapping>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getScanData</wsdl-message>
                <wsdl-message-part-name>String_3</wsdl-message-part-name>
                <parameter-mode>IN</parameter-mode>
                </wsdl-message-mapping>
                </method-param-parts-mapping>
                <method-param-parts-mapping>
                <param-position>3</param-position>
                <param-type>java.lang.String</param-type>
                <wsdl-message-mapping>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getScanData</wsdl-message>
                <wsdl-message-part-name>String_4</wsdl-message-part-name>
                <parameter-mode>IN</parameter-mode>
                </wsdl-message-mapping>
                </method-param-parts-mapping>
                <method-param-parts-mapping>
                <param-position>4</param-position>
                <param-type>java.lang.String</param-type>
                <wsdl-message-mapping>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getScanData</wsdl-message>
                <wsdl-message-part-name>String_5</wsdl-message-part-name>
                <parameter-mode>IN</parameter-mode>
                </wsdl-message-mapping>
                </method-param-parts-mapping>
                <wsdl-return-value-mapping>
                <method-return-value>com.corpus.ejb.webservices.statistics.Statistics_ScanArrayDTO</method-return-value>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getScanDataResponse</wsdl-message>
                <wsdl-message-part-name>result</wsdl-message-part-name>
                </wsdl-return-value-mapping>
                </service-endpoint-method-mapping>
                <service-endpoint-method-mapping>
                <java-method-name>getVOKCalls</java-method-name>
                <wsdl-operation>getVOKCalls</wsdl-operation>
                <method-param-parts-mapping>
                <param-position>0</param-position>
                <param-type>java.util.Date</param-type>
                <wsdl-message-mapping>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getVOKCalls</wsdl-message>
                <wsdl-message-part-name>Date_1</wsdl-message-part-name>
                <parameter-mode>IN</parameter-mode>
                </wsdl-message-mapping>
                </method-param-parts-mapping>
                <method-param-parts-mapping>
                <param-position>1</param-position>
                <param-type>java.util.Date</param-type>
                <wsdl-message-mapping>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getVOKCalls</wsdl-message>
                <wsdl-message-part-name>Date_2</wsdl-message-part-name>
                <parameter-mode>IN</parameter-mode>
                </wsdl-message-mapping>
                </method-param-parts-mapping>
                <method-param-parts-mapping>
                <param-position>2</param-position>
                <param-type>java.lang.String</param-type>
                <wsdl-message-mapping>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getVOKCalls</wsdl-message>
                <wsdl-message-part-name>String_3</wsdl-message-part-name>
                <parameter-mode>IN</parameter-mode>
                </wsdl-message-mapping>
                </method-param-parts-mapping>
                <method-param-parts-mapping>
                <param-position>3</param-position>
                <param-type>java.lang.String</param-type>
                <wsdl-message-mapping>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getVOKCalls</wsdl-message>
                <wsdl-message-part-name>String_4</wsdl-message-part-name>
                <parameter-mode>IN</parameter-mode>
                </wsdl-message-mapping>
                </method-param-parts-mapping>
                <method-param-parts-mapping>
                <param-position>4</param-position>
                <param-type>java.lang.String</param-type>
                <wsdl-message-mapping>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getVOKCalls</wsdl-message>
                <wsdl-message-part-name>String_5</wsdl-message-part-name>
                <parameter-mode>IN</parameter-mode>
                </wsdl-message-mapping>
                </method-param-parts-mapping>
                <wsdl-return-value-mapping>
                <method-return-value>int</method-return-value>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getVOKCallsResponse</wsdl-message>
                <wsdl-message-part-name>result</wsdl-message-part-name>
                </wsdl-return-value-mapping>
                </service-endpoint-method-mapping>
                <service-endpoint-method-mapping>
                <java-method-name>getVersion</java-method-name>
                <wsdl-operation>getVersion</wsdl-operation>
                <wsdl-return-value-mapping>
                <method-return-value>java.lang.String</method-return-value>
                <wsdl-message xmlns:wsdlMsgNS="http://Statistics.statistics.webservices.ejb.corpus.com/">wsdlMsgNS:Statistics_getVersionResponse</wsdl-message>
                <wsdl-message-part-name>result</wsdl-message-part-name>
                </wsdl-return-value-mapping>
                </service-endpoint-method-mapping>
                </service-endpoint-interface-mapping>
                </java-wsdl-mapping>


                webservices.xml

                <webservices xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd" version="1.1">
                 <webservice-description>
                 <webservice-description-name>StatisticsWS</webservice-description-name>
                 <wsdl-file>WEB-INF/wsdl/StatisticsWS.wsdl</wsdl-file>
                 <jaxrpc-mapping-file>WEB-INF/mapping.xml</jaxrpc-mapping-file>
                 <port-component>
                 <port-component-name>Statistics</port-component-name>
                 <wsdl-port>StatisticsPort</wsdl-port>
                 <service-endpoint-interface>com.corpus.ejb.webservices.statistics.Statistics</service-endpoint-interface>
                 <service-impl-bean>
                 <servlet-link>StatisticsWS</servlet-link>
                 </service-impl-bean>
                 </port-component>
                 </webservice-description>
                </webservices>


                ws4ee-deployment.xml

                <deployment
                 xmlns='http://xml.apache.org/axis/wsdd/'
                 xmlns:java='http://xml.apache.org/axis/wsdd/providers/java'
                 xmlns:soap='http://schemas.xmlsoap.org/soap/encoding/'
                 xmlns:xsi='http://www.w3.org/2000/10/XMLSchema-instance'
                 xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
                
                 <typeMapping
                 qname='ns2:Statistics_ScanArrayDTO' xmlns:ns2='http://Statistics.statistics.webservices.ejb.corpus.com/types'
                 type='java:com.corpus.ejb.webservices.statistics.Statistics_ScanArrayDTO'
                 serializer='org.jboss.axis.encoding.ser.BeanSerializerFactory'
                 deserializer='org.jboss.axis.encoding.ser.BeanDeserializerFactory'
                 encodingStyle=''>
                 </typeMapping>
                
                 <typeMapping
                 qname='ns2:Statistics_ScanDataDTO' xmlns:ns2='http://Statistics.statistics.webservices.ejb.corpus.com/types'
                 type='java:com.corpus.ejb.webservices.statistics.Statistics_ScanDataDTO'
                 serializer='org.jboss.axis.encoding.ser.BeanSerializerFactory'
                 deserializer='org.jboss.axis.encoding.ser.BeanDeserializerFactory'
                 encodingStyle=''>
                 </typeMapping>
                
                </deployment>


                • 5. Re: Complex Types > Changes between 4.0.2RC1 and 4.0.2 ?
                  thomas.diesler

                  I need to see the simplified EAR (including the sources) to reproduce what you are seeing. Please create a JIRA issue and attach a sample deployment.

                  This is described here

                  http://www.jboss.org/index.html?module=bb&op=viewtopic&t=62678

                  • 6. Re: Complex Types > Changes between 4.0.2RC1 and 4.0.2 ?
                    rutschmann

                    I've tested a bit back and forth with JBoss 4.0.2:

                    The problem seems to be between 4.0.2 and 4.0.2RC1 that Arrays of Complex types are handled different.

                    With 4.0.2RC1 I had the workaround to incapsulate the array in a wrapper complex type just holding the array. This worked out fine.

                    In 4.0.2 the same ear got the error 'no serializer found' for the 'arrayed' type (not for the wrapper compley type). If the return value is only the complex type (not an array of this type) the BeanSerializer is used properly. If it returns an Array of the same type the damned error 'no serializer' appears again.

                    How is it possible to return an array of a complex types via ws using 4.0.2?

                    • 7. Re: Complex Types > Changes between 4.0.2RC1 and 4.0.2 ?
                      kanno

                      Not that this suggestion would help, but in my post, I had a similar error about not finding a serializer. You can read about it here... I was attempting a very similar thing... (array of complex types).

                      http://www.jboss.org/index.html?module=bb&op=viewtopic&t=65067&postdays=0&postorder=asc&start=10

                      Seems that there was confusion on the ear/war I deployed since I had multiple class files of the same class. I used the verification kit from Sun to separate out the class files (using Class-Path in manifest files) and voila, all the errors disappeared.

                      _Ryan[/url]

                      • 8. Re: Complex Types > Changes between 4.0.2RC1 and 4.0.2 ?
                        rutschmann

                        Thanks for your hint. I finally found the difference between the two versions 4.0.2RC1 and 4.0.2 regarding complex types:

                        4.0.2 needs the wscompiled classes in WEB-INF, 4.0.2RC1 not.