Search in sources :

Example 1 with SwAServiceInterface

use of org.apache.cxf.swa.SwAServiceInterface in project cxf by apache.

the class ClientServerSwaTest method testSwa.

@Test
public void testSwa() throws Exception {
    SwAService service = new SwAService();
    SwAServiceInterface port = service.getSwAServiceHttpPort();
    setAddress(port, "http://localhost:" + serverPort + "/swa");
    Holder<String> textHolder = new Holder<String>();
    Holder<DataHandler> data = new Holder<DataHandler>();
    ByteArrayDataSource source = new ByteArrayDataSource("foobar".getBytes(), "application/octet-stream");
    DataHandler handler = new DataHandler(source);
    data.value = handler;
    textHolder.value = "Hi";
    port.echoData(textHolder, data);
    InputStream bis = null;
    bis = data.value.getDataSource().getInputStream();
    byte[] b = new byte[10];
    bis.read(b, 0, 10);
    String string = IOUtils.newStringFromBytes(b);
    assertEquals("testfoobar", string);
    assertEquals("Hi", textHolder.value);
}
Also used : SwAService(org.apache.cxf.swa.SwAService) SwAServiceInterface(org.apache.cxf.swa.SwAServiceInterface) InputStream(java.io.InputStream) Holder(javax.xml.ws.Holder) DataHandler(javax.activation.DataHandler) ByteArrayDataSource(javax.mail.util.ByteArrayDataSource) Test(org.junit.Test)

Example 2 with SwAServiceInterface

use of org.apache.cxf.swa.SwAServiceInterface in project cxf by apache.

the class ClientServerSwaTest method testSwaDataStruct.

@Test
public void testSwaDataStruct() throws Exception {
    SwAService service = new SwAService();
    SwAServiceInterface port = service.getSwAServiceHttpPort();
    setAddress(port, "http://localhost:" + serverPort + "/swa");
    Holder<DataStruct> structHolder = new Holder<DataStruct>();
    ByteArrayDataSource source = new ByteArrayDataSource("foobar".getBytes(), "application/octet-stream");
    DataHandler handler = new DataHandler(source);
    DataStruct struct = new DataStruct();
    struct.setDataRef(handler);
    structHolder.value = struct;
    port.echoDataRef(structHolder);
    handler = structHolder.value.getDataRef();
    InputStream bis = handler.getDataSource().getInputStream();
    byte[] b = new byte[10];
    bis.read(b, 0, 10);
    String string = IOUtils.newStringFromBytes(b);
    assertEquals("testfoobar", string);
    bis.close();
}
Also used : SwAService(org.apache.cxf.swa.SwAService) DataStruct(org.apache.cxf.swa.types.DataStruct) SwAServiceInterface(org.apache.cxf.swa.SwAServiceInterface) InputStream(java.io.InputStream) Holder(javax.xml.ws.Holder) DataHandler(javax.activation.DataHandler) ByteArrayDataSource(javax.mail.util.ByteArrayDataSource) Test(org.junit.Test)

Example 3 with SwAServiceInterface

use of org.apache.cxf.swa.SwAServiceInterface in project cxf by apache.

the class ClientServerSwaTest method testSwaTypes.

