1 package com.eviware.soapui.impl.wsdl.teststeps; 2 3 import com.eviware.soapui.impl.wsdl.WsdlOperation; 4 import com.eviware.soapui.impl.wsdl.WsdlRequest; 5 import com.eviware.soapui.impl.wsdl.submit.WsdlMessageExchange; 6 import com.eviware.soapui.impl.wsdl.submit.transports.http.WsdlResponse; 7 import com.eviware.soapui.model.iface.Attachment; 8 import com.eviware.soapui.support.types.StringToStringMap; 9 10 public class WsdlResponseMessageExchange extends WsdlMessageExchange 11 { 12 private final WsdlRequest request; 13 private WsdlResponse response; 14 private String requestContent; 15 16 public WsdlResponseMessageExchange( WsdlRequest request ) 17 { 18 this.request = request; 19 response = request.getResponse(); 20 } 21 22 public void setResponse( WsdlResponse response ) 23 { 24 this.response = response; 25 } 26 27 public String getRequestContent() 28 { 29 if( requestContent != null ) 30 return requestContent; 31 32 if( response == null ) 33 response = request.getResponse(); 34 35 return response == null ? request.getRequestContent() : response.getRequestContent(); 36 } 37 38 public StringToStringMap getRequestHeaders() 39 { 40 if( response == null ) 41 response = request.getResponse(); 42 43 return response == null ? request.getRequestHeaders() : response.getRequestHeaders(); 44 } 45 46 public Attachment[] getRequestAttachments() 47 { 48 return request.getAttachments(); 49 } 50 51 public Attachment[] getResponseAttachments() 52 { 53 if( response == null ) 54 response = request.getResponse(); 55 56 return response == null ? null : response.getAttachments(); 57 } 58 59 public String getResponseContent() 60 { 61 if( response == null ) 62 response = request.getResponse(); 63 64 return response == null ? null : response.getContentAsString(); 65 } 66 67 public StringToStringMap getResponseHeaders() 68 { 69 if( response == null ) 70 response = request.getResponse(); 71 72 return response == null ? null : response.getResponseHeaders(); 73 } 74 75 public WsdlOperation getOperation() 76 { 77 return request.getOperation(); 78 } 79 80 public long getTimeTaken() 81 { 82 if( response == null ) 83 response = request.getResponse(); 84 85 return response == null ? 0 : response.getTimeTaken(); 86 } 87 88 public long getTimestamp() 89 { 90 if( response == null ) 91 response = request.getResponse(); 92 93 return response == null ? 0 : response.getTimestamp(); 94 } 95 96 public void setRequestContent( String requestContent ) 97 { 98 this.requestContent = requestContent; 99 } 100 }