Bonjour a tous,

j'essaye d'appelé un webservice sécurisé avec un certificat un user name/password

pour le certificat, sa ne pose aucun problème.

par contre sa coince au niveau de l'utilisateur.

voici l'erreur obtenue
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
Caused by: org.apache.cxf.ws.policy.PolicyException: No username available
	at org.apache.cxf.ws.security.wss4j.policyhandlers.AbstractBindingBuilder.policyNotAsserted(AbstractBindingBuilder.java:283)
	at org.apache.cxf.ws.security.wss4j.policyhandlers.AbstractBindingBuilder.addUsernameToken(AbstractBindingBuilder.java:640)
	at org.apache.cxf.ws.security.wss4j.policyhandlers.TransportBindingHandler.addUsernameTokens(TransportBindingHandler.java:80)
	at org.apache.cxf.ws.security.wss4j.policyhandlers.TransportBindingHandler.handleBinding(TransportBindingHandler.java:127)

voici mon code
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
 
MonService monService = new MonService();
		IMonService imonService = monService.getWSHttpBindingIMonService();
 
		Client client = ClientProxy.getClient(imonService);
		Endpoint cxfEndpoint = client.getEndpoint();
		cxfEndpoint.getOutInterceptors().add(new SAAJOutInterceptor());
 
		Map<String, Object> ctx = new HashMap<String, Object>();
		ctx.put(WSHandlerConstants.ACTION, WSHandlerConstants.USERNAME_TOKEN);
		ctx.put(WSHandlerConstants.USER, "username");
		ctx.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_TEXT);
		ctx.put(WSHandlerConstants.PW_CALLBACK_CLASS, ClientPasswordHandler.class.getName());
 
		WSS4JOutInterceptor wssOut = new WSS4JOutInterceptor(ctx);
		cxfEndpoint.getOutInterceptors().add(wssOut);
 
		imonService.setDossier("test");

merci d'avance