我正在使用ejb 3和glassfish 3.1.1开发一个web服务。我正在使用Netbeans 7.0,并且想知道如何在端口8181上为此Web服务启用https。
我不需要任何身份验证方法,只需通过https确保通信!
THX
阿德姆
答案 0 :(得分:9)
您需要按照here的说明指定安全连接。实质上,在部署描述符web.xml中,您需要设置:
<security-constraint>
...
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
但是NetBeans
会为您插入代码:打开web.xml
,单击编辑器顶部的“安全”选项卡,然后单击“添加安全约束”按钮。键入名称,在URL模式中写入/ *,设置所有Http方法,并将Confidential
指定为运输保证。
如果您没有web.xml
,因为您只部署Enterprise Java Bean,请创建一个新的GlassFish描述符glassfish-ejb-jar.xml
并像这样填充(或参见here文件层次):
<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>
从现在开始,您的应用程序将使用端口8181.