Estoy haciendo un WebService con Axis 1.4, pero estoy teniendo problemas para poder utilizar Datos complejos, en específico un objeto tipo JavaBean como parámetro, trataré de explicarme.
Estoy tratando de hacer un HolaMundo enviando como parámetro un objeto tipo JavaBean, es decir, tengo una Clase Persona así:
Código Java:
Ver original
package parametros; import java.io.Serializable; return nombre; } this.nombre = nombre; } return apellido; } this.apellido = apellido; } public Persona(){ } }
En Clase del Web Service, tengo dos métodos, de esta manera:
Código Java:
Ver original
package publicar; import parametros.Persona; public class HolaMundo { public HolaMundo(){ } return regresar; } return regresar; } }
Como se observa, la única diferencia entre los métodos Saludar1 y Saludar2 es el objeto que se envía como parámetro. En el cliente, cuando hago la invocación del primer método, lo hago así, y funciona correctamente:
Código MySQL:
Ver original
Sin embargo, cuando trato de hacer la invocación enviando un objeto Persona me marca un error:
Cita:
La manera en que hago la invocación es la misma que arriba, solo cambio la parte del envío del parámetro:java.io.IOException: No serializer found for class parametros.Persona in registry org.apache.axis.encoding.TypeMappingDelegate@1aacd 5f"
Código Java:
Ver original
He leído que tengo que modificar el archivo WSDD para que pueda hacer el casteo del objeto:
http://www.coderanch.com/t/225018/We...io-IOException
http://www.oio.de/axis-wsdd/beanMapping.htm
http://mail-archives.apache.org/[email protected]%3E
Sin embargo no logro dar con la sintaxis correcta, lo he intentado así:
Código XML:
Ver original
<service name="HolaMundo" provider="java:RPC"> <parameter name="allowedMethods" value="*"/> <parameter name="className" value="publicar.HolaMundo"/> <beanMapping qname="Persona" type="java:parametros.Persona"/> </service>
Código XML:
Ver original
<service name="HolaMundo" provider="java:RPC"> <parameter name="allowedMethods" value="*"/> <parameter name="className" value="publicar.HolaMundo"/> <beanMapping qname="Persona" languageSpecificType=="java:parametros.Persona"/> </service>
Y muchas otras formas, pero con ninguna he logrado hacer correr el ejemplo... Alguno de ustedes tiene idea de lo que puede estar pasando??? cómo o hay algún error en la manera en que estoy invocando el WS?
De antemano muchas gracias por el apoyo.
Saludos
Leo.