Vous devez spécifier une connexion sécurisée comme expliqué here. Pour l'essentiel, dans votre descripteur de déploiement web.xml vous devez définir:
<security-constraint>
...
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
Cependant NetBeans
insère le code pour vous: ouvert web.xml
, cliquez sur l'onglet Sécurité en haut de l'éditeur, puis cliquez sur Ajouter Constraint sécurité bouton. Tapez un nom, dans le modèle d'URL write/*, définissez toutes les méthodes HTTP et spécifiez Confidential
comme garantie de transport.
Si vous n'avez pas web.xml
, parce que vous déployez simplement l'Enterprise Java Bean, créez un nouveau GlassFish Descriptor glassfish-ejb-jar.xml
et le remplir comme celui-ci (ou voir here la hiérarchie des fichiers):
<glassfish-ejb-jar>
<enterprise-beans>
<ejb>
<ejb-name>Hello</ejb-name>
<webservice-endpoint>
<port-component-name>Hello</port-component-name>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</webservice-endpoint>
</ejb>
</enterprise-beans>/>
</glassfish-ejb-jar>
Votre l'application utilisera le port 8181 à partir de maintenant. Pour plus d'informations sur la configuration de la sécurité dans une application Web NetBeans et here pour en savoir plus sur les certificats, voir here.
Etes-vous sûr que cette solution fonctionne également sur les services web ejb? Je peux imaginer que cela serait applicable lors de l'utilisation de webservice sur des servlets, mais que diriez-vous ejb webservice. Est-il possible de définir la garantie de transport pour les services web ejb dans un fichier descripteur, peut-être 'sun-ejb-jar.xml'? – AdemC
@AdemC: J'ai mis à jour ma réponse – perissf
Merci, ça marche! Sa magie avec tous ces fichiers descripteurs ... – AdemC