Bonjour,
Je suis sur Eclipse / Java et j'aimerais consommer un web service dont l'URL du WSDL est la suivante :

https://soge.six-axe.fr/asteaallianc....API.asmx?wsdl

Dans cette URL je voudrai appeler la méthode Login qui accepte 3 paramètres : User, Password, Env.
Le web service doit retourner :
- soit un numéro de session si ok
- soit un string sous la forme "Unable to login to profile UnLogin reason:
Login Failed. The profile: UnProfil does not exist." si non autorisé.

Mon code que j'ai généré 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
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
 
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.message.SOAPHeaderElement;
 
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
 
 
public class Test {
 
public static void main(String [] args) throws Exception {
 
       String endpoint = "https://soge.six-axe.fr/asteaalliance140_APP_frameworkSO_DEV/Astea.AO.API.asmx";
 
      // Make the call
 
       Service  service = new Service();
       Call     call    = (Call) service.createCall();
 
       call.setTargetEndpointAddress(new java.net.URL(endpoint));
 
       call.addHeader(new SOAPHeaderElement(new QName("http://www.astea.com/webservices","SessionID")));
       call.setOperationName( "Login" );
       call.addParameter("User", XMLType.XSD_NORMALIZEDSTRING, ParameterMode.IN);
       call.addParameter("Password", XMLType.XSD_NORMALIZEDSTRING, ParameterMode.IN);
       call.addParameter("Profile", XMLType.XSD_NORMALIZEDSTRING, ParameterMode.IN);
       call.setReturnType(XMLType.XSD_NORMALIZEDSTRING);
 
 
 
       String ret = (String) call.invoke( new Object [] { "monUtilisateur", "monMotDePasse", "monProfile" });
 
       System.out.println(ret);
   }
}
Avec ce que je vous donne en retour je devrais avoir :
"Unable to login to profile monUtilisateur reason:
Login Failed. The profile: monProfile does not exist."

Mais non !
A la place j'ai la vieille Exception :
Server did not recognize the value of HTTP Header SOAPAction: .

J'aurais bien voulu voir le message xml préparé pour le comparer avec ce que j'ai dans SOAPUI mais je ne sais pas comment faire.