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 :

No address information in EPR


Sujet :

Services Web Java

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2007
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 401
    Points : 153
    Points
    153
    Par défaut No address information in EPR
    Bonjour

    J'ai un web service tout simple qui tourne avec axis2.
    Ma classe Java est la suivante:
    public class Receiver {

    public int process(String message) throws java.rmi.RemoteException {
    return 1;
    }
    }

    Mon fichier services.xml:
    <service name="DemRec" targetNamespace="http://ws.fr/myproj/Rec.wsdl">
    <description>test axis2</description>
    <parameter name="useOriginalWSDL">true</parameter>
    <parameter name="ServiceClass" locked="false">crpgl.Receiver</parameter>
    <messageReceivers>
    <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
    <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
    </messageReceivers>
    </service>

    Mon client qui invoque le web service est la suivante:

    ...
    ServiceClient serviceClient = new ServiceClient ();
    Options opts = new Options();
    opts.setTo(new EndpointReference("http://localhost:8084/MyWS/services/DemRec"));
    opts.setAction("urn:process");

    OMFactory fac = OMAbstractFactory.getOMFactory();
    OMNamespace omNs = fac.createOMNamespace("http://axiom.service.quickstart.samples/xsd", "tns");

    OMElement method = fac.createOMElement("process", omNs);
    OMElement value = fac.createOMElement("message", omNs);
    value.addChild(fac.createOMText(value, "abc"));
    method.addChild(value);

    OMElement result = serviceClient.sendReceive(method);
    String response = result.getFirstElement().getText();
    ...


    Mon web service est bien disponible. Je réussi bien à voir le wsdl quand je tape l'URL du web service.

    Cependant, quand la ligne sendReceive est exécutée, l'erreur suivante est générée:

    org.apache.axis2.AxisFault: No address information in EPR, cannot infer transport


    Quelqu'un pourrait-il m'aider à résoudre ce problème?

    merci

  2. #2
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 210
    Points : 459
    Points
    459
    Par défaut
    Tu n'as pas correctement affecté l'EPR.
    Pour info j'utilise comme base de client le code ci dessous, il permet d'activer la compression des requêtes et aussi de positionner un user/pwd en cas de service sécurisé.

    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
     
    EndpointReference endpointReference = new EndpointReference("http://localhost:8084/MyWS/services/DemRec");
    ServiceClient client = new ServiceClient ();
    client.setTargetEPR(endpointReference);
     
    Options options = client.getOptions();
    options.setProperty(HTTPConstants.REUSE_HTTP_CLIENT, Boolean.TRUE);
    if(gzipRequest) {
    	options.setProperty(HTTPConstants.MC_GZIP_REQUEST, Boolean.TRUE);
    }
    if(acceptGzip) {
    	options.setProperty(HTTPConstants.MC_ACCEPT_GZIP, Boolean.TRUE);
    }
    if(username!=null) {
    	HttpTransportProperties.Authenticator auth = new HttpTransportProperties.Authenticator();
    	auth.setUsername(username);
    	auth.setPassword(password);
    	options.setProperty(HTTPConstants.AUTHENTICATE, auth);
    }

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2007
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 401
    Points : 153
    Points
    153
    Par défaut
    Merci

    Je vais essayer...

    Citation Envoyé par bugsan Voir le message
    Tu n'as pas correctement affecté l'EPR.
    Pour info j'utilise comme base de client le code ci dessous, il permet d'activer la compression des requêtes et aussi de positionner un user/pwd en cas de service sécurisé.

    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
     
    EndpointReference endpointReference = new EndpointReference("http://localhost:8084/MyWS/services/DemRec");
    ServiceClient client = new ServiceClient ();
    client.setTargetEPR(endpointReference);
     
    Options options = client.getOptions();
    options.setProperty(HTTPConstants.REUSE_HTTP_CLIENT, Boolean.TRUE);
    if(gzipRequest) {
    	options.setProperty(HTTPConstants.MC_GZIP_REQUEST, Boolean.TRUE);
    }
    if(acceptGzip) {
    	options.setProperty(HTTPConstants.MC_ACCEPT_GZIP, Boolean.TRUE);
    }
    if(username!=null) {
    	HttpTransportProperties.Authenticator auth = new HttpTransportProperties.Authenticator();
    	auth.setUsername(username);
    	auth.setPassword(password);
    	options.setProperty(HTTPConstants.AUTHENTICATE, auth);
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Informations sur les fonctions Address et Indirect
    Par johannj dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/06/2009, 14h20
  2. Réponses: 12
    Dernier message: 08/03/2006, 17h27
  3. [PostgreSQL] Informations générales.
    Par nicox dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 11/03/2003, 09h47
  4. [Turbo Pascal] [MS-DOS] Lire la Mac-address de la carte réseau
    Par toctoc dans le forum Turbo Pascal
    Réponses: 14
    Dernier message: 21/02/2003, 22h08
  5. [PRO*C] Recherche information
    Par Anonymous dans le forum Interfaces de programmation
    Réponses: 2
    Dernier message: 04/04/2002, 17h53

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