Search in sources :

Example 11 with SOAPService

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

the class DispatchClientServerTest method testDOMSourcePAYLOAD.

@Test
public void testDOMSourcePAYLOAD() throws Exception {
    /*URL wsdl = getClass().getResource("/wsdl/hello_world.wsdl");
        assertNotNull(wsdl);

        SOAPService service = new SOAPService(wsdl, serviceName);
        assertNotNull(service);*/
    Service service = Service.create(SERVICE_NAME);
    assertNotNull(service);
    service.addPort(PORT_NAME, "http://schemas.xmlsoap.org/soap/", "http://localhost:" + greeterPort + "/SOAPDispatchService/SoapDispatchPort");
    Dispatch<DOMSource> disp = service.createDispatch(PORT_NAME, DOMSource.class, Service.Mode.PAYLOAD);
    InputStream is = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq.xml");
    SOAPMessage soapReqMsg = MessageFactory.newInstance().createMessage(null, is);
    DOMSource domReqMsg = new DOMSource(soapReqMsg.getSOAPBody().extractContentAsDocument());
    assertNotNull(domReqMsg);
    // invoke
    DOMSource domResMsg = disp.invoke(domReqMsg);
    assertNotNull(domResMsg);
    String expected = "Hello TestSOAPInputMessage";
    Node node = domResMsg.getNode();
    assertNotNull(node);
    if (node instanceof Document) {
        node = ((Document) node).getDocumentElement();
    }
    String content = node.getTextContent();
    assertNotNull(content);
    assertEquals("Response should be : Hello TestSOAPInputMessage", expected, content.trim());
    InputStream is1 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq1.xml");
    SOAPMessage soapReqMsg1 = MessageFactory.newInstance().createMessage(null, is1);
    DOMSource domReqMsg1 = new DOMSource(soapReqMsg1.getSOAPBody().extractContentAsDocument());
    assertNotNull(domReqMsg1);
    // invokeOneWay
    disp.invokeOneWay(domReqMsg1);
    InputStream is2 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq2.xml");
    SOAPMessage soapReqMsg2 = MessageFactory.newInstance().createMessage(null, is2);
    DOMSource domReqMsg2 = new DOMSource(soapReqMsg2.getSOAPBody().extractContentAsDocument());
    assertNotNull(domReqMsg2);
    // invokeAsync
    Response<DOMSource> response = disp.invokeAsync(domReqMsg2);
    DOMSource domRespMsg2 = response.get();
    assertNotNull(domRespMsg2);
    String expected2 = "Hello TestSOAPInputMessage2";
    node = domRespMsg2.getNode();
    assertNotNull(node);
    if (node instanceof Document) {
        node = ((Document) node).getDocumentElement();
    }
    content = node.getTextContent();
    assertNotNull(content);
    assertEquals("Response should be : Hello TestSOAPInputMessage2", expected2, content.trim());
    InputStream is3 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq3.xml");
    SOAPMessage soapReqMsg3 = MessageFactory.newInstance().createMessage(null, is3);
    DOMSource domReqMsg3 = new DOMSource(soapReqMsg3.getSOAPBody().extractContentAsDocument());
    assertNotNull(domReqMsg3);
    // invokeAsync with AsyncHandler
    TestDOMSourceHandler tdsh = new TestDOMSourceHandler();
    Future<?> fd = disp.invokeAsync(domReqMsg3, tdsh);
    assertNotNull(fd);
    waitForFuture(fd);
    String expected3 = "Hello TestSOAPInputMessage3";
    assertEquals("Response should be : Hello TestSOAPInputMessage3", expected3, tdsh.getReplyBuffer().trim());
}
Also used : DOMSource(javax.xml.transform.dom.DOMSource) InputStream(java.io.InputStream) Node(org.w3c.dom.Node) SOAPService(org.apache.hello_world_soap_http.SOAPService) Service(javax.xml.ws.Service) WebService(javax.jws.WebService) Document(org.w3c.dom.Document) SOAPMessage(javax.xml.soap.SOAPMessage) Test(org.junit.Test)

Example 12 with SOAPService

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

the class DispatchClientServerTest method testSAXSourcePAYLOAD.

