[LDAP] - connexion à un service web via URL ldap
Bonjour,
jai récupéré un code de connexion à un service web en PHP :
Code:
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:
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:
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