You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Vinicius Carvalho <ja...@gmail.com> on 2006/01/30 20:29:37 UTC
Problems with CGLIB enhancements
Hello there! I've my WS configured My wsdd looks like this:
<service name="AlterarPlanoServiceImpl" provider="java:RPC" style="document"
use="literal">
<parameter name="wsdlTargetNamespace" value="
http://impl.alterarplano.services.cplus.way.com"/>
<parameter name="wsdlServiceElement"
value="AlterarPlanoServiceImplService"/>
<parameter name="schemaQualified" value="
http://cidade.persistence.model.cplus.way.com,http://impl.alterarplano.services.cplus.way.com,http://pacote.persistence.model.cplus.way.com,http://assinante.persistence.model.cplus.way.com
"/>
<parameter name="wsdlServicePort" value="AlterarPlanoServiceImpl"/>
<parameter name="className" value="
com.way.cplus.services.alterarplano.endpoint.AlterarPlanoEndPoint"/>
<parameter name="wsdlPortType" value="AlterarPlanoServiceImpl"/>
<parameter name="typeMappingVersion" value="1.2"/>
<operation name="alterarPlano" qname="alterarPlano" soapAction="">
<parameter xmlns:pns="
http://impl.alterarplano.services.cplus.way.com" xmlns:tns="
http://assinante.persistence.model.cplus.way.com" qname="pns:assinante"
type="tns:Assinante"/>
<parameter xmlns:pns="
http://impl.alterarplano.services.cplus.way.com" xmlns:tns="
http://pacote.persistence.model.cplus.way.com" qname="pns:novoPacote"
type="tns:Pacote"/>
</operation>
<parameter name="allowedMethods" value="alterarPlano"/>
<typeMapping xmlns:ns="
http://assinante.persistence.model.cplus.way.com" qname="ns:Assinante"
type="java:com.way.cplus.model.persistence.assinante.Assinante" serializer="
org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="
org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle=""/>
<typeMapping xmlns:ns="http://cidade.persistence.model.cplus.way.com"
qname="ns:Cidade" type="java:com.way.cplus.model.persistence.cidade.Cidade"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle=""/>
<typeMapping xmlns:ns="http://pacote.persistence.model.cplus.way.com"
qname="ns:PacotePK" type="java:
com.way.cplus.model.persistence.pacote.PacotePK" serializer="
org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="
org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle=""/>
<typeMapping xmlns:ns="http://pacote.persistence.model.cplus.way.com"
qname="ns:Pacote" type="java:com.way.cplus.model.persistence.pacote.Pacote"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle=""/>
<arrayMapping xmlns:ns="
http://impl.alterarplano.services.cplus.way.com" xmlns:cmp-ns="
http://www.w3.org/2001/XMLSchema" qname="ns:ArrayOf_xsd_anyType" type="java:
java.lang.Object[]" innerType="cmp-ns:anyType" encodingStyle=""/>
<typeMapping xmlns:ns="
http://assinante.persistence.model.cplus.way.com" qname="ns:AssinantePK"
type="java:com.way.cplus.model.persistence.assinante.AssinantePK"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle=""/>
</service>
Well, the problem is that's not Assinante who's being transfered over the
wire, but an enhanced version by CGLIB (it was loaded by Hibernate)
So I end up with this:
org.springframework.remoting.RemoteAccessException: Cannot access remote
service [{
http://impl.alterarplano.services.cplus.way.com}AlterarPlanoServiceImpl];
nested exception is org.apache.axis.AxisFault: ; nested exception is:
java.io.IOException: No serializer found for class
com.way.cplus.model.persistence.assinante.Assinante$$EnhancerByCGLIB$$bc19766fin
registry
org.apache.axis.encoding.TypeMappingDelegate@3cb075
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.io.IOException: No serializer found for class
com.way.cplus.model.persistence.assinante.Assinante$$EnhancerByCGLIB$$bc19766fin
registry
org.apache.axis.encoding.TypeMappingDelegate@3cb075
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:java.io.IOException: No
serializer found for class
com.way.cplus.model.persistence.assinante.Assinante$$EnhancerByCGLIB$$bc19766fin
registry
org.apache.axis.encoding.TypeMappingDelegate@3cb075
Any ideas?
Regards