Je tente de développer un service Web JAX WS avec des fonctionnalités WS-Security dans WebLogic 10.3. J'ai utilisé les tâches Ant WSDLC, JWSC et ClientGen pour générer le squelette/stub pour ce service Web.Erreur lors de la mise en œuvre du service Web WS Security dans WebLogic 10.3
J'ai deux keystores à savoir WSIdentity.jks et WSTrust.jks qui contient les clés et les certificats. L'un des alias de WSIdentity.jks est "ws02p".
Le client de test a le code suivant pour appeler le service Web:
SecureSimpleService service = new SecureSimpleService();
SecureSimplePortType port = service.getSecureSimplePortType();
List credProviders = new ArrayList();
CredentialProvider cp = new ClientBSTCredentialProvider(
"E:\\workspace\\SecureServiceWL103\\keystores\\WSIdentity.jks",
"webservice", "ws01p","webservice");
credProviders.add(cp);
string endpointURL="http://localhost:7001/SecureSimpleService/SecureSimpleService";
BindingProvider bp = (BindingProvider)port;
Map<String, Object> requestContext = bp.getRequestContext();
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpointURL);
requestContext.put(WSSecurityContext.CREDENTIAL_PROVIDER_LIST,credProviders);
requestContext.put(WSSecurityContext.TRUST_MANAGER, new TrustManager() {
public boolean certificateCallback(X509Certificate[] chain,
int validateErr) {
// Put some custom validation code in here.
// Just return true for now
return true;
}
});
SignResponse resp1 = new SignResponse();
***resp1 = port.echoSignOnlyMessage("hello sign");***
System.out.println("Result: " + resp1.getMessage());
Quand j'essaie d'invoquer cette servcie Web en utilisant ce client de test, je reçois l'erreur « politique de signature non valide » avec la pile suivante trace:
*[java] weblogic.wsee.security.wss.policy.SecurityPolicyArchitectureException: Invalid signing policy
[java] at weblogic.wsee.security.wss.plan.SecurityPolicyBlueprintDesigner.verifyPolicy(SecurityPolicyBlueprintDesigner.java:786)
[java] at weblogic.wsee.security.wss.plan.SecurityPolicyBlueprintDesigner.designOutboundBlueprint(SecurityPolicyBlueprintDesigner.java:136)
Suis-je manque des paramètres de configuration dans la console d'administration WebLogic ou est-il faire autre chose?