1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.impl.wsdl.teststeps;
14
15 import java.util.Vector;
16
17 import com.eviware.soapui.impl.wsdl.WsdlOperation;
18 import com.eviware.soapui.impl.wsdl.WsdlRequest;
19 import com.eviware.soapui.impl.wsdl.submit.AbstractWsdlMessageExchange;
20 import com.eviware.soapui.impl.wsdl.submit.transports.http.WsdlResponse;
21 import com.eviware.soapui.model.iface.Attachment;
22 import com.eviware.soapui.support.types.StringToStringsMap;
23
24 /***
25 * WsdlMessageExchange for a WsdlRequest and its response
26 *
27 * @author ole.matzura
28 */
29
30 public class WsdlResponseMessageExchange extends AbstractWsdlMessageExchange<WsdlRequest>
31 {
32 private WsdlResponse response;
33 private String requestContent;
34
35 public WsdlResponseMessageExchange( WsdlRequest request )
36 {
37 super( request );
38 response = request.getResponse();
39
40 if( response != null )
41 {
42 for( String key : response.getPropertyNames() )
43 {
44 addProperty( key, response.getProperty( key ) );
45 }
46 }
47 }
48
49 public String getEndpoint()
50 {
51 return String.valueOf( response.getURL() );
52 }
53
54 public WsdlRequest getRequest()
55 {
56 return getModelItem();
57 }
58
59 public WsdlResponse getResponse()
60 {
61 return response;
62 }
63
64 public boolean hasRawData()
65 {
66 return response != null;
67 }
68
69 public byte[] getRawRequestData()
70 {
71 return response == null ? null : response.getRawRequestData();
72 }
73
74 public byte[] getRawResponseData()
75 {
76 return response == null ? null : response.getRawResponseData();
77 }
78
79 public void setResponse( WsdlResponse response )
80 {
81 this.response = response;
82 }
83
84 public String getRequestContent()
85 {
86 if( requestContent != null )
87 return requestContent;
88
89 if( response == null )
90 response = getModelItem().getResponse();
91
92 return response == null ? getModelItem().getRequestContent() : response.getRequestContent();
93 }
94
95 public StringToStringsMap getRequestHeaders()
96 {
97 return response == null ? getModelItem().getRequestHeaders() : response.getRequestHeaders();
98 }
99
100 public Attachment[] getRequestAttachments()
101 {
102 return getModelItem().getAttachments();
103 }
104
105 public Attachment[] getResponseAttachments()
106 {
107 if( response == null )
108 response = getModelItem().getResponse();
109
110 return response == null ? null : response.getAttachments();
111 }
112
113 public String getResponseContent()
114 {
115 if( response == null )
116 response = getModelItem().getResponse();
117
118 return response == null ? null : response.getContentAsString();
119 }
120
121 public StringToStringsMap getResponseHeaders()
122 {
123 if( response == null )
124 response = getModelItem().getResponse();
125
126 return response == null ? null : response.getResponseHeaders();
127 }
128
129 public WsdlOperation getOperation()
130 {
131 return getModelItem().getOperation();
132 }
133
134 public long getTimeTaken()
135 {
136 if( response == null )
137 response = getModelItem().getResponse();
138
139 return response == null ? 0 : response.getTimeTaken();
140 }
141
142 public long getTimestamp()
143 {
144 if( response == null )
145 response = getModelItem().getResponse();
146
147 return response == null ? 0 : response.getTimestamp();
148 }
149
150 public void setRequestContent( String requestContent )
151 {
152 this.requestContent = requestContent;
153 }
154
155 public boolean isDiscarded()
156 {
157 return false;
158 }
159
160 public Vector<?> getRequestWssResult()
161 {
162 return null;
163 }
164
165 public Vector<?> getResponseWssResult()
166 {
167 return response.getWssResult();
168 }
169
170 public String getResponseContentType()
171 {
172 return response.getContentType();
173 }
174
175 public int getResponseStatusCode()
176 {
177 return response.getStatusCode();
178 }
179 }