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 :

WebServices + Certificat + Proxy


Sujet :

Services Web Java

  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 26
    Par défaut WebServices + Certificat + Proxy
    Bonjour,
    je débute dans les webservices et je dois faire une application client en java qui me permet de m'y connecter. Dans cette appli je dois sortir par mon proxy, faire la connexion SSL à l'aide d'un certificat fourni, passer l'authentication Basic puis récupérer le résultat de ma requête sur le service.

    Voilà ce que j'ai reçu par mon hôte qui héberge les webservices auxquels je dois accèder (et qui ne fait évidement aucun support ou aide pour leur accès...) :

    - L'URL du service (https://www.myurl.com/getmyservice?PARAM=toto)
    - Le certificat (format xxxx.p12)
    - Mon UserID et password pour l'authentication Basic

    Mais hélas aucun fichier WSDL (qui m'aurait bien facilité la tâche).


    J'ai fait pas mal de recherche pour ma connexion, mais les exemples que j'ai trouvé n'ont pas été fructifiant... Le problème étant ce certificat que je n'arrive pas à utiliser.

    Voilà le code de connexion que j'ai :
    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
     
    //Création de l'accès vers le service
    Service service = new Service();
    //Création d'un appel vers le service
    Call call = (Call)service.createCall();
    //Récupération de l'adresse URL du service accédé
    call.setTargetEndpointAddress(new java.net.URL(endpoint));
     
    //Informer que je passe par le proxy
    System.getProperties().put("https.proxySet", "true" );
    System.getProperties().put("https.proxyHost", proxyHost);
    System.getProperties().put("https.proxyPort", proxyPort);
     
    System.setProperty("javax.net.ssl.trustStore", CertificatPath );
    System.setProperty("javax.net.ssl.trustStoreType", "PKCS12" );
    System.setProperty("javax.net.ssl.trustStorePassword", CertificatPassword );
     
     
    //Invocation du service & Récupération du résultat
    String message = (String)call.invoke("",new Object[]{});
     
    System.out.println("Retour = " + message);
    et voilà l'erreur qui me saute au nez...
    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
     
    java.net.SocketException: Default SSL context init failed: IBMTrustManager: Problem accessing trust store java.io.IOException: Error in loading the keystore: Private key decryption error: (java.security.InvalidKeyException: Illegal key size)
    ---------------------------------------------
    AxisFault
     faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
     faultSubcode: 
     faultString: java.net.SocketException: Default SSL context init failed: IBMTrustManager: Problem accessing trust store java.io.IOException: Error in loading the keystore: Private key decryption error: (java.security.InvalidKeyException: Illegal key size)
     faultActor: 
     faultNode: 
     faultDetail: 
    	{http://xml.apache.org/axis/}stackTrace:java.net.SocketException: Default SSL context init failed: IBMTrustManager: Problem accessing trust store java.io.IOException: Error in loading the keystore: Private key decryption error: (java.security.InvalidKeyException: Illegal key size)
    	at javax.net.ssl.DefaultSSLSocketFactory.createSocket(SSLSocketFactory.java:8)
    	at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:178)
    	at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
    	at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
    	at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
    	at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    	at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    	at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    	at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
    	at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
    	at org.apache.axis.client.Call.invoke(Call.java:2767)
    	at org.apache.axis.client.Call.invoke(Call.java:2443)
    	at org.apache.axis.client.Call.invoke(Call.java:2366)
    	at org.apache.axis.client.Call.invoke(Call.java:2391)
    	at Form_WS.main(Form_WS.java:52)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:615)
    	at org.eclipse.ve.internal.java.vce.launcher.remotevm.JavaBeansLauncher.main(JavaBeansLauncher.java:79)
     
    	{http://xml.apache.org/axis/}hostname:MyComputerName
    Est-ce que qqun saurait m'aider? Merci d'avance...

  2. #2
    oca
    oca est déconnecté
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Par défaut
    Citation Envoyé par error Voir le message
    Mais hélas aucun fichier WSDL (qui m'aurait bien facilité la tâche).
    Essaie peut-être

    https://www.myurl.com/getmyservice?wsdl

    A+

  3. #3
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 26
    Par défaut
    Oui j'avais essayé, mais il le prend comme si j'avais transmis un paramètre à vide et donc me dit que le paramètre n'est pas valide, mais pas de fichier.

    Pas non plus de WSDL avec https://www.myurl.com/wsdl d'ailleurs. Mais étant donné que mon hôte ne peut pas(ne veut pas?!!) le transmettre, il y'en a peut-être pas (enfin, je sais pas si c'est possible ça...)

  4. #4
    oca
    oca est déconnecté
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Par défaut
    oui c'est possible... le terme Web service n'est pas normalisé.
    un web service peut donc être "REST" ou du XML-RPC...

Discussions similaires

  1. Connexion WebService derrière proxy
    Par Jose.N70 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 22/08/2014, 12h49
  2. [D7] WebService : Certificat WSE3
    Par ShaiLeTroll dans le forum Web & réseau
    Réponses: 11
    Dernier message: 20/04/2011, 14h31
  3. Problème d'authentification au webservice via proxy
    Par noemi dans le forum Services Web
    Réponses: 0
    Dernier message: 30/06/2009, 16h27
  4. Webservice et proxy
    Par blari18 dans le forum Web & réseau
    Réponses: 1
    Dernier message: 31/01/2008, 16h50
  5. [WebServices] rechercher un certificat depuis un Service Web
    Par Cédric B. dans le forum Services Web
    Réponses: 2
    Dernier message: 24/04/2007, 10h48

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