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());
}
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));
}
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));
}
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"));
}
}
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);
}
Aggregations