You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2007/03/31 14:52:41 UTC

svn commit: r524417 - /jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/sampler/WebServiceSampler.java

Author: sebb
Date: Sat Mar 31 05:52:40 2007
New Revision: 524417

URL: http://svn.apache.org/viewvc?view=rev&rev=524417
Log:
Allow sampler to be created when optional mail jars are missing
Better reporting of problems creating the document

Modified:
    jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/sampler/WebServiceSampler.java

Modified: jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/sampler/WebServiceSampler.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/sampler/WebServiceSampler.java?view=diff&rev=524417&r1=524416&r2=524417
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/sampler/WebServiceSampler.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/sampler/WebServiceSampler.java Sat Mar 31 05:52:40 2007
@@ -21,7 +21,6 @@
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.StringReader;
 import java.net.URL;
@@ -30,7 +29,6 @@
 import java.util.Random;
 import java.util.Hashtable;
 
-import javax.mail.MessagingException;
 import javax.xml.parsers.DocumentBuilder;
 
 import org.xml.sax.InputSource;
@@ -341,7 +339,7 @@
 	 * 
 	 * @return Element
 	 */
-	private org.w3c.dom.Element createDocument() {
+	private org.w3c.dom.Element createDocument() throws SAXException, IOException {
         Document doc = null;
         String next = this.getRandomFileName();//get filename or ""
         
@@ -373,41 +371,30 @@
 	 * 
      * @param file - input filename or empty if using data from tesplan
 	 * @return Document
+	 * @throws IOException 
+	 * @throws SAXException 
 	 */
-	protected Document openDocument(String file) {
+	private Document openDocument(String file) throws SAXException, IOException {
 		/*
 		 * Consider using Apache commons pool to create a pool of document
 		 * builders or make sure XMLParserUtils creates builders efficiently.
 		 */
 		DocumentBuilder XDB = XMLParserUtils.getXMLDocBuilder();
+		XDB.setErrorHandler(null);//Suppress messages to stdout
 
 		Document doc = null;
 		// if either a file or path location is given,
 		// get the file object.
 		if (file.length() > 0) {// we have a file
-			try {
-                if (this.getReadResponse()) {
-                    TextFile tfile = new TextFile(file);
-                    fileContents = tfile.getText();
-                }
-				doc = XDB.parse(new FileInputStream(file));
-			} catch (SAXException e) {
-				log.warn("Error processing file data: "+e.getMessage());
-			} catch (FileNotFoundException e) {
-                log.warn(e.getMessage());
-            } catch (IOException e) {
-                log.warn(e.getMessage());
+            if (this.getReadResponse()) {
+                TextFile tfile = new TextFile(file);
+                fileContents = tfile.getText();
             }
+			doc = XDB.parse(new FileInputStream(file));
 		} else {// must be a "here" document
 			fileContents = getXmlData();
 			if (fileContents != null && fileContents.length() > 0) {
-				try {
-					doc = XDB.parse(new InputSource(new StringReader(fileContents)));
-				} catch (SAXException ex) {
-					log.warn("Error processing data: "+ex.getMessage());
-				} catch (IOException ex) {
-                    log.warn(ex.getMessage()); // shouldn't really happen
-                }
+				doc = XDB.parse(new InputSource(new StringReader(fileContents)));
 			} else {
 			    log.warn("No post data provided!");
             }
@@ -566,10 +553,12 @@
 			String message = exception.getMessage();
 			log.warn(message);
 			result.setResponseMessage(message);
+		} catch (SAXException exception) {
+			log.warn(exception.toString());
+			result.setResponseMessage(exception.getMessage());
 		} catch (SOAPException exception) {
-			String message = exception.getMessage();
-			log.warn(message);
-			result.setResponseMessage(message);
+			log.warn(exception.toString());
+			result.setResponseMessage(exception.getMessage());
 		} catch (MalformedURLException exception) {
 			String message = exception.getMessage();
 			log.warn(message);
@@ -578,10 +567,16 @@
 			String message = exception.getMessage();
 			log.warn(message);
 			result.setResponseMessage(message);
-		} catch (MessagingException exception) {
-			String message = exception.getMessage();
-			log.warn(message);
-			result.setResponseMessage(message);
+		} catch (NoClassDefFoundError error){
+			log.error("Missing class: ",error);
+			result.setResponseMessage(error.toString());			
+		} catch (Exception exception) {
+			if ("javax.mail.MessagingException".equals(exception.getClass().getName())){
+				log.warn(exception.toString());
+				result.setResponseMessage(exception.getMessage());
+			} else {
+				throw new RuntimeException(exception);
+			}
 		}
 		return result;
 	}



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org