1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.impl.wsdl.submit.transports.http;
14
15 import java.io.ByteArrayInputStream;
16 import java.io.IOException;
17 import java.io.InputStream;
18 import java.io.OutputStream;
19
20 import javax.activation.DataSource;
21
22 import com.eviware.soapui.impl.wsdl.WsdlInterface;
23 import com.eviware.soapui.impl.wsdl.mock.WsdlMockResponse;
24
25 /***
26 * DataSource for an existing WsdlMockResponse
27 *
28 * @author ole.matzura
29 */
30
31 public class MockResponseDataSource implements DataSource
32 {
33 private final String responseContent;
34 private final boolean isXOP;
35 private final WsdlMockResponse mockResponse;
36
37 public MockResponseDataSource(WsdlMockResponse mockResponse, String responseContent, boolean isXOP)
38 {
39 this.mockResponse = mockResponse;
40 this.responseContent = responseContent;
41 this.isXOP = isXOP;
42 }
43
44 public String getContentType()
45 {
46 if( isXOP )
47 {
48 return AttachmentUtils.buildRootPartContentType( mockResponse.getMockOperation().getOperation().getName(),
49 ((WsdlInterface)mockResponse.getMockOperation().getOperation().getInterface()).getSoapVersion());
50 }
51 else
52 return "text/xml; charset=UTF-8";
53 }
54
55 public InputStream getInputStream() throws IOException
56 {
57 byte[] bytes = responseContent.getBytes( "UTF-8");
58 return new ByteArrayInputStream( bytes);
59 }
60
61 public String getName()
62 {
63 return mockResponse.getName();
64 }
65
66 public OutputStream getOutputStream() throws IOException
67 {
68 return null;
69 }
70 }