IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Java Discussion :

[AXIS2] Gestion des documents XML dans les paramètres de web service


Sujet :

Services Web Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 16
    Points : 18
    Points
    18
    Par défaut [AXIS2] Gestion des documents XML dans les paramètres de web service
    Bonjour,

    Voici un web service on ne peut plus simple
    package c;
    import org.w3c.dom.Document;

    public class b{

    public b(){
    }

    public Document testB(Document xml){
    return xml;
    }


    }
    Le déploiement de l'aar se passe correctement
    je tente d'interroger ce webservice par un navigateur de la façon suivante
    http://localhost:8080/axis2/b/testB?xml=...
    J'obtiens l'exception suivante:
    ...
    [ERROR] org.w3c.dom.Document
    org.apache.axis2.AxisFault: org.w3c.dom.Document
    at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
    at org.apache.axis2.engine.DefaultObjectSupplier.getObject(DefaultObjectSupplier.java:30)
    at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:410)
    at org.apache.axis2.databinding.utils.BeanUtil.processObject(BeanUtil.java:722)
    at org.apache.axis2.databinding.utils.BeanUtil.ProcessElement(BeanUtil.java:670)...
    Caused by: java.lang.InstantiationException: org.w3c.dom.Document
    at java.lang.Class.newInstance0(Class.java:340)
    at java.lang.Class.newInstance(Class.java:308)
    ...



    Le WSDL généré par Axis2:
    <?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://c" 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" xmlnss="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://c">
    <wsdl:documentation>b</wsdl:documentation>
    - <wsdl:types>
    - <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="ax21ocumentType" />
    <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="ax21OMConfiguration" />
    <xs:element minOccurs="0" name="implementation" nillable="true" type="ax21OMImplementation" />
    <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:element minOccurs="0" name="namedItem" nillable="true" type="ax21:Node" />
    <xs:element minOccurs="0" name="namedItemNS" nillable="true" type="ax21:Node" />
    </xs:sequence>
    </xs:complexType>
    - <xs:complexType name="Node">
    - <xs:sequence>
    <xs:element minOccurs="0" name="attributes" nillable="true" type="ax21:NamedNodeMap" />
    <xs:element minOccurs="0" name="baseURI" nillable="true" type="xs:string" />
    <xs:element minOccurs="0" name="childNodes" nillable="true" type="ax21:NodeList" />
    <xs:element minOccurs="0" name="firstChild" nillable="true" type="ax21:Node" />
    <xs:element minOccurs="0" name="lastChild" nillable="true" type="ax21:Node" />
    <xs:element minOccurs="0" name="localName" nillable="true" type="xs:string" />
    <xs:element minOccurs="0" name="namespaceURI" nillable="true" type="xs:string" />
    <xs:element minOccurs="0" name="nextSibling" nillable="true" type="ax21:Node" />
    <xs:element minOccurs="0" name="nodeName" nillable="true" type="xs:string" />
    <xs:element minOccurs="0" name="nodeType" type="xs:short" />
    <xs:element minOccurs="0" name="nodeValue" nillable="true" type="xs:string" />
    <xs:element minOccurs="0" name="ownerDocument" nillable="true" type="ax21ocument" />
    <xs:element minOccurs="0" name="parentNode" nillable="true" type="ax21:Node" />
    <xs:element minOccurs="0" name="prefix" nillable="true" type="xs:string" />
    <xs:element minOccurs="0" name="previousSibling" nillable="true" type="ax21:Node" />
    <xs:element minOccurs="0" name="textContent" nillable="true" type="xs:string" />
    </xs:sequence>
    </xs:complexType>
    - <xs:complexType name="NodeList">
    - <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="attributeNode" nillable="true" type="ax21:Attr" />
    <xs:element minOccurs="0" name="attributeNodeNS" nillable="true" type="ax21:Attr" />
    <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="Attr">
    - <xs:sequence>
    <xs:element minOccurs="0" name="id" type="xs:boolean" />
    <xs:element minOccurs="0" name="name" nillable="true" type="xs:string" />
    <xs:element minOccurs="0" name="ownerElement" nillable="true" type="ax21:Element" />
    <xs:element minOccurs="0" name="schemaTypeInfo" nillable="true" type="ax21:TypeInfo" />
    <xs:element minOccurs="0" name="specified" type="xs:boolean" />
    <xs:element minOccurs="0" name="value" 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="ax21OMStringList" />
    </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>
    - <xs:schema xmlns:ax22="http://dom.w3c.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://c">
    <xs:import namespace="http://dom.w3c.org/xsd" />
    - <xs:element name="testB">
    - <xs:complexType>
    - <xs:sequence>
    <xs:element minOccurs="0" name="xml" nillable="true" type="ax22ocument" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    - <xs:element name="testBResponse">
    - <xs:complexType>
    - <xs:sequence>
    <xs:element minOccurs="0" name="return" nillable="true" type="ax22ocument" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    </wsdl:types>
    - <wsdl:message name="testBRequest">
    <wsdl:part name="parameters" element="ns:testB" />
    </wsdl:message>
    - <wsdl:message name="testBResponse">
    <wsdl:part name="parameters" element="ns:testBResponse" />
    </wsdl:message>
    <wsdl:message name="readRequest" />
    <wsdl:message name="readResponse" />
    - <wsdl:portType name="bPortType">
    - <wsdl:operation name="testB">
    <wsdl:input message="ns:testBRequest" wsaw:Action="urn:testB" />
    <wsdl:output message="ns:testBResponse" wsaw:Action="urn:testBResponse" />
    </wsdl:operation>
    - <wsdl:operation name="read">
    <wsdl:input message="ns:readRequest" wsaw:Action="urn:read" />
    <wsdl:output message="ns:readResponse" wsaw:Action="urn:readResponse" />
    </wsdl:operation>
    </wsdl:portType>
    - <wsdl:binding name="bSoap11Binding" type="ns:bPortType">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    - <wsdl:operation name="testB">
    <soap:operation soapAction="urn:testB" style="document" />
    - <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    - <wsdl:operation name="read">
    <soap:operation soapAction="urn:read" 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="bSoap12Binding" type="ns:bPortType">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    - <wsdl:operation name="testB">
    <soap12:operation soapAction="urn:testB" style="document" />
    - <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    - <wsdl:operation name="read">
    <soap12:operation soapAction="urn:read" 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="bHttpBinding" type="ns:bPortType">
    <http:binding verb="POST" />
    - <wsdl:operation name="testB">
    <http:operation location="b/testB" />
    - <wsdl:input>
    <mime:content type="text/xml" part="testB" />
    </wsdl:input>
    - <wsdl:output>
    <mime:content type="text/xml" part="testB" />
    </wsdl:output>
    </wsdl:operation>
    + <wsdl:operation name="read">
    <http:operation location="b/read" />
    - <wsdl:input>
    <mime:content type="text/xml" part="read" />
    </wsdl:input>
    - <wsdl:output>
    <mime:content type="text/xml" part="read" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    - <wsdl:service name="b">
    - <wsdl:port name="bHttpSoap11Endpoint" binding="ns:bSoap11Binding">
    <soap:address location="http://10.3.51.62:8080/wssab/services/b.bHttpSoap11Endpoint/" />
    </wsdl:port>
    - <wsdl:port name="bHttpSoap12Endpoint" binding="ns:bSoap12Binding">
    <soap12:address location="http://10.3.51.62:8080/wssab/services/b.bHttpSoap12Endpoint/" />
    </wsdl:port>
    - <wsdl:port name="bHttpEndpoint" binding="ns:bHttpBinding">
    <http:address location="http://10.3.51.62:8080/wssab/services/b.bHttpEndpoint/" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>


    J'ai déjà géré des documents avex Axis1.4 mais je n'ai pas encore réussi à migrer cette gestion sous Axis2.0
    Avez vous déjà réussi à gérer des documents XML avec Axis2?

    Merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    Pour information,

    j'arrive à gérer les documents XML en entrée/sortie sous la forme d'OMElement ... mais.... le document xml (org.w3c.dom.Document) me pose toujours des problèmes.
    Il semblerait qu'Axis2 ne sache pas le gérer comme Axis1.4
    Dans mon cas, cela me contraint à être dépendant d'AXIS2 côté client (utilisation des OMElement).
    Dommages que personne ne puisse m'aider sur ce point (aucune réponse sur la mailing list d'axis2)

Discussions similaires

  1. Upload Document word dans SharePoint avec le web service copy et JAVA
    Par -MielPops- dans le forum Développement Sharepoint
    Réponses: 0
    Dernier message: 26/04/2011, 09h40
  2. Réponses: 0
    Dernier message: 10/09/2009, 17h48
  3. Document XML comme résultat d'un web service
    Par nassim12 dans le forum Services Web
    Réponses: 2
    Dernier message: 10/12/2008, 09h07
  4. Comprimez les images des document inclus dans dossier
    Par Fredheg dans le forum VBA Word
    Réponses: 41
    Dernier message: 26/12/2007, 12h39
  5. Gestion des message windows dans les threads
    Par billyboy dans le forum Windows
    Réponses: 5
    Dernier message: 06/10/2003, 17h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo