Java - WS devuelve un Document.

 
Vista:

WS devuelve un Document.

Publicado por slayer (2 intervenciones) el 19/09/2009 13:03:45
Buenas a todos, llevo poco tiempo en Java y mi consulta es la siguiente.
Estoy desarrollando un WS con AXIS2 que se encarga de devolver a un cliente un objeto de tipo Document (documento XML). Cuando despliego la parte del servidor mediante wsdl2java me encuentro que ademas del paquete que especifico en el parametro me crea otro paquete que es org.w3c.dom.xsd que contiene una serie de Java Bean Class y entre ella una clase de tipo Document que es la que el response me obliga a devolver(en vez de la org.w3c.dom).
El tema es que en el codigo del skeleton cuando hago el cast al tipo que tengo que devolver ( cast del org.w3c.dom.Document a org.w3c.dom.xsd.Document) me da un casque en tiempo de ejecucion y me salta una excepcion que no se puede realizar dicho cast.
Alguna sugerencia para que no me salte este fallo?. No es mas conveniente realizarlo a lo mejor con RMI?. Este es mi wsdl:

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://users.server.ws" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:ax21="http://dom.w3c.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://users.server.ws">
<wsdl:types>
<xs:schema xmlns:ax22="http://dom.w3c.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://users.server.ws">
<xs:import namespace="http://dom.w3c.org/xsd"/>
<xs:element name="pedirUsuariosResponse">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="return" nillable="true" type="ax22:Document"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://dom.w3c.org/xsd">
<xs:complexType name="Document">
<xs:sequence>
<xs:element minOccurs="0" name="doctype" nillable="true" type="ax21:DocumentType"/>
<xs:element minOccurs="0" name="documentElement" nillable="true" type="ax21:Element"/>
<xs:element minOccurs="0" name="documentURI" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="domConfig" nillable="true" type="ax21:DOMConfiguration"/>
<xs:element minOccurs="0" name="implementation" nillable="true" type="ax21:DOMImplementation"/>
<xs:element minOccurs="0" name="inputEncoding" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="strictErrorChecking" type="xs:boolean"/>
<xs:element minOccurs="0" name="xmlEncoding" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="xmlStandalone" type="xs:boolean"/>
<xs:element minOccurs="0" name="xmlVersion" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DocumentType">
<xs:sequence>
<xs:element minOccurs="0" name="entities" nillable="true" type="ax21:NamedNodeMap"/>
<xs:element minOccurs="0" name="internalSubset" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="notations" nillable="true" type="ax21:NamedNodeMap"/>
<xs:element minOccurs="0" name="publicId" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="systemId" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="NamedNodeMap">
<xs:sequence>
<xs:element minOccurs="0" name="length" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Element">
<xs:sequence>
<xs:element minOccurs="0" name="schemaTypeInfo" nillable="true" type="ax21:TypeInfo"/>
<xs:element minOccurs="0" name="tagName" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TypeInfo">
<xs:sequence>
<xs:element minOccurs="0" name="typeName" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="typeNamespace" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DOMConfiguration">
<xs:sequence>
<xs:element minOccurs="0" name="parameterNames" nillable="true" type="ax21:DOMStringList"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DOMStringList">
<xs:sequence>
<xs:element minOccurs="0" name="length" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DOMImplementation">
<xs:sequence/>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="pedirUsuariosRequest"/>
<wsdl:message name="pedirUsuariosResponse">
<wsdl:part name="parameters" element="ns:pedirUsuariosResponse"/>
</wsdl:message>
<wsdl:portType name="UsersPortType">
<wsdl:operation name="pedirUsuarios">
<wsdl:input message="ns:pedirUsuariosRequest" wsaw:Action="urn:pedirUsuarios"/>
<wsdl:output message="ns:pedirUsuariosResponse" wsaw:Action="urn:pedirUsuariosResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="UsersSoap11Binding" type="ns:UsersPortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<wsdl:operation name="pedirUsuarios">
<soap:operation soapAction="urn:pedirUsuarios" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="UsersSoap12Binding" type="ns:UsersPortType">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<wsdl:operation name="pedirUsuarios">
<soap12:operation soapAction="urn:pedirUsuarios" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="UsersHttpBinding" type="ns:UsersPortType">
<http:binding verb="POST"/>
<wsdl:operation name="pedirUsuarios">
<http:operation location="Users/pedirUsuarios"/>
<wsdl:input>
<mime:content type="text/xml" part="pedirUsuarios"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="pedirUsuarios"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Users">
<wsdl:port name="UsersHttpSoap11Endpoint" binding="ns:UsersSoap11Binding">
<soap:address location="http://localhost:8080/axis2/services/Users"/>
</wsdl:port>
<wsdl:port name="UsersHttpSoap12Endpoint" binding="ns:UsersSoap12Binding">
<soap12:address location="http://localhost:8080/axis2/services/Users"/>
</wsdl:port>
<wsdl:port name="UsersHttpEndpoint" binding="ns:UsersHttpBinding">
<http:address location="http://localhost:8080/axis2/services/Users"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

Gracias por la ayuda y saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:WS devuelve un Document.

Publicado por axel (1 intervención) el 22/09/2009 00:26:24
Envia la traza de pila a lady4j o al menos posteala en el foro y la lanzamos nosotros :P
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar