1

wsHttpBinding を使用して WCF サービスを構築しています。(WS-Security および Message Level Security を使用)

今、私はそれのためのJAVAクライアントを構築したいと思います..

  • メトロ
  • ネットビーンズ

これまでのところ、すべてうまくいきました。WSDL から Java クライアントを作成しました。

クライアントプロキシを呼び出すたびに、次のエラーが発生します。

java.lang.NullPointerException
         at
 com.sun.xml.ws.security.impl.policyconv.BindingProcessor.requireSC(BindingProcessor.java:330)
         at
 com.sun.xml.ws.security.impl.policyconv.BindingProcessor.addPrimaryTargets(BindingProcessor.java:310)
         at
 com.sun.xml.ws.security.impl.policyconv.SymmetricBindingProcessor.process(SymmetricBindingProcessor.java:154)
         at
 com.sun.xml.ws.security.impl.policyconv.XWSSPolicyGenerator.process(XWSSPolicyGenerator.java:200)
         at
 com.sun.xml.ws.security.impl.policyconv.XWSSPolicyGenerator.process(XWSSPolicyGenerator.java:157)
         at
 com.sun.xml.wss.jaxws.impl.SecurityTubeBase.constructPolicyHolder(SecurityTubeBase.java:1233)
         at
 com.sun.xml.wss.jaxws.impl.SecurityClientTube.addIncomingProtocolPolicy(SecurityClientTube.java:683)
         at
 com.sun.xml.wss.jaxws.impl.SecurityTubeBase.buildProtocolPolicy(SecurityTubeBase.java:1206)
         at
 com.sun.xml.wss.jaxws.impl.SecurityTubeBase.collectPolicies(SecurityTubeBase.java:735)
         at
 com.sun.xml.wss.jaxws.impl.SecurityTubeBase.<init>(SecurityTubeBase.java:288)
         at
 com.sun.xml.wss.jaxws.impl.SecurityClientTube.<init>(SecurityClientTube.java:144)
         at
 com.sun.xml.wss.provider.wsit.SecurityTubeFactory.createTube(SecurityTubeFactory.java:227)
         at 
 com.sun.xml.ws.assembler.TubeCreator.createTube(TubeCreator.java:77)
         at
 com.sun.xml.ws.assembler.TubelineAssemblerFactoryImpl$MetroTubelineAssembler.createClient(TubelineAssemblerFactoryImpl.java:121)
         at com.sun.xml.ws.client.Stub.createPipeline(Stub.java:224)
         at com.sun.xml.ws.client.Stub.<init>(Stub.java:201)
         at com.sun.xml.ws.client.Stub.<init>(Stub.java:174)
         at com.sun.xml.ws.client.sei.SEIStub.<init>(SEIStub.java:81)
         at
 com.sun.xml.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:602)
         at
 com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:344)
         at
 com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:326)
         at
 com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:308)
         at javax.xml.ws.Service.getPort(Service.java:134)
4

2 に答える 2

-1

BindingProcessor.java行にブレークポイントを設定します330。私が思い出したように、あなたは F6 で「ステップオーバー」しました。

あなたが .NET の専門家であれば、基本的なプログラミングの知識があることを意味します。すべてのプログラマーは、プログラムのデバッグ方法を知っている必要があります。

ここで NetBeans のデバッグの詳細を読み、コードをデバッグして、メソッドの引数requireSCが初期化されていない場所を確認します。

于 2012-12-12T22:43:30.967 に答える