Search in sources :

Example 1 with SOAPService

use of org.apache.hello_world_soap_http.SOAPService in project cxf by apache.

the class DispatchClientServerWithHugeResponseTest method testStackOverflowErrorForSOAPMessageWithHugeResponse.

@Test
public void testStackOverflowErrorForSOAPMessageWithHugeResponse() throws Exception {
    HugeResponseInterceptor hugeResponseInterceptor = new HugeResponseInterceptor(ResponseInterceptorType.overflow);
    getBus().getInInterceptors().add(hugeResponseInterceptor);
    URL wsdl = getClass().getResource("/wsdl/hello_world.wsdl");
    assertNotNull(wsdl);
    SOAPService service = new SOAPService(wsdl, SERVICE_NAME);
    assertNotNull(service);
    Dispatch<SOAPMessage> disp = service.createDispatch(PORT_NAME, SOAPMessage.class, Service.Mode.MESSAGE);
    disp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://localhost:" + greeterPort + "/SOAPDispatchService/SoapDispatchPort");
    StaxUtils.setInnerElementCountThreshold(12);
    StaxUtils.setInnerElementLevelThreshold(12);
    InputStream is3 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq3.xml");
    SOAPMessage soapReqMsg3 = MessageFactory.newInstance().createMessage(null, is3);
    assertNotNull(soapReqMsg3);
    Response<SOAPMessage> response = disp.invokeAsync(soapReqMsg3);
    try {
        response.get(300, TimeUnit.SECONDS);
    } catch (TimeoutException te) {
        fail("We should not have encountered a timeout, " + "should get some exception tell me stackoverflow");
    } catch (Throwable e) {
        assertTrue(e.getCause() instanceof StackOverflowError);
    } finally {
        getBus().getInInterceptors().remove(hugeResponseInterceptor);
    }
}
Also used : SOAPService(org.apache.hello_world_soap_http.SOAPService) InputStream(java.io.InputStream) SOAPMessage(javax.xml.soap.SOAPMessage) URL(java.net.URL) TimeoutException(java.util.concurrent.TimeoutException) Test(org.junit.Test)

Example 2 with SOAPService

use of org.apache.hello_world_soap_http.SOAPService in project cxf by apache.

the class DispatchClientServerWithHugeResponseTest method testElementCountThresholdfForSOAPMessageWithHugeResponse.

@Test
public void testElementCountThresholdfForSOAPMessageWithHugeResponse() throws Throwable {
    HugeResponseInterceptor hugeResponseInterceptor = new HugeResponseInterceptor(ResponseInterceptorType.ElementCountThreshold);
    getBus().getInInterceptors().add(hugeResponseInterceptor);
    URL wsdl = getClass().getResource("/wsdl/hello_world.wsdl");
    assertNotNull(wsdl);
    SOAPService service = new SOAPService(wsdl, SERVICE_NAME);
    assertNotNull(service);
    Dispatch<SOAPMessage> disp = service.createDispatch(PORT_NAME, SOAPMessage.class, Service.Mode.MESSAGE);
    disp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://localhost:" + greeterPort + "/SOAPDispatchService/SoapDispatchPort");
    StaxUtils.setInnerElementCountThreshold(12);
    StaxUtils.setInnerElementLevelThreshold(12);
    InputStream is3 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq3.xml");
    SOAPMessage soapReqMsg3 = MessageFactory.newInstance().createMessage(null, is3);
    assertNotNull(soapReqMsg3);
    Response<SOAPMessage> response = disp.invokeAsync(soapReqMsg3);
    try {
        response.get(300, TimeUnit.SECONDS);
        fail("should catch exception");
    } catch (TimeoutException te) {
        fail("We should not have encountered a timeout, " + "should get some exception tell me stackoverflow");
    } catch (ExecutionException e) {
        if (e.getCause() == null) {
            throw e;
        }
        Throwable t = e.getCause();
        if (t instanceof SoapFault) {
            SoapFault sf = (SoapFault) e.getCause();
            if (sf.getCause() == null) {
                throw e;
            }
            t = sf.getCause();
        }
        if (t.getMessage() == null) {
            throw e;
        }
        String msg = t.getMessage();
        assertTrue(msg, msg.startsWith("reach the innerElementCountThreshold") || msg.contains("Maximum Number of Child Elements"));
    } finally {
        getBus().getInInterceptors().remove(hugeResponseInterceptor);
    }
}
Also used : SOAPService(org.apache.hello_world_soap_http.SOAPService) SoapFault(org.apache.cxf.binding.soap.SoapFault) InputStream(java.io.InputStream) ExecutionException(java.util.concurrent.ExecutionException) SOAPMessage(javax.xml.soap.SOAPMessage) URL(java.net.URL) TimeoutException(java.util.concurrent.TimeoutException) Test(org.junit.Test)

Example 3 with SOAPService

use of org.apache.hello_world_soap_http.SOAPService in project cxf by apache.

the class Client method main.