@Test
public void testSAXSourcePAYLOAD() throws Exception {
    URL wsdl = getClass().getResource("/wsdl/hello_world.wsdl");
    assertNotNull(wsdl);
    SOAPService service = new SOAPService(wsdl, SERVICE_NAME);
    assertNotNull(service);
    Dispatch<SAXSource> disp = service.createDispatch(PORT_NAME, SAXSource.class, Service.Mode.PAYLOAD);
    disp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://localhost:" + greeterPort + "/SOAPDispatchService/SoapDispatchPort");
    // Test request-response
    InputStream is = getClass().getResourceAsStream("resources/GreetMeDocLiteralSOAPBodyReq.xml");
    InputSource inputSource = new InputSource(is);
    inputSource.setPublicId(getClass().getResource("resources/GreetMeDocLiteralSOAPBodyReq.xml").toString());
    inputSource.setSystemId(inputSource.getPublicId());
    SAXSource saxSourceReq = new SAXSource(inputSource);
    assertNotNull(saxSourceReq);
    SAXSource saxSourceResp = disp.invoke(saxSourceReq);
    assertNotNull(saxSourceResp);
    String expected = "Hello TestSOAPInputMessage";
    assertTrue("Expected: " + expected, StaxUtils.toString(saxSourceResp).contains(expected));
    // Test oneway
    InputStream is1 = getClass().getResourceAsStream("resources/GreetMeDocLiteralSOAPBodyReq1.xml");
    InputSource inputSource1 = new InputSource(is1);
    inputSource1.setPublicId(getClass().getResource("resources/GreetMeDocLiteralSOAPBodyReq1.xml").toString());
    inputSource1.setSystemId(inputSource1.getPublicId());
    SAXSource saxSourceReq1 = new SAXSource(inputSource1);
    assertNotNull(saxSourceReq1);
    disp.invokeOneWay(saxSourceReq1);
    // Test async polling
    InputStream is2 = getClass().getResourceAsStream("resources/GreetMeDocLiteralSOAPBodyReq2.xml");
    InputSource inputSource2 = new InputSource(is2);
    inputSource2.setPublicId(getClass().getResource("resources/GreetMeDocLiteralSOAPBodyReq2.xml").toString());
    inputSource2.setSystemId(inputSource2.getPublicId());
    SAXSource saxSourceReq2 = new SAXSource(inputSource2);
    assertNotNull(saxSourceReq2);
    Response<SAXSource> response = disp.invokeAsync(saxSourceReq2);
    SAXSource saxSourceResp2 = response.get();
    assertNotNull(saxSourceResp2);
    String expected2 = "Hello TestSOAPInputMessage2";
    assertTrue("Expected: " + expected, StaxUtils.toString(saxSourceResp2).contains(expected2));
    // Test async callback
    InputStream is3 = getClass().getResourceAsStream("resources/GreetMeDocLiteralSOAPBodyReq3.xml");
    InputSource inputSource3 = new InputSource(is3);
    inputSource3.setPublicId(getClass().getResource("resources/GreetMeDocLiteralSOAPBodyReq3.xml").toString());
    inputSource3.setSystemId(inputSource3.getPublicId());
    SAXSource saxSourceReq3 = new SAXSource(inputSource3);
    assertNotNull(saxSourceReq3);
    TestSAXSourceHandler tssh = new TestSAXSourceHandler();
    Future<?> fd = disp.invokeAsync(saxSourceReq3, tssh);
    assertNotNull(fd);
    waitForFuture(fd);
    String expected3 = "Hello TestSOAPInputMessage3";
    SAXSource saxSourceResp3 = tssh.getSAXSource();
    assertNotNull(saxSourceResp3);
    assertTrue("Expected: " + expected, StaxUtils.toString(saxSourceResp3).contains(expected3));
}
Also used : SOAPService(org.apache.hello_world_soap_http.SOAPService) InputSource(org.xml.sax.InputSource) SAXSource(javax.xml.transform.sax.SAXSource) InputStream(java.io.InputStream) URL(java.net.URL) Test(org.junit.Test)

Example 13 with SOAPService

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

the class DispatchClientServerTest method testStreamSourcePAYLOAD.

