0 Replies Latest reply on Feb 23, 2006 11:53 PM by akshaya pandey

    Serializer Exception in the reponse(SimpleSerializer failed

    akshaya pandey Newbie

      hi
      I am using the following wsdl. I pass the reply object across to server using wrapped inside replyHolder.The request is successfully received by the Web Service and processed correctly .However, when i receive it on the client side, I get the Serialization exception.
      Also , I used tcpmon to view the response i am getting from the server.
      It shows reply object as <arg1> instead of .So , it seems it unable to determine/recognize the reply object correctly.

      I have tried it in jboss4.0.3.SP1 and jboss 4.0.4.SP1.

      My wsdl is .
      <?xml version="1.0" encoding="UTF-8"?>
      <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://www.nextone.com/ivms/wsdl" xmlns:ns="http://www.nextone.com/ivms/schema/config" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.nextone.com/ivms/wsdl" name="NexToneGenerateRoutes">
      <wsdl:types>
      <xs:schema targetNamespace="http://www.nextone.com/ivms/schema/config" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
      <xs:include schemaLocation="generateroutes.xsd"/>
      </xs:schema>
      </wsdl:types>
      <wsdl:message name="generateRoutesRequest">
      <wsdl:part name="generateRoutesRequest" type="ns:editConfig"/>
      </wsdl:message>
      <wsdl:message name="generateRoutesResponse">
      <wsdl:part name="generateRoutesReply" type="ns:reply"/>
      </wsdl:message>
      <wsdl:message name="exportRoutesRequest">
      <wsdl:part name="exportRoutesRequest" type="ns:getConfig"/>
      <wsdl:part name="exportRoutesReply" type="ns:reply"/>
      </wsdl:message>
      <wsdl:message name="exportRoutesResponse">
      <wsdl:part name="exportRoutesReply" type="ns:reply"/>
      <wsdl:part name="exportedRoutes" type="xs:string"/>
      </wsdl:message>
      <wsdl:message name="generateRouteWithPriorityRequest">
      <wsdl:part name="generateRouteWithPriorityRequest" type="ns:editConfig"/>
      <wsdl:part name="routeToImport" type="xs:string"/>
      </wsdl:message>
      <wsdl:message name="generateRouteWithPriorityResponse">
      <wsdl:part name="generateRouteWithPriorityReply" type="ns:reply"/>
      </wsdl:message>
      <wsdl:portType name="generateRoutePortType">
      <wsdl:operation name="generateRoutes">
      <wsdl:input name="generateRoutesRequestMessage" message="generateRoutesRequest"/>
      <wsdl:output name="generateRoutesResponseMessage" message="generateRoutesResponse"/>
      </wsdl:operation>
      <wsdl:operation name="exportRoutes" parameterOrder="exportRoutesRequest exportRoutesReply">
      <wsdl:input name="exportRoutesRequestMessage" message="exportRoutesRequest"/>
      <wsdl:output name="exportRoutesResponseMessage" message="exportRoutesResponse"/>
      </wsdl:operation>
      <wsdl:operation name="generateRouteWithPriority">
      <wsdl:input name="generateRouteWithPriorityRequestMessage" message="generateRouteWithPriorityRequest"/>
      <wsdl:output name="generateRouteWithPriorityResponseMessage" message="generateRouteWithPriorityResponse"/>
      </wsdl:operation>
      </wsdl:portType>
      <wsdl:binding name="generateRouteBinding" type="generateRoutePortType">
      <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
      <wsdl:operation name="generateRoutes">
      <soap:operation/>
      <wsdl:input>
      <soap:body parts="generateRoutesRequest" use="literal" namespace="http://www.nextone.com/ivms/wsdl"/>
      </wsdl:input>
      <wsdl:output>
      <soap:body parts="generateRoutesReply" use="literal" namespace="http://www.nextone.com/ivms/wsdl"/>
      </wsdl:output>
      </wsdl:operation>
      <wsdl:operation name="exportRoutes">
      <soap:operation/>
      <wsdl:input>
      <soap:body use="literal" namespace="http://www.nextone.com/ivms/wsdl"/>
      </wsdl:input>
      <wsdl:output>
      <mime:multipartRelated>
      <mime:part>
      <mime:content part="exportedRoutes" type="text/xml"/>
      </mime:part>
      <mime:part>
      <soap:body parts="exportRoutesReply" use="literal" namespace="http://www.nextone.com/ivms/wsdl"/>
      </mime:part>
      </mime:multipartRelated>
      </wsdl:output>
      </wsdl:operation>
      <wsdl:operation name="generateRouteWithPriority">
      <soap:operation soapAction="generateRouteWithPriority" style="rpc"/>
      <wsdl:input>
      <mime:multipartRelated>
      <mime:part>
      <soap:body parts="generateRouteWithPriorityRequest" use="literal" namespace="http://www.nextone.com/ivms/wsdl"/>
      </mime:part>
      <mime:part>
      <mime:content part="routeToImport" type="text/xml"/>
      </mime:part>
      </mime:multipartRelated>
      </wsdl:input>
      <wsdl:output>
      <soap:body parts="generateRouteWithPriorityReply" use="literal" namespace="http://www.nextone.com/ivms/wsdl"/>
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
      <wsdl:service name="nextoneImportLCR">
      <wsdl:port name="generateRoutePort" binding="generateRouteBinding">
      <soap:address location="https://localhost:8443/ivms/NextoneGenerateRoute"/>
      </wsdl:port>
      </wsdl:service>
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Copyright 2005, NexTone Communications</wsdl:documentation>
      </wsdl:definitions>


      Also the schema definition i am using is
      <?xml version="1.0" encoding="UTF-8"?>
      <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.nextone.com/ivms/schema/config" xmlns:nsc="http://www.nextone.com/ivms/schema/common" targetNamespace="http://www.nextone.com/ivms/schema/config" elementFormDefault="unqualified" attributeFormDefault="unqualified">
      <xs:import namespace="http://www.nextone.com/ivms/schema/common" schemaLocation="common.xsd"/>
      <xs:complexType name="configType">
      <xs:sequence>
      <xs:element name="credential" type="nsc:credentialsType"/>
      <xs:element name="generateRouteConfig" type="generateRouteConfigType"/>
      </xs:sequence>
      </xs:complexType>
      <xs:complexType name="reply">
      <xs:sequence>
      <xs:element name="ok" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="error" type="nsc:errorType" nillable="true" minOccurs="0"/>
      </xs:sequence>
      </xs:complexType>
      <xs:complexType name="editConfig">
      <xs:sequence>
      <xs:element name="config" type="configType"/>
      <xs:element name="errorOption" type="nsc:errorOptionType"/>
      </xs:sequence>
      </xs:complexType>
      <xs:complexType name="getConfig">
      <xs:sequence>
      <xs:element name="credential" type="nsc:credentialsType"/>
      <xs:element name="getRouteConfig" type="getRouteFilterType"/>
      </xs:sequence>
      </xs:complexType>
      <xs:complexType name="generateRouteConfigType">
      <xs:sequence>
      <xs:element name="deviceName" type="xs:string" minOccurs="0"/>
      <xs:element name="partition" type="xs:string" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute name="applyRoutesToDevice" type="xs:boolean" use="optional" default="false"/>
      <xs:attribute name="stickyRoute" type="xs:boolean" use="optional" default="false"/>
      </xs:complexType>
      <xs:complexType name="getRouteFilterType">
      <xs:sequence>
      <xs:element name="carrier" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="partition" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="region" type="xs:string"/>
      </xs:sequence>
      </xs:complexType>
      </xs:schema>


      I have specified the following serializers:
      QName qn = new QName( "http://www.nextone.com/ivms/schema/common", "ErrorSeverity","ns1" );
      call.registerTypeMapping(ErrorSeverity.class,qn,
      org.jboss.axis.encoding.ser.EnumSerializerFactory.class,
      org.jboss.axis.encoding.ser.EnumDeserializerFactory.class);

      qn = new QName( "http://www.nextone.com/ivms/schema/common", "ErrorTag","ns1" );
      call.registerTypeMapping(ErrorTag.class,qn,
      org.jboss.axis.encoding.ser.EnumSerializerFactory.class,
      org.jboss.axis.encoding.ser.EnumDeserializerFactory.class);

      qn = new QName( "http://www.nextone.com/ivms/schema/common", "ErrorType","ns1" );
      call.registerTypeMapping(ErrorType_Enumeration.class,qn,
      org.jboss.axis.encoding.ser.EnumSerializerFactory.class,
      org.jboss.axis.encoding.ser.EnumDeserializerFactory.class);

      qn = new QName( "http://www.nextone.com/ivms/schema/common", "credentialsType","ns1" );
      call.registerTypeMapping(CredentialsType.class,qn,
      org.jboss.webservice.encoding.ser.MetaDataBeanSerializerFactory.class,
      org.jboss.webservice.encoding.ser.MetaDataBeanDeserializerFactory.class);

      qn = new QName( "http://www.nextone.com/ivms/schema/common", "dataErrorInfo","ns1" );
      call.registerTypeMapping(DataErrorInfo.class,qn,
      org.jboss.webservice.encoding.ser.MetaDataBeanSerializerFactory.class,
      org.jboss.webservice.encoding.ser.MetaDataBeanDeserializerFactory.class);

      qn = new QName( "http://www.nextone.com/ivms/schema/common", "errorInfoType","ns1" );
      call.registerTypeMapping(ErrorInfoType.class,qn,
      org.jboss.webservice.encoding.ser.MetaDataBeanSerializerFactory.class,
      org.jboss.webservice.encoding.ser.MetaDataBeanDeserializerFactory.class);

      qn = new QName( "http://www.nextone.com/ivms/schema/common", "errorOptionType","ns1" );
      call.registerTypeMapping(ErrorOptionType.class,qn,
      org.jboss.axis.encoding.ser.EnumSerializerFactory.class,
      org.jboss.axis.encoding.ser.EnumDeserializerFactory.class);

      qn = new QName( "http://www.nextone.com/ivms/schema/common", "errorType","ns1" );
      call.registerTypeMapping(ErrorType_Type.class,qn,
      org.jboss.webservice.encoding.ser.MetaDataBeanSerializerFactory.class,
      org.jboss.webservice.encoding.ser.MetaDataBeanDeserializerFactory.class);

      qn = new QName( "http://www.nextone.com/ivms/schema/config", "configType","ns1" );
      call.registerTypeMapping(ConfigType.class,qn,
      org.jboss.webservice.encoding.ser.MetaDataBeanSerializerFactory.class,
      org.jboss.webservice.encoding.ser.MetaDataBeanDeserializerFactory.class);

      qn = new QName( "http://www.nextone.com/ivms/schema/config", "getConfig","ns1" );
      call.registerTypeMapping(GetConfig.class,qn,
      org.jboss.webservice.encoding.ser.MetaDataBeanSerializerFactory.class,
      org.jboss.webservice.encoding.ser.MetaDataBeanDeserializerFactory.class);

      qn = new QName( "http://www.nextone.com/ivms/schema/config", "generateRouteConfigType","ns1" );
      call.registerTypeMapping(GenerateRouteConfigType.class,qn,
      org.jboss.webservice.encoding.ser.MetaDataBeanSerializerFactory.class,
      org.jboss.webservice.encoding.ser.MetaDataBeanDeserializerFactory.class);

      qn = new QName( "http://www.nextone.com/ivms/schema/config", "getRouteFilterType","ns1" );
      call.registerTypeMapping(GetRouteFilterType.class,qn,
      org.jboss.axis.encoding.ser.EnumSerializerFactory.class,
      org.jboss.axis.encoding.ser.EnumDeserializerFactory.class);


      qn = new QName( "http://www.nextone.com/ivms/schema/config", "reply","ns1" );
      call.registerTypeMapping(Reply.class,qn,
      org.jboss.webservice.encoding.ser.MetaDataBeanSerializerFactory.class,
      org.jboss.webservice.encoding.ser.MetaDataBeanDeserializerFactory.class);