Java と Glassfish 3.1 で Web サービス セキュリティを試しています: Web サービスのエンドポイントの "Transport Guarantee" を CONFIDENTIAL に設定して、Hello World Web サービスを Glassfish の https リスナー (ポート 8181) で実行するように構成しました。
この後、Web サービスの属性を編集し、トランスポート セキュリティ (SSL) メカニズムを使用したセキュア サービスを有効にしました。Comodo によって署名された信頼できる証明書を使用しています。
Web サービス クライアントの作成ではエラーは発生しませんが、テスト アプリケーションを起動すると、次のエラーが発生します。
%% Cached client session: [Session-1, TLS_DHE_RSA_WITH_AES_128_CBC_SHA]
main, WRITE: TLSv1 Application Data, length = 320
main, WRITE: TLSv1 Application Data, length = 32
main, WRITE: TLSv1 Application Data, length = 1328
main, READ: TLSv1 Application Data, length = 768
main, READ: TLSv1 Application Data, length = 32
main, READ: TLSv1 Application Data, length = 320
main, READ: TLSv1 Application Data, length = 32
main, READ: TLSv1 Application Data, length = 32
main, called close()
main, called closeInternal(true)
main, SEND TLSv1 ALERT: warning, description = close_notify
main, WRITE: TLSv1 Alert, length = 32
main, called closeSocket(selfInitiated)
Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Invalid Security Header
at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:189)
at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:122)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:140)
at $Proxy43.helloWorld(Unknown Source)
at wss_test.WSS_Test.helloWorld(WSS_Test.java:31)
at wss_test.WSS_Test.main(WSS_Test.java:19)
Java Result: 1
URLと証明書を管理しようとしましたが、結果は変わりません。私のエラーはどれですか?問題を解決するにはどうすればよいですか?
前もって感謝します。
メフィスト