2012-01-16 11 views
3

ejb 3とglassfish 3.1.1を使用してWebサービスを開発しています。私はNetbeans 7.0を使用していて、このWebサービスのためにポート8181でhttpsを有効にする方法を知りたいと思います。java ejb Webservice用httpsを有効にする

認証方法は必要ありません。httpsを通じて通信を保護するだけです。

Thxを

アデム

答えて

9

hereが説明したようにあなたは安全な接続を指定する必要があります。基本的に、あなたが設定する必要があり、あなたの配備記述子web.xmlに:

<security-constraint> 
    ... 
    <user-data-constraint> 
     <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
    </user-data-constraint> 
</security-constraint> 

しかしNetBeansはあなたのためのコードを挿入します:オープンweb.xml、エディタの上部に[セキュリティ]タブをクリックし、[追加のセキュリティ制約をクリックしてくださいボタン。名前をURLパターンwrite/*に入力し、すべてのHttpメソッドを設定し、転送保証としてConfidentialを指定します。あなただけのエンタープライズJava Beanの展開しているので、

あなたはweb.xmlを持っていない場合は、新しい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を使用します。

Netbeans Webアプリケーションでセキュリティを設定する方法の詳細についてはhereを、証明書についてはhereを参照してください。

+0

このソリューションはejb webservicesでも動作しますか?サーブレット上でWebサービスを使用する場合にはこれが当てはまると考えられますが、ejb webserviceはどうでしょうか。 記述子ファイル(おそらく 'sun-ejb-jar.xml')にejb webservicesの転送保証を設定できますか? – AdemC

+0

@AdemC:私の回答を更新しました – perissf

+0

ありがとう、それは動作します!すべてのこの記述ファイルを持つ魔法... – AdemC

関連する問題