2016-04-05 1 views
0

私はRAMPART実装でWebサービスを作成しました。WSO2:RAMPARTUTILがnullポインタを実行しています

サービスの流れ: 送信者 - 彼の秘密鍵を使用>ログインメッセージ - サーバ公開鍵使用>暗号化メッセージ - >が Receiverを受信機に送信 - >送信者の公開鍵を使ってメッセージを認証 - >は、自分の秘密鍵を使ってメッセージを復号化 - >情報を処理します。

問題: クライアントは Serverがメッセージを正常にdecypting &を認証しているサーバーに送信&暗号化メッセージ&署名されています。 今、 &の値をサーバが処理するメッセージを復号化してから、 がクライアントに返答しなければなりません。リターンの は、私は次のようなエラーになっています。また

SEVERE: Servlet.service() for servlet [AxisServlet] in context with path [/webService] threw exception 
java.lang.NullPointerException 
    org.apache.rampart.util.RampartUtil.setKeyIdentifierType(RampartUtil.java:1389) 
    org.apache.rampart.builder.BindingBuilder.getSignatureBuilder(BindingBuilder.java:266) 
    org.apache.rampart.builder.BindingBuilder.getSignatureBuilder(BindingBuilder.java:250) 
    org.apache.rampart.builder.AsymmetricBindingBuilder.doSignature(AsymmetricBindingBuilder.java:760) 
    org.apache.rampart.builder.AsymmetricBindingBuilder.doSignBeforeEncrypt(AsymmetricBindingBuilder.java:417) 
    org.apache.rampart.builder.AsymmetricBindingBuilder.build(AsymmetricBindingBuilder.java:88) 
    org.apache.rampart.MessageBuilder.build(MessageBuilder.java:147) 
    org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:65) 
    org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340) 
    org.apache.axis2.engine.Phase.invoke(Phase.java:313) 
    org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262) 
    org.apache.axis2.engine.AxisEngine.sendFault(AxisEngine.java:516) 
    org.apache.axis2.transport.http.AxisServlet.handleFault(AxisServlet.java:433) 
    org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:216) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:641) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:550) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:380) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

を、私はその場合には応答が成功すると、城壁せずにサービスを実施しています。

私は過去2日間から苦労しています。 リクエストの解読が成功してから何が失われたのか理解できませんが、応答は例外をスローしています。

答えて

0

私は、以下のブロックを追加し、エラーが解決した:

<sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> 
    <wsp:Policy> 
    <sp:MustSupportRefKeyIdentifier/> 
    <sp:MustSupportRefIssuerSerial/> 
    </wsp:Policy> 
</sp:Wss10> 
関連する問題