2013-04-07 5 views
0
내가 (여기에 내가 TUTORIAL PAGE에 따라 튜토리얼이야 이클립스 성벽의 WS 보안을 AXS 2 웹 서비스를 만든

- 18 ~ 21NullPointerException이

내가 aplied했습니다를 다음은이 코드를 추가하여 service.xml에서 정책 및 종사 램 파트 모듈은

<wsp:Policy wsu:Id="UTOverTransport" 
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
    xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> 
    <wsp:ExactlyOne> 
     <wsp:All> 
      <sp:SignedSupportingTokens 
       xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> 
       <wsp:Policy> 
        <sp:UsernameToken 
         sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient" /> 
       </wsp:Policy> 
      </sp:SignedSupportingTokens> 
      <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy"> 
       <ramp:passwordCallbackClass>axis2wstest.PWCBHandler</ramp:passwordCallbackClass> 
      </ramp:RampartConfig> 

     </wsp:All> 
    </wsp:ExactlyOne> 
</wsp:Policy> 

는 그럼 웹 서비스 클라이언트를 작성 - 여기에 코드

public static void main(String[] args) throws RemoteException { 
      ConfigurationContext ctx; 
      ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem("C:/Users/Tanya/workspace/testlnclient/WebContent/WEB-INF", null); 
     TestlnStub stub = new TestlnStub(ctx); 

     Testws cl = new Testws(); 
     cl.setX(5); 
     ServiceClient client = stub._getServiceClient(); 
     client.engageModule("rampart");  
     //client.addHeader(omSecurityElement); 
     org.apache.axis2.client.Options o = client.getOptions(); 
     o.setPassword("pass"); 
     o.setUserName("test"); 
     TestwsResponse resp = stub.testws(cl); 

     System.out.println("Response" + resp.get_return()); 


     // TODO Auto-generated method stub 

    } 

} 

하지만 난이 t은 나에게

exception in thread "main" org.apache.axis2.AxisFault: java.lang.NullPointerException 
    at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531) 
    at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:375) 
    at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421) 
    at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) 
    at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) 
    at axis2wstest.TestlnStub.testws(TestlnStub.java:191) 
    at axis2wstest.testlnclient.main(testlnclient.java:35) 

답변

2

스택 추적에 Utils.getInboundFaultFromMessageContext의 존재는 NullPointerException 실제로 서비스에서 오는 클라이언트에 의해 슬로우되지 않는 것을 나타냅니다 excetion을 제공합니다. 서버 로그를 확인하여 NullPointerException이 발생한 위치를 확인하십시오.