@Test
public void testStreamSourcePAYLOAD() throws Exception {
    URL wsdl = getClass().getResource("/wsdl/hello_world.wsdl");
    assertNotNull(wsdl);
    SOAPService service = new SOAPService(wsdl, SERVICE_NAME);
    assertNotNull(service);
    Dispatch<StreamSource> disp = service.createDispatch(PORT_NAME, StreamSource.class, Service.Mode.PAYLOAD);
    disp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://localhost:" + greeterPort + "/SOAPDispatchService/SoapDispatchPort");
    InputStream is = getClass().getResourceAsStream("resources/GreetMeDocLiteralSOAPBodyReq.xml");
    StreamSource streamSourceReq = new StreamSource(is);
    assertNotNull(streamSourceReq);
    StreamSource streamSourceResp = disp.invoke(streamSourceReq);
    assertNotNull(streamSourceResp);
    String expected = "Hello TestSOAPInputMessage";
    assertTrue("Expected: " + expected, StaxUtils.toString(streamSourceResp).contains(expected));
    InputStream is1 = getClass().getResourceAsStream("resources/GreetMeDocLiteralSOAPBodyReq1.xml");
    StreamSource streamSourceReq1 = new StreamSource(is1);
    assertNotNull(streamSourceReq1);
    disp.invokeOneWay(streamSourceReq1);
    // Test async polling
    InputStream is2 = getClass().getResourceAsStream("resources/GreetMeDocLiteralSOAPBodyReq2.xml");
    StreamSource streamSourceReq2 = new StreamSource(is2);
    assertNotNull(streamSourceReq2);
    Response<StreamSource> response = disp.invokeAsync(streamSourceReq2);
    StreamSource streamSourceResp2 = response.get();
    assertNotNull(streamSourceResp2);
    String expected2 = "Hello TestSOAPInputMessage2";
    assertTrue("Expected: " + expected, StaxUtils.toString(streamSourceResp2).contains(expected2));
    // Test async callback
    InputStream is3 = getClass().getResourceAsStream("resources/GreetMeDocLiteralSOAPBodyReq3.xml");
    StreamSource streamSourceReq3 = new StreamSource(is3);
    assertNotNull(streamSourceReq3);
    TestStreamSourceHandler tssh = new TestStreamSourceHandler();
    Future<?> fd = disp.invokeAsync(streamSourceReq3, tssh);
    assertNotNull(fd);
    waitForFuture(fd);
    String expected3 = "Hello TestSOAPInputMessage3";
    StreamSource streamSourceResp3 = tssh.getStreamSource();
    assertNotNull(streamSourceResp3);
    assertTrue("Expected: " + expected, StaxUtils.toString(streamSourceResp3).contains(expected3));
}
Also used : SOAPService(org.apache.hello_world_soap_http.SOAPService) InputStream(java.io.InputStream) StreamSource(javax.xml.transform.stream.StreamSource) URL(java.net.URL) Test(org.junit.Test)

Example 14 with SOAPService

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

the class DispatchClientServerTest method testSAXSourceMESSAGEWithSchemaValidation.

@Test
public void testSAXSourceMESSAGEWithSchemaValidation() throws Exception {
    URL wsdl = getClass().getResource("/org/apache/cxf/systest/provider/hello_world_with_restriction.wsdl");
    assertNotNull(wsdl);
    SOAPService service = new SOAPService(wsdl, SERVICE_NAME);
    assertNotNull(service);
    InputStream is = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq.xml");
    InputSource inputSource = new InputSource(is);
    SAXSource saxSourceReq = new SAXSource(inputSource);
    assertNotNull(saxSourceReq);
    Dispatch<SAXSource> disp = service.createDispatch(PORT_NAME, SAXSource.class, Service.Mode.MESSAGE);
    disp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://localhost:" + greeterPort + "/SOAPDispatchService/SoapDispatchPort");
    disp.getRequestContext().put(Message.SCHEMA_VALIDATION_ENABLED, Boolean.TRUE);
    SAXSource saxSourceResp = disp.invoke(saxSourceReq);
    assertNotNull(saxSourceResp);
    String expected = "Hello TestSOAPInputMessage";
    assertTrue("Expected: " + expected, StaxUtils.toString(saxSourceResp).contains(expected));
    is = getClass().getResourceAsStream("resources/GreetMeDocLiteralReqWithExceedMaxLength.xml");
    inputSource = new InputSource(is);
    saxSourceReq = new SAXSource(inputSource);
    assertNotNull(saxSourceReq);
    try {
        disp.invoke(saxSourceReq);
        fail("Should have thrown an exception");
    } catch (Exception ex) {
        // expected
        assertTrue(ex.getMessage().contains("cvc-maxLength-valid"));
    }
}
Also used : SOAPService(org.apache.hello_world_soap_http.SOAPService) InputSource(org.xml.sax.InputSource) SAXSource(javax.xml.transform.sax.SAXSource) InputStream(java.io.InputStream) URL(java.net.URL) TimeoutException(java.util.concurrent.TimeoutException) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) SocketTimeoutException(java.net.SocketTimeoutException) ExecutionException(java.util.concurrent.ExecutionException) WebServiceException(javax.xml.ws.WebServiceException) Test(org.junit.Test)

Example 15 with SOAPService

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

the class DispatchClientServerTest method testJAXBObjectPAYLOAD.

@Test
public void testJAXBObjectPAYLOAD() throws Exception {
    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);
    doJAXBPayload(disp);
}
Also used : SOAPService(org.apache.hello_world_soap_http.SOAPService) JAXBContext(javax.xml.bind.JAXBContext) URL(java.net.URL) Test(org.junit.Test)

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