JavaクライアントでWebサービスを呼び出す必要があります。このサービスは、メッセージレベル(SSLではなくWs-Security)の証明書を介してクライアントを認証します。
このダイアログでは、相互証明書セキュリティを備えたJAX-WSを使用してWebサービスを生成できるため、可能であるはずです。
しかし、私はなんとかクライアントを作成することができません。誰かアイデアがありますか?
JavaクライアントでWebサービスを呼び出す必要があります。このサービスは、メッセージレベル(SSLではなくWs-Security)の証明書を介してクライアントを認証します。
このダイアログでは、相互証明書セキュリティを備えたJAX-WSを使用してWebサービスを生成できるため、可能であるはずです。
しかし、私はなんとかクライアントを作成することができません。誰かアイデアがありますか?
自分で試したわけではありませんが、http ://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/2.0/tutorial/doc/から:
XWSSを使用したメッセージセキュリティの設定
アプリケーションサーバーには、JAX-WSアプリケーションを保護するためにXWS-Securityを使用するために必要なすべてのJARファイルが含まれていますが、サンプルアプリケーションを表示するには、スタンドアロンのJavaWSDPバンドルをダウンロードしてインストールする必要があります。Java WSDPは、http://java.sun.com/webservices/downloads/webservicespack.htmlからダウンロードできます。
XWSSを使用して既存のJAX-WSアプリケーションにメッセージセキュリティを追加するには、クライアント側で次の手順に従います。
クライアントセキュリティ構成を作成します。クライアントセキュリティ構成ファイルは、クライアントアプリケーションに使用されるメッセージセキュリティ操作の順序とタイプを指定します。たとえば、デジタル署名操作を実行するための単純なセキュリティ構成は次のようになります。
<xwss:Sign id="s" includeTimestamp="true">
<xwss:X509Token encodingType="http://docs.oasis-
open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
valueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
x509-token-profile-1.0#X509SubjectKeyIdentifier"
certificateAlias="xws-security-client"
keyReferenceType="Identifier"/>
</xwss:Sign>
</xwss:SecurityConfiguration>
</xwss:Service>
<xwss:SecurityEnvironmentHandler>
simple.client.SecurityEnvironmentHandler
</xwss:SecurityEnvironmentHandler>
セキュリティ構成の記述と理解、およびSecurityEnvironmentHandlerの設定の詳細については、Java Web Services Developer Pack 1.6チュートリアル(http://java.sun.com/webservices/docs/1.6/tutorial/doc/index.html )を参照してください。
クライアントコードで、生成されたセキュリティ構成で初期化されたXWSSecurityConfigurationオブジェクトを作成します。これは、クライアントファイルで使用するコードの例です。このコードを使用する完全なファイルの例については、\ jaxws2.0 \ simple-doclit \ src \ simple \client\ディレクトリにあるサンプルクライアントを参照してください。
FileInputStream f = new FileInputStream("./etc/client_security_config.xml");
XWSSecurityConfiguration config = SecurityConfigurationFactory.newXWSSecurityConfiguration(f);
RequestContext
プロパティを使用して、にセキュリティ構成情報を設定しXWSSecurityConfiguration.MESSAGE_SECURITY_CONFIGURATION
ます。このコードを使用する完全なファイルの例については、\ jaxws2.0 \ simple-doclit \ src \ simple \client\ディレクトリにあるサンプルクライアントを参照してください。
// put the security config info
((BindingProvider)stub).getRequestContext().put(
XWSSecurityConfiguration.MESSAGE_SECURITY_CONFIGURATION,
config);
XWS-Securityの追加に関係なく、クライアントを作成する場合と同じように、スタブでメソッドを呼び出します。\ jaxws2.0 \ simple-doclit \ src \ simple \client\ディレクトリからのアプリケーションの例を以下に示します。
Holder<String> hold = new Holder("Hello !");
stub.ping(ticket, hold);