01: /*
02: * soapUI, copyright (C) 2004-2007 eviware.com
03: *
04: * soapUI is free software; you can redistribute it and/or modify it under the
05: * terms of version 2.1 of the GNU Lesser General Public License as published by
06: * the Free Software Foundation.
07: *
08: * soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
09: * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10: * See the GNU Lesser General Public License for more details at gnu.org.
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.WsdlRequest;
24:
25: /**
26: * DataSource for an existing WsdlRequest
27: *
28: * @author ole.matzura
29: */
30:
31: public class WsdlRequestDataSource implements DataSource {
32: private final WsdlRequest wsdlRequest;
33: private final String requestContent;
34: private final boolean isXOP;
35:
36: public WsdlRequestDataSource(WsdlRequest wsdlRequest,
37: String requestContent, boolean isXOP) {
38: this .wsdlRequest = wsdlRequest;
39: this .requestContent = requestContent;
40: this .isXOP = isXOP;
41: }
42:
43: public String getContentType() {
44: if (isXOP) {
45: return AttachmentUtils.buildRootPartContentType(wsdlRequest
46: .getOperation().getName(),
47: ((WsdlInterface) wsdlRequest.getOperation()
48: .getInterface()).getSoapVersion());
49: } else
50: return "text/xml; charset=UTF-8";
51: }
52:
53: public InputStream getInputStream() throws IOException {
54: byte[] bytes = requestContent.getBytes("UTF-8");
55: return new ByteArrayInputStream(bytes);
56: }
57:
58: public String getName() {
59: return wsdlRequest.getName();
60: }
61:
62: public OutputStream getOutputStream() throws IOException {
63: return null;
64: }
65: }
|