Glassfish JAX-WS side by side SSL / insecure EJB webservice
est-il possible de lancer un seul service @WebService en tant que sécurisé et non sécurisé en même temps, de préférence en utilisant la même URL, sauf pour la différence de protocole http/https?
je suis capable d'exécuter le service sécurisé ou non sécurisé en utilisant:
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
ou
<transport-guarantee>NONE</transport-guarantee>
à l'intérieur de sun-ejb-jar.xml
IE.
<ejb>
<ejb-name>MyEJB</ejb-name>
<webservice-endpoint>
<port-component-name>MyWebService</port-component-name>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</webservice-endpoint>
</ejb>
des Suggestions?
3 réponses
pourquoi ne pas utiliser le serveur d'applications proxy avec le serveur HTTP Apache ou similaire? Je le fais généralement de cette façon et laisse SSL handshaking/open text connection à HTTP devant.
il suffit de retirer le <transport-guarantee>CONFIDENTIAL</transport-guarantee>
, votre haricots seront disponibles sur http et https.
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
signifie sécurité stricte, toute requête http à venir est redirigée vers https(ssl).
suppression de cette <transport-guarantee>CONFIDENTIAL</transport-guarantee>
vous obtiendrez une grande flexibilité.
je sais que c'est une vieille question. Toutefois, j'ai le plaisir de vous fournir cette réponse puisque j'ai récemment rencontré exactement le même problème.
Conformément à la documentation Oracle:
- préciser confidentiel lorsque l'application exige que les données soient transmises de manière à empêcher d'autres entités d'observer le contenu de la transmission.
- N'en spécifier Aucune pour indiquer que le conteneur doit accepter les requêtes limitées sur toute connexion, y compris une non protégée.
Puisqu'il s'agit simplement d'une garantie de transport, une valeur "NONE" devrait vous fournir la fonctionnalité que vous souhaitez, à savoir un Service web EJB répondant à la fois aux requêtes http et https.
le problème ici est un bug dans Glassfish qui apparemment vous limite à accepter les requêtes http ou https à votre Service web EJB:
- Bug dans Glassfish 2.x: https://java.net/jira/browse/GLASSFISH-5621
- Bug dans Glassfish 3.x:https://java.net/jira/browse/GLASSFISH-19293
selon la dernière tâche jira la question devrait être fixée et travailler à partir de Glassfish 4.0_b75.