NullPointerException в моем клиенте веб-службы оси 2 с защитой вала

Я создал веб-службу axs 2 с защитой валов ws в eclipse (вот учебник, которому я следую ОБУЧЕНИЕ СТРАНИЦА - 18-21

Я применил политику в service.xml, добавив этот код И ВКЛЮЧЕННЫЙ МОДУЛЬ RAMPART

<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

    }

}

но это дает мне исключение

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)

person Tania Marinova    schedule 07.04.2013    source источник


Ответы (1)


Наличие Utils.getInboundFaultFromMessageContext в трассировке стека указывает на то, что NullPointerException на самом деле исходит от службы, а не генерируется клиентом. Проверьте журналы сервера, чтобы увидеть, где происходит NullPointerException.

person Andreas Veithen    schedule 08.04.2013