Search in sources :

Example 1 with FaultDetail

use of org.apache.cxf.greeter_control.types.FaultDetail in project cxf by apache.

the class AbstractGreeterImpl method pingMe.

public void pingMe() throws PingMeFault {
    pingMeCount++;
    if ((pingMeCount % 2) == 0 || throwAlways) {
        LOG.fine("Throwing PingMeFault while executiong operation pingMe");
        FaultDetail fd = new FaultDetail();
        fd.setMajor((short) 2);
        fd.setMinor((short) 1);
        throw new PingMeFault("Pings succeed only every other time.", fd);
    }
    LOG.fine("Executing operation pingMe");
}
Also used : FaultDetail(org.apache.cxf.greeter_control.types.FaultDetail)

Example 2 with FaultDetail

use of org.apache.cxf.greeter_control.types.FaultDetail in project cxf by apache.

the class FaultHandlingInterceptor method handleMessage.

public synchronized void handleMessage(Message message) throws Fault {
    FaultMode mode = MessageUtils.getFaultMode(message);
    if (null != mode) {
        Throwable cause = message.getContent(Exception.class).getCause();
        if (FaultMode.CHECKED_APPLICATION_FAULT == mode) {
            PingMeFault original = (PingMeFault) cause;
            FaultDetail detail = new FaultDetail();
            detail.setMajor((short) 20);
            detail.setMinor((short) 10);
            PingMeFault replaced = new PingMeFault(original.getMessage(), detail);
            message.setContent(Exception.class, new Fault(replaced));
        } else {
            RuntimeException original = (RuntimeException) cause;
            RuntimeException replaced = new RuntimeException(original.getMessage().toUpperCase());
            message.setContent(Exception.class, new Fault(replaced));
        }
    }
}
Also used : FaultMode(org.apache.cxf.message.FaultMode) PingMeFault(org.apache.cxf.greeter_control.PingMeFault) FaultDetail(org.apache.cxf.greeter_control.types.FaultDetail) Fault(org.apache.cxf.interceptor.Fault) PingMeFault(org.apache.cxf.greeter_control.PingMeFault)

Example 3 with FaultDetail

use of org.apache.cxf.greeter_control.types.FaultDetail in project cxf by apache.

the class GreeterImpl11 method pingMe.

public void pingMe() throws PingMeFault {
    FaultDetail faultDetail = new FaultDetail();
    faultDetail.setMajor((short) 2);
    faultDetail.setMinor((short) 1);
    LOG.info("Executing operation pingMe, throwing PingMeFault exception");
    // System.out.println("Executing operation pingMe, throwing PingMeFault exception\n");
    throw new PingMeFault("PingMeFault raised by server", faultDetail);
}
Also used : PingMeFault(org.apache.cxf.greeter_control.PingMeFault) FaultDetail(org.apache.cxf.greeter_control.types.FaultDetail)

Example 4 with FaultDetail

use of org.apache.cxf.greeter_control.types.FaultDetail in project cxf by apache.

the class Soap11ClientServerTest method testPingMeFault.

@Test
public void testPingMeFault() throws Exception {
    Greeter greeter = getGreeter();
    try {
        greeter.pingMe();
        fail("Should throw Exception!");
    } catch (PingMeFault ex) {
        FaultDetail detail = ex.getFaultInfo();
        assertEquals((short) 2, detail.getMajor());
        assertEquals((short) 1, detail.getMinor());
        assertEquals("PingMeFault raised by server", ex.getMessage());
        StackTraceElement[] element = ex.getStackTrace();
        assertEquals("org.apache.cxf.systest.soapfault.details.GreeterImpl11", element[0].getClassName());
    }
}
Also used : PingMeFault(org.apache.cxf.greeter_control.PingMeFault) Greeter(org.apache.cxf.greeter_control.Greeter) FaultDetail(org.apache.cxf.greeter_control.types.FaultDetail) Test(org.junit.Test)

Aggregations

FaultDetail (org.apache.cxf.greeter_control.types.FaultDetail)4 PingMeFault (org.apache.cxf.greeter_control.PingMeFault)3 Greeter (org.apache.cxf.greeter_control.Greeter)1 Fault (org.apache.cxf.interceptor.Fault)1 FaultMode (org.apache.cxf.message.FaultMode)1 Test (org.junit.Test)1