Bonjour,

jai récupéré un code de connexion à un service web en PHP :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
$client = new SoapClient(null, array("location" => "ldap://machin:450/",
						"uri" => "urn:DIS",
						"style" => SOAP_RPC,
						"use" => SOAP_ENCODED));
	}
 
$retour =$client -> __call("monServiceWeb", 
			 array(new SoapParam($authenticateUID, "requester"), 
					new SoapParam("ou=agentAAtteindre,dc=sous-maitre,dc=maitre", "holderDN")),
		         array("uri" => "urn:DIS",
	                         "soapaction" => "urn:DIS#monServiceWeb"));
Et n'ayant pas le wsdl du service web, j'ai utilisé l'api JAXM pour créer mon message SOAP Client :

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
 
 
MessageFactory factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL); 
		SOAPMessage message = factory.createMessage(); 
		SOAPPart soapPart = message.getSOAPPart();
		SOAPEnvelope envelope = soapPart.getEnvelope();
		SOAPHeader header = envelope.getHeader();
		SOAPBody body = envelope.getBody(); 
		QName bodyName = new QName("ldap://machin:450/","monServiceWeb","mSW");
		SOAPBodyElement bodyElement = body.addBodyElement(bodyName);
		QName name = new QName("attribut1");
		SOAPElement symbol = bodyElement.addChildElement(name);
		symbol.addTextNode("valeur1");
		name = new QName("holderDN");
		symbol = bodyElement.addChildElement(name);
		symbol.addTextNode("ou=agentAAtteindre,dc=sous-maitre,dc=maitre");
 
		SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance(); 
		SOAPConnection connection = soapConnectionFactory.createConnection();
 
		java.net.URL endpoint = new URL("ldap://machin:450/");
 
		SOAPMessage response = connection.call(message, endpoint); 
 
		connection.close();
Et lorsque j'exécute le tout dans mon main, j'obtiens l'erreur suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
 
java.net.MalformedURLException: unknown protocol: ldap
	at java.net.URL.<init>(Unknown Source)
	at java.net.URL.<init>(Unknown Source)
	at java.net.URL.<init>(Unknown Source)
J'ai regardé un peu partout dans les forums, et il est beaucoup dit que l'on e peut faire une connexion URL avec le protocol ldap ...
Sachant que c'est uniquement de cette manière que je peux consommer le service web (ça marche très bien en PHP), je suis un peu désespéré ...

En espérant que quelqu'un puisse m'éclairer.

Mageni