Author: sebb
Date: Fri Oct 24 09:49:44 2008
New Revision: 707681

URL: http://svn.apache.org/viewvc?rev=707681&view=rev
Log:
Apache SOAP 2.3.1 does not give access to HTTP response code/message, so 
WebService sampler now treats an empty response as an error

Modified:
    
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/WebServiceSampler.java
    jakarta/jmeter/trunk/xdocs/changes.xml

Modified: 
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/WebServiceSampler.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/WebServiceSampler.java?rev=707681&r1=707680&r2=707681&view=diff
==============================================================================
--- 
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/WebServiceSampler.java
 (original)
+++ 
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/WebServiceSampler.java
 Fri Oct 24 09:49:44 2008
@@ -520,22 +520,30 @@
                 final String contentType = sc.getContentType();
                 result.setContentType(contentType);
                 result.setEncodingAndType(contentType);
+                int length=0;
                 if (getReadResponse()) {
                     StringWriter sw = new StringWriter();
-                    IOUtils.copy(br, sw);
+                    length=IOUtils.copy(br, sw);
                     result.sampleEnd();
                     
result.setResponseData(sw.toString().getBytes(result.getDataEncodingWithDefault()));
                 } else {
                     // by not reading the response
                     // for real, it improves the
                     // performance on slow clients
-                    br.read();
+                    length=br.read();
                     result.sampleEnd();
                     
result.setResponseData(JMeterUtils.getResString("read_response_message").getBytes());
 //$NON-NLS-1$
                 }
-                result.setSuccessful(true);
-                result.setResponseCodeOK();
-                result.setResponseMessageOK();
+                // It is not possible to access the actual HTTP response code, 
so we assume no data means failure
+                if (length > 0){
+                    result.setSuccessful(true);
+                    result.setResponseCodeOK();
+                    result.setResponseMessageOK();
+                } else {
+                    result.setSuccessful(false);
+                    result.setResponseCode("999");
+                    result.setResponseMessage("Empty response");               
     
+                }
             } else {
                 result.sampleEnd();
                 result.setSuccessful(false);

Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=707681&r1=707680&r2=707681&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Fri Oct 24 09:49:44 2008
@@ -154,6 +154,7 @@
 <li>Bug 45903 - allow Assertions to apply to sub-samples</li>
 <li>Trim spaces from While Controller condition before comparing against LAST, 
blank or false</li>
 <li>Add classname field to TCP Sampler GUIs</li>
+<li>Apache SOAP 2.3.1 does not give access to HTTP response code/message, so 
WebService sampler now treats an empty response as an error</li>
 </ul>
 
 <h3>Non-functional changes</h3>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to