public static void main(String[] args) throws Exception {
    if (args.length == 0) {
        System.out.println("please specify wsdl");
        System.exit(1);
    }
    URL wsdlURL;
    File wsdlFile = new File(args[0]);
    if (wsdlFile.exists()) {
        wsdlURL = wsdlFile.toURI().toURL();
    } else {
        wsdlURL = new URL(args[0]);
    }
    System.out.println("WSDL : " + wsdlURL);
    SOAPService ss = new SOAPService(wsdlURL, SERVICE_NAME);
    Greeter port = ss.getPort(PORT_NAME, Greeter.class);
    System.out.println("Invoking greetMe...");
    try {
        String resp = port.greetMe(System.getProperty("user.name"));
        System.out.println("Server responded with: " + resp);
        System.out.println();
    } catch (Exception e) {
        System.out.println("Invocation failed with the following: " + e.getCause());
        System.out.println();
    }
    System.exit(0);
}
Also used : SOAPService(org.apache.hello_world_soap_http.SOAPService) Greeter(org.apache.hello_world_soap_http.Greeter) File(java.io.File) URL(java.net.URL)

Example 4 with SOAPService

use of org.apache.hello_world_soap_http.SOAPService in project cxf by apache.

the class DispatchTest method testSOAPPBindingNullMessage.

@Test
public void testSOAPPBindingNullMessage() throws Exception {
    d.setMessageObserver(new MessageReplayObserver("/org/apache/cxf/jaxws/sayHiResponse.xml"));
    URL wsdl = getClass().getResource("/wsdl/hello_world.wsdl");
    assertNotNull(wsdl);
    SOAPService service = new SOAPService(wsdl, SERVICE_NAME);
    assertNotNull(service);
    JAXBContext jc = JAXBContext.newInstance("org.apache.hello_world_soap_http.types");
    Dispatch<Object> disp = service.createDispatch(PORT_NAME, jc, Service.Mode.PAYLOAD);
    try {
        // Send a null message
        disp.invoke(null);
    } catch (SOAPFaultException e) {
        // Passed
        return;
    }
    fail("SOAPFaultException was not thrown");
}
Also used : SOAPService(org.apache.hello_world_soap_http.SOAPService) JAXBContext(javax.xml.bind.JAXBContext) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) MessageReplayObserver(org.apache.cxf.jaxws.MessageReplayObserver) URL(java.net.URL) Test(org.junit.Test) AbstractJaxWsTest(org.apache.cxf.jaxws.AbstractJaxWsTest)

Example 5 with SOAPService

use of org.apache.hello_world_soap_http.SOAPService in project cxf by apache.

the class DispatchTest method testJAXB.

@Test
public void testJAXB() throws Exception {
    d.setMessageObserver(new MessageReplayObserver("/org/apache/cxf/jaxws/sayHiResponse.xml"));
    URL wsdl = getClass().getResource("/wsdl/hello_world.wsdl");
    assertNotNull(wsdl);
    SOAPService service = new SOAPService(wsdl, SERVICE_NAME);
    assertNotNull(service);
    JAXBContext jc = JAXBContext.newInstance("org.apache.hello_world_soap_http.types");
    Dispatch<Object> disp = service.createDispatch(PORT_NAME, jc, Service.Mode.PAYLOAD);
    SayHi s = new SayHi();
    Object response = disp.invoke(s);
    assertNotNull(response);
    assertTrue(response instanceof SayHiResponse);
}
Also used : SOAPService(org.apache.hello_world_soap_http.SOAPService) SayHi(org.apache.hello_world_soap_http.types.SayHi) SayHiResponse(org.apache.hello_world_soap_http.types.SayHiResponse) JAXBContext(javax.xml.bind.JAXBContext) MessageReplayObserver(org.apache.cxf.jaxws.MessageReplayObserver) URL(java.net.URL) Test(org.junit.Test) AbstractJaxWsTest(org.apache.cxf.jaxws.AbstractJaxWsTest)

Aggregations

SOAPService (org.apache.hello_world_soap_http.SOAPService)84 URL (java.net.URL)67 Test (org.junit.Test)56 Greeter (org.apache.hello_world_soap_http.Greeter)49 InputStream (java.io.InputStream)20 UndeclaredThrowableException (java.lang.reflect.UndeclaredThrowableException)18 SOAPMessage (javax.xml.soap.SOAPMessage)14 Bus (org.apache.cxf.Bus)14 BindingProvider (javax.xml.ws.BindingProvider)13 Endpoint (javax.xml.ws.Endpoint)13 SOAPServiceBogusAddressTest (org.apache.hello_world_soap_http.SOAPServiceBogusAddressTest)13 SOAPServiceMultiPortTypeTest (org.apache.hello_world_soap_http.SOAPServiceMultiPortTypeTest)13 SOAPFaultException (javax.xml.ws.soap.SOAPFaultException)12 TimeoutException (java.util.concurrent.TimeoutException)8 WebServiceException (javax.xml.ws.WebServiceException)8 File (java.io.File)7 ExecutionException (java.util.concurrent.ExecutionException)7 QName (javax.xml.namespace.QName)7 BeforeClass (org.junit.BeforeClass)7 GreetMeLaterResponse (org.apache.hello_world_soap_http.types.GreetMeLaterResponse)6