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 plugin eclipse - difficultées de deployment


Sujet :

Services Web Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Par défaut Axis2 plugin eclipse - difficultées de deployment
    Bonjour à tous,

    Je cherche a mettre en place un web service ainsi qu'un client l'utilisant . Je m'en remet au forum car, étant débutant, je n'arrive pas a m'extirper de cette situation dont voici des détails :

    - j'ai d'abord écrit mon service en java dans eclipse
    - j'ai ensuite généré tant bien que mal avec le plugin Axis2 Service Archiver
    une archive service.arr (qui contient services.xml , les bin et les librairies)
    - j'ai ensuite placé mon service dans axis2\WEB-INF\services
    - je génère ensuite le stub client grâce au plugin Axis2 Code Generator (plus grâce WSDL2Java en fait car le plug a l'air terriblement buggé ?!), en utilisant le wdsl de la page http://localhost:8080/axis2/services/MonService?wsdl
    - mon problème se trouve à l'utilisation du stub : j'accède a mon service correctement, mais toutes les fonctions disponibles n'ont pas leur signature originale et ne sont pas typées, autrement dit même une fonction de test additionnant 2 chiffres se retrouve en void add().
    - je suis donc retourné voir le wdsl de mon service, et effectivement a chaque opération je retrouve une description qui ressemble à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <wsdl:operation name="add">
     <soap:operation soapAction="" style="document"/>
     <wsdl:input>
      <soap:body use="literal"/>
     </wsdl:input>
     <wsdl:output>
      <soap:body use="literal"/>
     </wsdl:output>
    </wsdl:operation>
    sans type donc, est-ce normal ?

    mon services.xml décrivant l'opération est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?xml version="1.0" encoding="UTF-8"?>
    <service name="Monservice">
        <description>
           Mon service 
        </description>
         <operation name="add">
            <messageReceive class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
            <actionMapping>urn:add</actionMapping>
        </operation>
        <parameter name="Monservice">bin.MaClasse</parameter>
    </service>
    Mais on ne déclare aucun type ici ?

    Voila en j'en suis.
    Mais je ne sais pas ou remonte le problème.

    L'utilisation des plugin Axis2 pour eclipse semble tellement simple au regard de certain tuto comme http://wso2.org/library/1719
    j'ai rencontré en fait quelques bugs qui ne permettent pas de les suivre a la lettre. (Quelqu'un a t il une expérience avec ces plugin a partager ?)

    Merci d'avance de vos réponses

    Mr Ux

  2. #2
    Membre expérimenté
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Par défaut
    Bonjour,

    As-tu bien précisé à Eclipse la localisation de ton répertoire d'installation d'Axis2 dans Window > Preferences > Web Services > Axis2 Preferences > Axis2 Runtime ?

    As-tu bien créé un projet web de type Dynamic Web Project ?

    As-tu bien spécifié un serveur d'applications valide ?

    Une fois ton projet correctement créé, tu peux y créer un nouvelle classe implémentant ton service web. Ensuite, tu peux déployer ton service web via un clic droit sur cette classe puis New > Other... > Web Service et en spécifiant les options Start Service et Test Client, en cochant Monitor the Web service, et en changeant le Web service runtime pour Apache Axis2. Tu peux ensuite cliquer sur Finish (ou plusieurs fois sur Next pour jeter un oeil aux configurations proposées) et ton service web devrait être déployé sur ton serveur d'applications (le descripteur services.xml sera automatiquement généré).

    Sinon, à propos de ton fichier services.xml, je pense que tu dois changer la classe du messageReceiver en org.apache.axis2.rpc.receivers.RPCMessageReceiver au lieu de org.apache.axis2.receivers.RawXMLINOutMessageReceiver qui n'est à utiliser qu'en implémentant un service utilisant le modèle AXIOM d'Axis2 ce qui ne me semble pas être ton cas.

    Tu peux également créer ton archive Archive.aar manuellement en créant ton arborescence, puis en tapant dans le répertoire racine de cette arborescence la commande :
    jar -cvf Archive.aar ./*
    NB : ./* permet d'inclure tous les sous-répertoire du répertoire racine dans l'archive Archive.aar.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Par défaut
    pour te répondre :
    - oui le runtime de axis2 est bien précisé
    - mon projet est bien du type "Dynamic Web Project"

    mon archive service.aar est bien reconnu par mon ApacheTomcat 6.0 / Axis2 1.4 à http://localhost:8080/axis2/services/listServices avec la liste des operations dispo.

    voici la description wsdl du service obtenue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:axis2="http://ws.apache.org/axis2" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://ws.apache.org/axis2">
        <wsdl:documentation>GAPservice</wsdl:documentation>
        <wsdl:types/>
        <wsdl:message name="addRequest"/>
        <wsdl:message name="addResponse"/>
        <wsdl:message name="alignSequencesRequest"/>
        <wsdl:message name="alignSequencesResponse"/>
        <wsdl:portType name="GAPservicePortType">
            <wsdl:operation name="add">
                <wsdl:input message="axis2:addRequest" wsaw:Action="urn:add"/>
                <wsdl:output message="axis2:addResponse" wsaw:Action="urn:addResponse"/>
            </wsdl:operation>
            <wsdl:operation name="alignSequences">
                <wsdl:input message="axis2:alignSequencesRequest" wsaw:Action="urn:alignSequences"/>
                <wsdl:output message="axis2:alignSequencesResponse" wsaw:Action="urn:alignSequencesResponse"/>
            </wsdl:operation>
        </wsdl:portType>
        <wsdl:binding name="GAPserviceSoap11Binding" type="axis2:GAPservicePortType">
            <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
            <wsdl:operation name="add">
                <soap:operation soapAction="" style="document"/>
                <wsdl:input>
                    <soap:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap:body use="literal"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="alignSequences">
                <soap:operation soapAction="" 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="GAPserviceSoap12Binding" type="axis2:GAPservicePortType">
            <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
            <wsdl:operation name="add">
                <soap12:operation soapAction="" style="document"/>
                <wsdl:input>
                    <soap12:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap12:body use="literal"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="alignSequences">
                <soap12:operation soapAction="" 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="GAPserviceHttpBinding" type="axis2:GAPservicePortType">
            <http:binding verb="POST"/>
            <wsdl:operation name="add">
                <http:operation location="GAPservice/add"/>
                <wsdl:input>
                    <mime:content type="text/xml" part="add"/>
                </wsdl:input>
                <wsdl:output>
                    <mime:content type="text/xml" part="add"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="alignSequences">
                <http:operation location="GAPservice/alignSequences"/>
                <wsdl:input>
                    <mime:content type="text/xml" part="alignSequences"/>
                </wsdl:input>
                <wsdl:output>
                    <mime:content type="text/xml" part="alignSequences"/>
                </wsdl:output>
            </wsdl:operation>
        </wsdl:binding>
        <wsdl:service name="GAPservice">
            <wsdl:port name="GAPserviceHttpSoap11Endpoint" binding="axis2:GAPserviceSoap11Binding">
                <soap:address location="http://192.168.199.49:8080/axis2/services/GAPservice.GAPserviceHttpSoap11Endpoint"/>
            </wsdl:port>
            <wsdl:port name="GAPserviceHttpSoap12Endpoint" binding="axis2:GAPserviceSoap12Binding">
                <soap12:address location="http://192.168.199.49:8080/axis2/services/GAPservice.GAPserviceHttpSoap12Endpoint"/>
            </wsdl:port>
            <wsdl:port name="GAPserviceHttpEndpoint" binding="axis2:GAPserviceHttpBinding">
                <http:address location="http://192.168.199.49:8080/axis2/services/GAPservice.GAPserviceHttpEndpoint"/>
            </wsdl:port>
        </wsdl:service>
    </wsdl:definitions>
    à ce stade, pourriez vous deja me dire si la description des opérations semble juste ? (je ne vois pas de types)

    voici une ébauche de client utilisant le stub, peut être est ce mon utilisation qui est mauvaise...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public class clientGAP {
    	public static void main(String[] args) {
    		try{
    			GAPserviceLocator locator = new GAPserviceLocator();
    			GAPservicePortType service = locator.getGAPserviceHttpSoap12Endpoint();
    			System.out.println( service.add() );
    		}catch(Exception e){
    			e.printStackTrace();
    		}
    	}
    la j'obtiens une erreur de type : The SERVICE_OBJECT_SUPPLIER parameter is not specified. Mais je ne peux mettre de parametre à l'appelle de add() car son type est void...

    Si jamais vous pouvez m'aider... Merci !

  4. #4
    Membre expérimenté
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Par défaut
    Citation Envoyé par Mr.ux Voir le message
    voici la description wsdl du service obtenue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:axis2="http://ws.apache.org/axis2" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://ws.apache.org/axis2">
        <wsdl:documentation>GAPservice</wsdl:documentation>
        <wsdl:types/>
        <wsdl:message name="addRequest"/>
        <wsdl:message name="addResponse"/>
        <wsdl:message name="alignSequencesRequest"/>
        <wsdl:message name="alignSequencesResponse"/>
        <wsdl:portType name="GAPservicePortType">
            <wsdl:operation name="add">
                <wsdl:input message="axis2:addRequest" wsaw:Action="urn:add"/>
                <wsdl:output message="axis2:addResponse" wsaw:Action="urn:addResponse"/>
            </wsdl:operation>
            <wsdl:operation name="alignSequences">
                <wsdl:input message="axis2:alignSequencesRequest" wsaw:Action="urn:alignSequences"/>
                <wsdl:output message="axis2:alignSequencesResponse" wsaw:Action="urn:alignSequencesResponse"/>
            </wsdl:operation>
        </wsdl:portType>
        <wsdl:binding name="GAPserviceSoap11Binding" type="axis2:GAPservicePortType">
            <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
            <wsdl:operation name="add">
                <soap:operation soapAction="" style="document"/>
                <wsdl:input>
                    <soap:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap:body use="literal"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="alignSequences">
                <soap:operation soapAction="" 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="GAPserviceSoap12Binding" type="axis2:GAPservicePortType">
            <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
            <wsdl:operation name="add">
                <soap12:operation soapAction="" style="document"/>
                <wsdl:input>
                    <soap12:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap12:body use="literal"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="alignSequences">
                <soap12:operation soapAction="" 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="GAPserviceHttpBinding" type="axis2:GAPservicePortType">
            <http:binding verb="POST"/>
            <wsdl:operation name="add">
                <http:operation location="GAPservice/add"/>
                <wsdl:input>
                    <mime:content type="text/xml" part="add"/>
                </wsdl:input>
                <wsdl:output>
                    <mime:content type="text/xml" part="add"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="alignSequences">
                <http:operation location="GAPservice/alignSequences"/>
                <wsdl:input>
                    <mime:content type="text/xml" part="alignSequences"/>
                </wsdl:input>
                <wsdl:output>
                    <mime:content type="text/xml" part="alignSequences"/>
                </wsdl:output>
            </wsdl:operation>
        </wsdl:binding>
        <wsdl:service name="GAPservice">
            <wsdl:port name="GAPserviceHttpSoap11Endpoint" binding="axis2:GAPserviceSoap11Binding">
                <soap:address location="http://192.168.199.49:8080/axis2/services/GAPservice.GAPserviceHttpSoap11Endpoint"/>
            </wsdl:port>
            <wsdl:port name="GAPserviceHttpSoap12Endpoint" binding="axis2:GAPserviceSoap12Binding">
                <soap12:address location="http://192.168.199.49:8080/axis2/services/GAPservice.GAPserviceHttpSoap12Endpoint"/>
            </wsdl:port>
            <wsdl:port name="GAPserviceHttpEndpoint" binding="axis2:GAPserviceHttpBinding">
                <http:address location="http://192.168.199.49:8080/axis2/services/GAPservice.GAPserviceHttpEndpoint"/>
            </wsdl:port>
        </wsdl:service>
    </wsdl:definitions>
    à ce stade, pourriez vous deja me dire si la description des opérations semble juste ? (je ne vois pas de types)
    Il manque effectivement la définition des types...

    Je ne comprends pas comment Eclipse a pu faire sauter les types en générant le service web à partir de son implémentation...

    As-tu réessayé de récréer une archive .aar toi-même avec le fichier .class de ton service compilé et le fichier services.xml avec le messageReceiver que je t'ai indiqué, puis de déployer cette archive .aar ?

    Sinon, pourrais-tu poster le code de ton service, histoire que j'essaie également de le déployer avec Eclipse ?

    Enfin, tu peux aussi essayer d'utiliser Axis et non Axis2 avec Eclipse pour générer ton service web, mais peut-être tiens-tu à utiliser forcément Axis2...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Par défaut
    D'abord merci de t'intéresser a mon pb.

    Citation Envoyé par Arnaud_03 Voir le message
    Je ne comprends pas comment Eclipse a pu faire sauter les types en générant le service web à partir de son implémentation...
    Le WSDL n'est il pas plutot généré par Axis2 ? eclipse n'en génère pas dans le .aar

    sinon l'archive créée a la main ne change rien.

    je peux poser mon code ici, mais en fait j'ai le mm pb avec une simple classe qui additionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class Math {
    	public int addNUmber(int a,int b){
    		return a+b;
    	}
    }
    Sinon je n'ai rien contre utiliser Axis au lieu de Axis2 (j'avais mm commencé dans ce sens au debut, jusqu'a ce que je lise qq article ventant le 2...).
    Par contre je en voit pas comment utiliser le .aar dans Axis. Il parait que l'on peut uploader l'archive depuis la page admin, mais ma page d'admin (une fois activée) est une simple page blanche avec ecrit "Server is running Current load = 1 " ...

    je desepere un peu...

  6. #6
    Membre expérimenté
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Par défaut
    Citation Envoyé par Mr.ux Voir le message
    Le WSDL n'est il pas plutot généré par Axis2 ? eclipse n'en génère pas dans le .aar
    Oui, Eclipse fait appel à Axis2 pour générer le document WSDL.

    Citation Envoyé par Mr.ux Voir le message
    j'ai le mm pb avec une simple classe qui additionne
    Essaie voir le service
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    package axis2pojo;
     
    public class Axis2POJO {
    	public String sayHello(String name) {
    		return "Hello " + name + " !";
    	}
    }
    avec le fichier services.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <service name="Axis2POJO">
    	<description>Axis2 POJO Service</description>
    	<parameter name="ServiceClass">axis2pojo.Axis2POJO</parameter>
    	<operation name="sayHello">
    		<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
    	</operation>
    </service>
    en plaçant bien le fichier compilé Axis2POJO.class dans un répertoire axis2pojo et le fichier services.xml dans un répertoire META-INF, puis en créant une archive aar avec les répertoires axis2pojo et META-INF.

    Citation Envoyé par Mr.ux Voir le message
    Par contre je en voit pas comment utiliser le .aar dans Axis.
    Axis n'utilise pas d'archive aar pour déployer un service web. Selon la méthode utilisée avec Axis, il faut écrire un fichier jws ou bien compiler un fichier source et utiliser l'utilitaire AdminClient avec un descripteur de déploiement au format wsdd.

    Citation Envoyé par Mr.ux Voir le message
    je desepere un peu...
    Mais non, il ne faut pas...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Par défaut
    Alors merci bien, j'ai testé ce service qui marche correctement.

    j'avais en fait une bête erreur de package, et axis2 ne devait pas lire mes .class (bienqu'il eu fait semblant !

    j'ai maintenant un wdsl plus convainquant, avec des types définit !

    Par contre je n'arrive plus à générer le code Java depuis.

    avec la commande org.apache.axis.wsdl.WSDL2Java (Axis1)
    j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    java.io.IOException: ERROR: Missing <soap:fault> element inFault "IOException" in operation "IOException", in binding checkStatus
    	at org.apache.axis.wsdl.symbolTable.SymbolTable.faultsFromSOAPFault(SymbolTable.java:2858)
    	at org.apache.axis.wsdl.symbolTable.SymbolTable.populateBindings(SymbolTable.java:2549)
    	at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:744)
    	at org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:543)
    	at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:518)
    	at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:495)
    	at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:361)
    	at java.lang.Thread.run(Unknown Source)
    avec la commande org.apache.axis2.wsdl.WSDL2Java (Axis2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Exception in thread "main" java.lang.NoSuchMethodError: javax.wsdl.Operation.getExtensionAttributes()Ljava/util/Map;
    	at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateOperations(WSDL11ToAxisServiceBuilder.java:1295)
    	at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populatePortType(WSDL11ToAxisServiceBuilder.java:592)
    	at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateEndpoints(WSDL11ToAxisServiceBuilder.java:469)
    	at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateService(WSDL11ToAxisServiceBuilder.java:363)
    	at org.apache.axis2.description.WSDL11ToAllAxisServicesBuilder.populateAllServices(WSDL11ToAllAxisServicesBuilder.java:107)
    	at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:147)
    	at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
    	at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)

    et quand je créé un client web service dans eclipse, j'obtiens les fichiers :serviceCallBack.java HandlerserviceStub.java IOExceptionException1.java RemoteExceptionException2 et ServiceExceptionException0 ... ???

    Mon wsdl est il correctement généré ?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Par défaut
    le wsdl ... (j'ai tronqué les types car le msg dépassait 30000 caractères)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions 
     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
     xmlns:ax29="http://utils.axis.apache.org/xsd"
     xmlns:ax27="http://wsclustalw2.webservices.ebi.ac.uk/xsd" 
     xmlns:ns="http://gap"
     xmlns:ax28="http://description.axis.apache.org/xsd" 
     xmlns:ax24="http://rmi.java/xsd" 
     xmlns:ax21="http://io.java/xsd" 
     xmlns:xs="http://www.w3.org/2001/XMLSchema"
     xmlns:ns1="http://org.apache.axis2/xsd" 
     xmlns:ax215="http://cli.commons.apache.org/xsd"
     xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
     xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
     xmlns:ax211="http://util.java/xsd" 
     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://gap">
     
        <wsdl:documentation>GAPservice</wsdl:documentation>
     
        <wsdl:types>
            ...
        </wsdl:types>
     
        <wsdl:message name="getSrvProxyRequest"/>
        <wsdl:message name="getSrvProxyResponse">
            <wsdl:part name="parameters" element="ns:getSrvProxyResponse"/>
        </wsdl:message>
        <wsdl:message name="ServiceException">
            <wsdl:part name="parameters" element="ns:ServiceException"/>
        </wsdl:message>
        <wsdl:message name="checkStatusRequest">
            <wsdl:part name="parameters" element="ns:checkStatus"/>
        </wsdl:message>
        <wsdl:message name="checkStatusResponse">
            <wsdl:part name="parameters" element="ns:checkStatusResponse"/>
        </wsdl:message>
        <wsdl:message name="IOException">
            <wsdl:part name="parameters" element="ns:IOException"/>
        </wsdl:message>
        <wsdl:message name="addRequest"/>
        <wsdl:message name="addResponse"/>
        <wsdl:message name="loadParamsRequest">
            <wsdl:part name="parameters" element="ns:loadParams"/>
        </wsdl:message>
        <wsdl:message name="loadParamsResponse">
            <wsdl:part name="parameters" element="ns:loadParamsResponse"/>
        </wsdl:message>
        <wsdl:message name="loadDataRequest">
            <wsdl:part name="parameters" element="ns:loadData"/>
        </wsdl:message>
        <wsdl:message name="loadDataResponse">
            <wsdl:part name="parameters" element="ns:loadDataResponse"/>
        </wsdl:message>
        <wsdl:message name="getResultsRequest">
            <wsdl:part name="parameters" element="ns:getResults"/>
        </wsdl:message>
        <wsdl:message name="getResultsResponse">
            <wsdl:part name="parameters" element="ns:getResultsResponse"/>
        </wsdl:message>
        <wsdl:message name="runAppRequest">
            <wsdl:part name="parameters" element="ns:runApp"/>
        </wsdl:message>
        <wsdl:message name="runAppResponse">
            <wsdl:part name="parameters" element="ns:runAppResponse"/>
        </wsdl:message>
        <wsdl:message name="RemoteException">
            <wsdl:part name="parameters" element="ns:RemoteException"/>
        </wsdl:message>
        <wsdl:message name="alignSequencesRequest"/>
        <wsdl:message name="alignSequencesResponse"/>
        <wsdl:message name="clientPollRequest">
            <wsdl:part name="parameters" element="ns:clientPoll"/>
        </wsdl:message>
        <wsdl:message name="clientPollResponse"/>
     
        <wsdl:portType name="GAPservicePortType">
            <wsdl:operation name="getSrvProxy">
                <wsdl:input message="ns:getSrvProxyRequest" wsaw:Action="urn:getSrvProxy"/>
                <wsdl:output message="ns:getSrvProxyResponse" wsaw:Action="urn:getSrvProxyResponse"/>
                <wsdl:fault message="ns:ServiceException" name="ServiceException" wsaw:Action="urn:getSrvProxyServiceException"/>
            </wsdl:operation>
            <wsdl:operation name="checkStatus">
                <wsdl:input message="ns:checkStatusRequest" wsaw:Action="urn:checkStatus"/>
                <wsdl:output message="ns:checkStatusResponse" wsaw:Action="urn:checkStatusResponse"/>
                <wsdl:fault message="ns:IOException" name="IOException" wsaw:Action="urn:checkStatusIOException"/>
                <wsdl:fault message="ns:ServiceException" name="ServiceException" wsaw:Action="urn:checkStatusServiceException"/>
            </wsdl:operation>
            <wsdl:operation name="add">
                <wsdl:input message="ns:addRequest" wsaw:Action="urn:add"/>
                <wsdl:output message="ns:addResponse" wsaw:Action="urn:addResponse"/>
            </wsdl:operation>
            <wsdl:operation name="loadParams">
                <wsdl:input message="ns:loadParamsRequest" wsaw:Action="urn:loadParams"/>
                <wsdl:output message="ns:loadParamsResponse" wsaw:Action="urn:loadParamsResponse"/>
                <wsdl:fault message="ns:IOException" name="IOException" wsaw:Action="urn:loadParamsIOException"/>
            </wsdl:operation>
            <wsdl:operation name="loadData">
                <wsdl:input message="ns:loadDataRequest" wsaw:Action="urn:loadData"/>
                <wsdl:output message="ns:loadDataResponse" wsaw:Action="urn:loadDataResponse"/>
                <wsdl:fault message="ns:IOException" name="IOException" wsaw:Action="urn:loadDataIOException"/>
            </wsdl:operation>
            <wsdl:operation name="getResults">
                <wsdl:input message="ns:getResultsRequest" wsaw:Action="urn:getResults"/>
                <wsdl:output message="ns:getResultsResponse" wsaw:Action="urn:getResultsResponse"/>
                <wsdl:fault message="ns:IOException" name="IOException" wsaw:Action="urn:getResultsIOException"/>
                <wsdl:fault message="ns:ServiceException" name="ServiceException" wsaw:Action="urn:getResultsServiceException"/>
            </wsdl:operation>
            <wsdl:operation name="runApp">
                <wsdl:input message="ns:runAppRequest" wsaw:Action="urn:runApp"/>
                <wsdl:output message="ns:runAppResponse" wsaw:Action="urn:runAppResponse"/>
                <wsdl:fault message="ns:RemoteException" name="RemoteException" wsaw:Action="urn:runAppRemoteException"/>
                <wsdl:fault message="ns:ServiceException" name="ServiceException" wsaw:Action="urn:runAppServiceException"/>
            </wsdl:operation>
            <wsdl:operation name="alignSequences">
                <wsdl:input message="ns:alignSequencesRequest" wsaw:Action="urn:alignSequences"/>
                <wsdl:output message="ns:alignSequencesResponse" wsaw:Action="urn:alignSequencesResponse"/>
            </wsdl:operation>
            <wsdl:operation name="clientPoll">
                <wsdl:input message="ns:clientPollRequest" wsaw:Action="urn:clientPoll"/>
                <wsdl:output message="ns:clientPollResponse" wsaw:Action="urn:clientPollResponse"/>
                <wsdl:fault message="ns:ServiceException" name="ServiceException" wsaw:Action="urn:clientPollServiceException"/>
            </wsdl:operation>
        </wsdl:portType>
     
        <wsdl:binding name="GAPserviceSoap11Binding" type="ns:GAPservicePortType">
            <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
            <wsdl:operation name="checkStatus">
                <soap:operation soapAction="urn:checkStatus" style="document"/>
                <wsdl:input>
                    <soap:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap:body use="literal"/>
                </wsdl:output>
                <wsdl:fault name="IOException">
                    <soap:fault use="literal" name="IOException"/>
                </wsdl:fault>
                <wsdl:fault name="ServiceException">
                    <soap:fault use="literal" name="ServiceException"/>
                </wsdl:fault>
            </wsdl:operation>
            <wsdl:operation name="getSrvProxy">
                <soap:operation soapAction="urn:getSrvProxy" style="document"/>
                <wsdl:input>
                    <soap:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap:body use="literal"/>
                </wsdl:output>
                <wsdl:fault name="ServiceException">
                    <soap:fault use="literal" name="ServiceException"/>
                </wsdl:fault>
            </wsdl:operation>
            <wsdl:operation name="loadParams">
                <soap:operation soapAction="urn:loadParams" style="document"/>
                <wsdl:input>
                    <soap:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap:body use="literal"/>
                </wsdl:output>
                <wsdl:fault name="IOException">
                    <soap:fault use="literal" name="IOException"/>
                </wsdl:fault>
            </wsdl:operation>
            <wsdl:operation name="add">
                <soap:operation soapAction="urn:add" style="document"/>
                <wsdl:input>
                    <soap:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap:body use="literal"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="loadData">
                <soap:operation soapAction="urn:loadData" style="document"/>
                <wsdl:input>
                    <soap:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap:body use="literal"/>
                </wsdl:output>
                <wsdl:fault name="IOException">
                    <soap:fault use="literal" name="IOException"/>
                </wsdl:fault>
            </wsdl:operation>
            <wsdl:operation name="getResults">
                <soap:operation soapAction="urn:getResults" style="document"/>
                <wsdl:input>
                    <soap:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap:body use="literal"/>
                </wsdl:output>
                <wsdl:fault name="IOException">
                    <soap:fault use="literal" name="IOException"/>
                </wsdl:fault>
                <wsdl:fault name="ServiceException">
                    <soap:fault use="literal" name="ServiceException"/>
                </wsdl:fault>
            </wsdl:operation>
            <wsdl:operation name="alignSequences">
                <soap:operation soapAction="urn:alignSequences" style="document"/>
                <wsdl:input>
                    <soap:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap:body use="literal"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="runApp">
                <soap:operation soapAction="urn:runApp" style="document"/>
                <wsdl:input>
                    <soap:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap:body use="literal"/>
                </wsdl:output>
                <wsdl:fault name="ServiceException">
                    <soap:fault use="literal" name="ServiceException"/>
                </wsdl:fault>
                <wsdl:fault name="RemoteException">
                    <soap:fault use="literal" name="RemoteException"/>
                </wsdl:fault>
            </wsdl:operation>
            <wsdl:operation name="clientPoll">
                <soap:operation soapAction="urn:clientPoll" style="document"/>
                <wsdl:input>
                    <soap:body use="literal"/>
                </wsdl:input>
                <wsdl:fault name="ServiceException">
                    <soap:fault use="literal" name="ServiceException"/>
                </wsdl:fault>
            </wsdl:operation>
        </wsdl:binding>
        <wsdl:binding name="GAPserviceSoap12Binding" type="ns:GAPservicePortType">
            <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
            <wsdl:operation name="checkStatus">
                <soap12:operation soapAction="urn:checkStatus" style="document"/>
                <wsdl:input>
                    <soap12:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap12:body use="literal"/>
                </wsdl:output>
                <wsdl:fault name="IOException">
                    <soap12:fault use="literal" name="IOException"/>
                </wsdl:fault>
                <wsdl:fault name="ServiceException">
                    <soap12:fault use="literal" name="ServiceException"/>
                </wsdl:fault>
            </wsdl:operation>
            <wsdl:operation name="getSrvProxy">
                <soap12:operation soapAction="urn:getSrvProxy" style="document"/>
                <wsdl:input>
                    <soap12:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap12:body use="literal"/>
                </wsdl:output>
                <wsdl:fault name="ServiceException">
                    <soap12:fault use="literal" name="ServiceException"/>
                </wsdl:fault>
            </wsdl:operation>
            <wsdl:operation name="loadParams">
                <soap12:operation soapAction="urn:loadParams" style="document"/>
                <wsdl:input>
                    <soap12:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap12:body use="literal"/>
                </wsdl:output>
                <wsdl:fault name="IOException">
                    <soap12:fault use="literal" name="IOException"/>
                </wsdl:fault>
            </wsdl:operation>
            <wsdl:operation name="add">
                <soap12:operation soapAction="urn:add" style="document"/>
                <wsdl:input>
                    <soap12:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap12:body use="literal"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="loadData">
                <soap12:operation soapAction="urn:loadData" style="document"/>
                <wsdl:input>
                    <soap12:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap12:body use="literal"/>
                </wsdl:output>
                <wsdl:fault name="IOException">
                    <soap12:fault use="literal" name="IOException"/>
                </wsdl:fault>
            </wsdl:operation>
            <wsdl:operation name="getResults">
                <soap12:operation soapAction="urn:getResults" style="document"/>
                <wsdl:input>
                    <soap12:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap12:body use="literal"/>
                </wsdl:output>
                <wsdl:fault name="IOException">
                    <soap12:fault use="literal" name="IOException"/>
                </wsdl:fault>
                <wsdl:fault name="ServiceException">
                    <soap12:fault use="literal" name="ServiceException"/>
                </wsdl:fault>
            </wsdl:operation>
            <wsdl:operation name="alignSequences">
                <soap12:operation soapAction="urn:alignSequences" style="document"/>
                <wsdl:input>
                    <soap12:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap12:body use="literal"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="runApp">
                <soap12:operation soapAction="urn:runApp" style="document"/>
                <wsdl:input>
                    <soap12:body use="literal"/>
                </wsdl:input>
                <wsdl:output>
                    <soap12:body use="literal"/>
                </wsdl:output>
                <wsdl:fault name="ServiceException">
                    <soap12:fault use="literal" name="ServiceException"/>
                </wsdl:fault>
                <wsdl:fault name="RemoteException">
                    <soap12:fault use="literal" name="RemoteException"/>
                </wsdl:fault>
            </wsdl:operation>
            <wsdl:operation name="clientPoll">
                <soap12:operation soapAction="urn:clientPoll" style="document"/>
                <wsdl:input>
                    <soap12:body use="literal"/>
                </wsdl:input>
                <wsdl:fault name="ServiceException">
                    <soap12:fault use="literal" name="ServiceException"/>
                </wsdl:fault>
            </wsdl:operation>
        </wsdl:binding>
        <wsdl:binding name="GAPserviceHttpBinding" type="ns:GAPservicePortType">
            <http:binding verb="POST"/>
            <wsdl:operation name="checkStatus">
                <http:operation location="GAPservice/checkStatus"/>
                <wsdl:input>
                    <mime:content type="text/xml" part="checkStatus"/>
                </wsdl:input>
                <wsdl:output>
                    <mime:content type="text/xml" part="checkStatus"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="getSrvProxy">
                <http:operation location="GAPservice/getSrvProxy"/>
                <wsdl:input>
                    <mime:content type="text/xml" part="getSrvProxy"/>
                </wsdl:input>
                <wsdl:output>
                    <mime:content type="text/xml" part="getSrvProxy"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="loadParams">
                <http:operation location="GAPservice/loadParams"/>
                <wsdl:input>
                    <mime:content type="text/xml" part="loadParams"/>
                </wsdl:input>
                <wsdl:output>
                    <mime:content type="text/xml" part="loadParams"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="add">
                <http:operation location="GAPservice/add"/>
                <wsdl:input>
                    <mime:content type="text/xml" part="add"/>
                </wsdl:input>
                <wsdl:output>
                    <mime:content type="text/xml" part="add"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="loadData">
                <http:operation location="GAPservice/loadData"/>
                <wsdl:input>
                    <mime:content type="text/xml" part="loadData"/>
                </wsdl:input>
                <wsdl:output>
                    <mime:content type="text/xml" part="loadData"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="getResults">
                <http:operation location="GAPservice/getResults"/>
                <wsdl:input>
                    <mime:content type="text/xml" part="getResults"/>
                </wsdl:input>
                <wsdl:output>
                    <mime:content type="text/xml" part="getResults"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="alignSequences">
                <http:operation location="GAPservice/alignSequences"/>
                <wsdl:input>
                    <mime:content type="text/xml" part="alignSequences"/>
                </wsdl:input>
                <wsdl:output>
                    <mime:content type="text/xml" part="alignSequences"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="runApp">
                <http:operation location="GAPservice/runApp"/>
                <wsdl:input>
                    <mime:content type="text/xml" part="runApp"/>
                </wsdl:input>
                <wsdl:output>
                    <mime:content type="text/xml" part="runApp"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="clientPoll">
                <http:operation location="GAPservice/clientPoll"/>
                <wsdl:input>
                    <mime:content type="text/xml" part="clientPoll"/>
                </wsdl:input>
            </wsdl:operation>
        </wsdl:binding>
     
        <wsdl:service name="GAPservice">
            <wsdl:port name="GAPserviceHttpSoap11Endpoint" binding="ns:GAPserviceSoap11Binding">
                <soap:address location="http://192.168.199.49:8080/axis2/services/GAPservice.GAPserviceHttpSoap11Endpoint"/>
            </wsdl:port>
            <wsdl:port name="GAPserviceHttpSoap12Endpoint" binding="ns:GAPserviceSoap12Binding">
                <soap12:address location="http://192.168.199.49:8080/axis2/services/GAPservice.GAPserviceHttpSoap12Endpoint"/>
            </wsdl:port>
            <wsdl:port name="GAPserviceHttpEndpoint" binding="ns:GAPserviceHttpBinding">
                <http:address location="http://192.168.199.49:8080/axis2/services/GAPservice.GAPserviceHttpEndpoint"/>
            </wsdl:port>
        </wsdl:service>
     
    </wsdl:definitions>

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Par défaut
    Bon je pense m'en être sorti, et je t'en remercie Après avoir épuré un peut le wsdl, j'ai réussi a obtenir un stub valable.

    j'aurai encore qq questions...

    Dans ma classe "service", comment rendre telle ou telle fonction accessible en tant que service? car le wsdl généré par axis2 balaye entièrement la classe, suffit-il de retoucher le wsdl à son gout ? (pourtant services.xml ne sert il pas à ca ?)

    Autre petit pb, mon service étant composé de plusieurs classes, comment indiquer que telle méthode se trouve dans telle classe ? car, pour l'instant il s'emmêle les pinceaux. Encore une fois "services.xml" n'est il pas la pour ça ?

    merci d'avance !

  10. #10
    Membre expérimenté
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Par défaut
    Je pense que l'exception retournée par l'outil org.apache.axis.wsdl.WSDL2Java d'Axis provient du fait qu'Axis ne supporte pas la version 1.2 de SOAP.

    Pour celle qui concerne l'outil wsdl2java d'Axis2, je ne vois pas.

    À propos de l'exposition des opérations d'un service web, il ne faut sans doute décrire dans le fichier services.xml que celles que l'on souhaite exposer.
    Je sais qu'Axis proposait un tag allowedMethods dans ses descripteurs de déploiement, donc je suppose qu'Axis2 doit également pouvoir limiter l'exposition des opérations d'un serviice à celles souhaitées.

    Enfin, concernant la décomposition d'un service sur plusieurs classes, j'ai l'impression qu'il s'agit d'un problème de conception...
    Pourrais-tu donner deux exemples de méthodes de classes différentes mais censées être exposées par un même service s'il te plaît ?

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Par défaut
    Citation Envoyé par Arnaud_03 Voir le message
    Enfin, concernant la décomposition d'un service sur plusieurs classes, j'ai l'impression qu'il s'agit d'un problème de conception...
    Pourrais-tu donner deux exemples de méthodes de classes différentes mais censées être exposées par un même service s'il te plaît ?
    En fait mon service utilise lui même d'autre service, j'ai donc séparé la classe client du service utilisé de la classe de mon propre service. Et évidement je ne veux exposer que les méthodes de mon service. Seulement il va me les chercher dans l'autre classe

  12. #12
    Membre expérimenté
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Par défaut
    Citation Envoyé par Mr.ux Voir le message
    En fait mon service utilise lui même d'autre service, j'ai donc séparé la classe client du service utilisé de la classe de mon propre service. Et évidement je ne veux exposer que les méthodes de mon service. Seulement il va me les chercher dans l'autre classe
    Tu veux dire que les méthodes exposées sont celles de la classe cliente de l'autre service et non celles de la classe service ?

    As-tu bien spécifié la bonne classe d'implémentation dans ton fichier services.xml ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <parameter name="ServiceClass">nom.du.package.NomDeLeClasseDImplementation</parameter>

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Par défaut
    Citation Envoyé par Arnaud_03 Voir le message
    Tu veux dire que les méthodes exposées sont celles de la classe cliente de l'autre service et non celles de la classe service ?
    c'est ca j'y ai remédié en supprimant ce qu'il fallait dans mon wsdl (je pensais qu'il tout de même qu'il se contenterai de définir les fonctions spécifiées dans services.xml !!!)

    Citation Envoyé par Arnaud_03 Voir le message
    As-tu bien spécifié la bonne classe d'implémentation dans ton fichier services.xml ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <parameter name="ServiceClass">nom.du.package.NomDeLeClasseDImplementation</parameter>
    en fait j'ai mis les deux classes dans services.xml (ci dessous), car j'obtiens une erreur si je ne met que MA classe service.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="UTF-8"?>
    <service name="GAPservice">
    		<description>
    			This is the GAP service 
    		</description>
    		<parameter name="ServiceClass"  locked="false">gap.Gap</parameter>
    		<operation name="alignSequences">
    			<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
    		</operation>
    		<operation name="add">
    			<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
    		</operation>
    		<parameter name="ServiceClass"  locked="false">gap.ClustalClient</parameter>
    </service>
    mais voila qu'en exécutant mon client, en utilisant la fonction add() par exemple, j'ai droit à "No such method 'add' in class gap.ClustalClient" normal elle est dans l'autre classe...

    une idée ?

  14. #14
    Membre expérimenté
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Par défaut
    Citation Envoyé par Mr.ux Voir le message
    une idée ?
    Pas dans l'immédiat, non...

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Par défaut
    Je n'ai que partiellement résolu le pb : il trouve maintenant la méthode dans la bonne classe, mais ce n'est pas pour autant qu'elle fonctionne car elle appelle une autre classe (client d'un autre service) et qui elle utilise une classe d'une librairie (dont l'une ) qui n'arrive pas être initialiser...

    je crois que je devrai pt ouvrir un autre poste sur l'architecture des classes java et comment exposer seulement celles nécessaires au service...

Discussions similaires

  1. problème avec plugins axis2 pour eclipse
    Par texel dans le forum Services Web
    Réponses: 1
    Dernier message: 11/07/2011, 11h12
  2. [Plugin]Plugins Eclipse Oracle
    Par Canou dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 30/11/2005, 23h07
  3. [langage] EPIC Plugin eclipse pour perl
    Par JefDeBourges dans le forum Langage
    Réponses: 2
    Dernier message: 21/12/2004, 18h06
  4. [Webservice] Plugin Eclipse
    Par lihe dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 23/09/2004, 10h43
  5. Plugin Eclipse pour validation de donnees XML (shema)
    Par Raphael94 dans le forum Valider
    Réponses: 2
    Dernier message: 10/06/2004, 16h33

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