@Test
public void testSwaTypes() throws Exception {
    SwAService service = new SwAService();
    SwAServiceInterface port = service.getSwAServiceHttpPort();
    setAddress(port, "http://localhost:" + serverPort + "/swa");
    URL url1 = this.getClass().getResource("resources/attach.text");
    URL url2 = this.getClass().getResource("resources/attach.html");
    URL url3 = this.getClass().getResource("resources/attach.xml");
    URL url4 = this.getClass().getResource("resources/attach.jpeg1");
    URL url5 = this.getClass().getResource("resources/attach.gif");
    DataHandler dh1 = new DataHandler(url1);
    DataHandler dh2 = new DataHandler(url2);
    DataHandler dh3 = new DataHandler(url3);
    // DataHandler dh4 = new DataHandler(url4);
    // DataHandler dh5 = new DataHandler(url5);
    Holder<DataHandler> attach1 = new Holder<DataHandler>();
    attach1.value = dh1;
    Holder<DataHandler> attach2 = new Holder<DataHandler>();
    attach2.value = dh2;
    Holder<Source> attach3 = new Holder<Source>();
    attach3.value = new StreamSource(dh3.getInputStream());
    Holder<Image> attach4 = new Holder<Image>();
    Holder<Image> attach5 = new Holder<Image>();
    attach4.value = ImageIO.read(url4);
    attach5.value = ImageIO.read(url5);
    VoidRequest request = new VoidRequest();
    OutputResponseAll response = port.echoAllAttachmentTypes(request, attach1, attach2, attach3, attach4, attach5);
    assertNotNull(response);
    Map<?, ?> map = CastUtils.cast((Map<?, ?>) ((BindingProvider) port).getResponseContext().get(MessageContext.INBOUND_MESSAGE_ATTACHMENTS));
    assertNotNull(map);
    assertEquals(5, map.size());
}
Also used : VoidRequest(org.apache.cxf.swa.types.VoidRequest) SwAServiceInterface(org.apache.cxf.swa.SwAServiceInterface) Holder(javax.xml.ws.Holder) StreamSource(javax.xml.transform.stream.StreamSource) DataHandler(javax.activation.DataHandler) Image(java.awt.Image) OutputResponseAll(org.apache.cxf.swa.types.OutputResponseAll) URL(java.net.URL) ByteArrayDataSource(javax.mail.util.ByteArrayDataSource) StreamSource(javax.xml.transform.stream.StreamSource) Source(javax.xml.transform.Source) SwAService(org.apache.cxf.swa.SwAService) Test(org.junit.Test)

Example 4 with SwAServiceInterface

use of org.apache.cxf.swa.SwAServiceInterface in project cxf by apache.

the class ClientServerSwaTest method testSwaWithHeaders.

@Test
public void testSwaWithHeaders() throws Exception {
    SwAService service = new SwAService();
    SwAServiceInterface port = service.getSwAServiceHttpPort();
    setAddress(port, "http://localhost:" + serverPort + "/swa");
    Holder<String> textHolder = new Holder<String>();
    Holder<String> headerHolder = new Holder<String>();
    Holder<DataHandler> data = new Holder<DataHandler>();
    ByteArrayDataSource source = new ByteArrayDataSource("foobar".getBytes(), "application/octet-stream");
    DataHandler handler = new DataHandler(source);
    data.value = handler;
    textHolder.value = "Hi";
    headerHolder.value = "Header";
    port.echoDataWithHeader(textHolder, data, headerHolder);
    InputStream bis = null;
    bis = data.value.getDataSource().getInputStream();
    byte[] b = new byte[10];
    bis.read(b, 0, 10);
    String string = IOUtils.newStringFromBytes(b);
    assertEquals("testfoobar", string);
    assertEquals("Hi", textHolder.value);
    assertEquals("Header", headerHolder.value);
}
Also used : SwAService(org.apache.cxf.swa.SwAService) SwAServiceInterface(org.apache.cxf.swa.SwAServiceInterface) InputStream(java.io.InputStream) Holder(javax.xml.ws.Holder) DataHandler(javax.activation.DataHandler) ByteArrayDataSource(javax.mail.util.ByteArrayDataSource) Test(org.junit.Test)

Aggregations

DataHandler (javax.activation.DataHandler)4 ByteArrayDataSource (javax.mail.util.ByteArrayDataSource)4 Holder (javax.xml.ws.Holder)4 SwAService (org.apache.cxf.swa.SwAService)4 SwAServiceInterface (org.apache.cxf.swa.SwAServiceInterface)4 Test (org.junit.Test)4 InputStream (java.io.InputStream)3 Image (java.awt.Image)1 URL (java.net.URL)1 Source (javax.xml.transform.Source)1 StreamSource (javax.xml.transform.stream.StreamSource)1 DataStruct (org.apache.cxf.swa.types.DataStruct)1 OutputResponseAll (org.apache.cxf.swa.types.OutputResponseAll)1 VoidRequest (org.apache.cxf.swa.types.VoidRequest)1