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 public class MockResponseDataSource implements DataSource
26 {
27 private final String responseContent;
28 private final boolean isXOP;
29 private final WsdlMockResponse mockResponse;
30
31 public MockResponseDataSource(WsdlMockResponse mockResponse, String responseContent, boolean isXOP)
32 {
33 this.mockResponse = mockResponse;
34 this.responseContent = responseContent;
35 this.isXOP = isXOP;
36 }
37
38 public String getContentType()
39 {
40 if( isXOP )
41 {
42 return AttachmentUtils.buildRootPartContentType( mockResponse.getMockOperation().getOperation().getName(),
43 ((WsdlInterface)mockResponse.getMockOperation().getOperation().getInterface()).getSoapVersion());
44 }
45 else
46 return "text/xml; charset=UTF-8";
47 }
48
49 public InputStream getInputStream() throws IOException
50 {
51 byte[] bytes = responseContent.getBytes( "UTF-8");
52 return new ByteArrayInputStream( bytes);
53 }
54
55 public String getName()
56 {
57 return mockResponse.getName();
58 }
59
60 public OutputStream getOutputStream() throws IOException
61 {
62 return null;
63 }
64 }