Author: jochen Date: Sun Nov 6 18:46:21 2005 New Revision: 331181 URL: http://svn.apache.org/viewcvs?rev=331181&view=rev Log: Got "mvn test" working.
Added: webservices/xmlrpc/branches/b20050512_streaming/src/test/org/apache/xmlrpc/test/ServletWebServerProvider.java webservices/xmlrpc/branches/b20050512_streaming/src/testResources/org/apache/xmlrpc/webserver/ webservices/xmlrpc/branches/b20050512_streaming/src/testResources/org/apache/xmlrpc/webserver/XmlRpcServlet.properties Modified: webservices/xmlrpc/branches/b20050512_streaming/pom.xml webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/common/XmlRpcHttpConfig.java webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/common/XmlRpcStreamConfig.java webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/serializer/BaseXmlWriterFactory.java webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/server/XmlRpcStreamServer.java webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/util/HttpUtil.java webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/HttpServletRequestImpl.java webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/ServletWebServer.java webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/WebServer.java webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/XmlRpcServlet.java webservices/xmlrpc/branches/b20050512_streaming/src/test/org/apache/xmlrpc/test/BaseTest.java webservices/xmlrpc/branches/b20050512_streaming/src/test/org/apache/xmlrpc/test/SerializerTest.java Modified: webservices/xmlrpc/branches/b20050512_streaming/pom.xml URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/pom.xml?rev=331181&r1=331180&r2=331181&view=diff ============================================================================== --- webservices/xmlrpc/branches/b20050512_streaming/pom.xml (original) +++ webservices/xmlrpc/branches/b20050512_streaming/pom.xml Sun Nov 6 18:46:21 2005 @@ -170,6 +170,28 @@ <artifactId>jaxmeapi</artifactId> <version>0.5</version> </dependency> + <!-- One should think, that the Xerces dependency is not + required with Java 1.4 or Java 5. However, see + http://jira.codehaus.org/browse/MNG-1303 + for why we add it here. + --> + <dependency> + <groupId>xerces</groupId> + <artifactId>xercesImpl</artifactId> + <version>2.6.2</version> + </dependency> </dependencies> + <reporting> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-pmd-plugin</artifactId> + </plugin> + </plugins> + </reporting> </project> Modified: webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/common/XmlRpcHttpConfig.java URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/common/XmlRpcHttpConfig.java?rev=331181&r1=331180&r2=331181&view=diff ============================================================================== --- webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/common/XmlRpcHttpConfig.java (original) +++ webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/common/XmlRpcHttpConfig.java Sun Nov 6 18:46:21 2005 @@ -23,7 +23,7 @@ * into bytes. * @return Encoding being used for basic HTTP authentication credentials, * or null, if the default encoding - * ([EMAIL PROTECTED] org.apache.xmlrpc.common.XmlRpcStreamRequestConfig#DEFAULT_ENCODING}) + * ([EMAIL PROTECTED] org.apache.xmlrpc.common.XmlRpcStreamRequestConfig#UTF8_ENCODING}) * is being used. */ String getBasicEncoding(); Modified: webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/common/XmlRpcStreamConfig.java URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/common/XmlRpcStreamConfig.java?rev=331181&r1=331180&r2=331181&view=diff ============================================================================== --- webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/common/XmlRpcStreamConfig.java (original) +++ webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/common/XmlRpcStreamConfig.java Sun Nov 6 18:46:21 2005 @@ -23,11 +23,11 @@ public interface XmlRpcStreamConfig extends XmlRpcConfig { /** Default encoding (UTF-8). */ - public static final String DEFAULT_ENCODING = "UTF8"; + public static final String UTF8_ENCODING = "UTF-8"; /** Returns the encoding being used for data encoding, when writing * to a stream. - * @return Suggested encoding, or null, if the [EMAIL PROTECTED] #DEFAULT_ENCODING} + * @return Suggested encoding, or null, if the [EMAIL PROTECTED] #UTF8_ENCODING} * is being used. */ String getEncoding(); Modified: webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/serializer/BaseXmlWriterFactory.java URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/serializer/BaseXmlWriterFactory.java?rev=331181&r1=331180&r2=331181&view=diff ============================================================================== --- webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/serializer/BaseXmlWriterFactory.java (original) +++ webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/serializer/BaseXmlWriterFactory.java Sun Nov 6 18:46:21 2005 @@ -42,7 +42,7 @@ xw.setDeclarating(true); String enc = pConfig.getEncoding(); if (enc == null) { - enc = XmlRpcStreamConfig.DEFAULT_ENCODING; + enc = XmlRpcStreamConfig.UTF8_ENCODING; } xw.setEncoding(enc); xw.setIndenting(false); Modified: webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/server/XmlRpcStreamServer.java URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/server/XmlRpcStreamServer.java?rev=331181&r1=331180&r2=331181&view=diff ============================================================================== --- webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/server/XmlRpcStreamServer.java (original) +++ webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/server/XmlRpcStreamServer.java Sun Nov 6 18:46:21 2005 @@ -26,6 +26,8 @@ import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParserFactory; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.apache.xmlrpc.XmlRpcException; import org.apache.xmlrpc.XmlRpcRequest; import org.apache.xmlrpc.XmlRpcRequestConfig; @@ -45,6 +47,7 @@ * stream. */ public abstract class XmlRpcStreamServer extends XmlRpcServer { + private static final Log log = LogFactory.getLog(XmlRpcStreamServer.class); private static final SAXParserFactory spf; private XmlWriterFactory writerFactory = new DefaultXMLWriterFactory(); static { @@ -195,6 +198,7 @@ public void execute(XmlRpcStreamRequestConfig pConfig, Object pConnection) throws IOException, XmlRpcException { + log.debug("execute: ->"); try { Object result; Throwable error; @@ -206,7 +210,9 @@ istream.close(); istream = null; error = null; + log.debug("execute: Request performed successfully"); } catch (Throwable t) { + log.error("execute: Error while performing request", t); result = null; error = t; } finally { @@ -249,5 +255,6 @@ } finally { if (pConnection != null) { try { closeConnection(pConnection); } catch (Throwable ignore) {} } } + log.debug("execute: <-"); } } Modified: webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/util/HttpUtil.java URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/util/HttpUtil.java?rev=331181&r1=331180&r2=331181&view=diff ============================================================================== --- webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/util/HttpUtil.java (original) +++ webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/util/HttpUtil.java Sun Nov 6 18:46:21 2005 @@ -42,7 +42,7 @@ } String s = pUser + ':' + pPassword; if (pEncoding == null) { - pEncoding = XmlRpcStreamConfig.DEFAULT_ENCODING; + pEncoding = XmlRpcStreamConfig.UTF8_ENCODING; } return new String(Base64.encode(s.getBytes(pEncoding))); } Modified: webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/HttpServletRequestImpl.java URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/HttpServletRequestImpl.java?rev=331181&r1=331180&r2=331181&view=diff ============================================================================== --- webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/HttpServletRequestImpl.java (original) +++ webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/HttpServletRequestImpl.java Sun Nov 6 18:46:21 2005 @@ -42,6 +42,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; +import org.apache.xmlrpc.common.XmlRpcStreamConfig; import org.apache.xmlrpc.util.HttpUtil; @@ -65,6 +66,7 @@ private final Map attributes = new HashMap(); private Map parameters; private String characterEncoding; + private int contentBytesRemaining = -1; /** Creates a new instance, which reads input from the given * socket. @@ -83,7 +85,14 @@ }; istream = new ServletInputStream(){ public int read() throws IOException { - return bis.read(); + if (contentBytesRemaining == 0) { + return -1; + } + int c = bis.read(); + if (c != -1 && contentBytesRemaining > 0) { + --contentBytesRemaining; + } + return c; } }; @@ -139,7 +148,11 @@ protocol = "HTTP"; } - for (line = HttpUtil.readLine(istream, buffer); line != null && line.length() > 0; ) { + for (;;) { + line = HttpUtil.readLine(istream, buffer); + if (line == null || line.length() == 0) { + break; + } int off = line.indexOf(':'); if (off > 0) { addHeader(line.substring(0, off), line.substring(off+1).trim()); @@ -147,6 +160,7 @@ throw new ServletWebServer.Exception(400, "Bad Request", "Unable to parse header line: " + line); } } + contentBytesRemaining = getIntHeader("content-length"); } protected String readLine(byte[] pBuffer) throws IOException { @@ -398,7 +412,7 @@ } String encoding = getCharacterEncoding(); if (encoding == null) { - encoding = "UTF8"; + encoding = XmlRpcStreamConfig.UTF8_ENCODING; } Map params = new HashMap(); String s = getQueryString(); Modified: webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/ServletWebServer.java URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/ServletWebServer.java?rev=331181&r1=331180&r2=331181&view=diff ============================================================================== --- webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/ServletWebServer.java (original) +++ webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/ServletWebServer.java Sun Nov 6 18:46:21 2005 @@ -18,7 +18,12 @@ import java.io.IOException; import java.net.InetAddress; import java.net.Socket; +import java.util.Enumeration; +import java.util.NoSuchElementException; +import javax.servlet.ServletConfig; +import javax.servlet.ServletContext; +import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import org.apache.xmlrpc.server.XmlRpcStreamServer; @@ -70,10 +75,10 @@ * @param pServlet The servlet, which is handling requests. * @param pPort The servers port number; 0 for a random * port being choosen. + * @throws ServletException Initializing the servlet failed. */ - public ServletWebServer(HttpServlet pServlet, int pPort) { - super(pPort); - servlet = pServlet; + public ServletWebServer(HttpServlet pServlet, int pPort) throws ServletException { + this(pServlet, pPort, null); } /** Creates a new instance, which is listening on the @@ -82,10 +87,31 @@ * @param pPort The servers port number; 0 for a random * port being choosen. * @param pAddr The servers IP address. + * @throws ServletException Initializing the servlet failed. */ - public ServletWebServer(HttpServlet pServlet, int pPort, InetAddress pAddr) { + public ServletWebServer(HttpServlet pServlet, int pPort, InetAddress pAddr) + throws ServletException { super(pPort, pAddr); servlet = pServlet; + servlet.init(new ServletConfig(){ + public String getServletName() { return servlet.getClass().getName(); } + public ServletContext getServletContext() { + throw new IllegalStateException("Context not available"); + } + public String getInitParameter(String pArg0) { + return null; + } + + public Enumeration getInitParameterNames() { + return new Enumeration(){ + public boolean hasMoreElements() { return false; } + public Object nextElement() { + throw new NoSuchElementException(); + } + }; + } + + }); } protected ThreadPool.Task newTask(WebServer pWebServer, Modified: webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/WebServer.java URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/WebServer.java?rev=331181&r1=331180&r2=331181&view=diff ============================================================================== --- webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/WebServer.java (original) +++ webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/WebServer.java Sun Nov 6 18:46:21 2005 @@ -17,19 +17,17 @@ import java.io.IOException; import java.io.InterruptedIOException; -import java.io.PrintWriter; -import java.io.StringWriter; import java.net.BindException; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketException; -import java.text.DateFormat; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.StringTokenizer; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.apache.xmlrpc.server.XmlRpcStreamServer; import org.apache.xmlrpc.util.ThreadPool; @@ -37,6 +35,8 @@ /** A minimal web server that exclusively handles XML-RPC requests. */ public class WebServer implements Runnable { + private static final Log log = LogFactory.getLog(WebServer.class); + private class AddressMatcher { private final int pattern[]; @@ -79,7 +79,11 @@ private ThreadPool pool; protected final List accept = new ArrayList(); protected final List deny = new ArrayList(); - protected final XmlRpcStreamServer server = new ConnectionServer(); + protected final XmlRpcStreamServer server = newXmlRpcStreamServer(); + + protected XmlRpcStreamServer newXmlRpcStreamServer(){ + return new ConnectionServer(); + } // Inputs to setupServerSocket() private InetAddress address; @@ -339,26 +343,14 @@ * @param pError The error being logged. */ public void log(Throwable pError) { - /* We could do a simple pError.printStackTrace() here, - * but at the risk, that the stack trace could be - * interrupted by other threads logging messages. - * So we log to a StringWriter and do the actual - * logging with a single println(). - */ - StringWriter sw = new StringWriter(); - PrintWriter pw = new PrintWriter(sw); - pError.printStackTrace(pw); - pw.close(); - log(sw.toString()); + log.error(pError.getMessage(), pError); } - private final DateFormat df = DateFormat.getDateTimeInstance(); - /** Logs a message. * @param pMessage The being logged. */ public synchronized void log(String pMessage) { - System.err.println(df.format(new Date()) + ", " + Thread.currentThread().getName() + ": " + pMessage); + log.error(pMessage); } /** Returns the [EMAIL PROTECTED] org.apache.xmlrpc.server.XmlRpcServer}. Modified: webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/XmlRpcServlet.java URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/XmlRpcServlet.java?rev=331181&r1=331180&r2=331181&view=diff ============================================================================== --- webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/XmlRpcServlet.java (original) +++ webservices/xmlrpc/branches/b20050512_streaming/src/java/org/apache/xmlrpc/webserver/XmlRpcServlet.java Sun Nov 6 18:46:21 2005 @@ -35,17 +35,27 @@ * method [EMAIL PROTECTED] #newXmlRpcHandlerMapping()}. */ public class XmlRpcServlet extends HttpServlet { - private static final long serialVersionUID = 2348768267234L; private XmlRpcServletServer server; + /** Returns the servlets instance of [EMAIL PROTECTED] XmlRpcServletServer}. + * @return The configurable instance of [EMAIL PROTECTED] XmlRpcServletServer}. + */ + public XmlRpcServletServer getXmlRpcServletServer() { + return server; + } + public void init(ServletConfig pConfig) throws ServletException { super.init(pConfig); try { - server = newXmlRpcServer(); + server = newXmlRpcServer(pConfig); server.setHandlerMapping(newXmlRpcHandlerMapping()); } catch (XmlRpcException e) { - log("Failed to create XmlRpcServer: " + e.getMessage(), e); + try { + log("Failed to create XmlRpcServer: " + e.getMessage(), e); + } catch (Throwable ignore) { + } + throw new ServletException(e); } } @@ -53,7 +63,8 @@ * which is being used to process the requests. The default implementation * will simply invoke <code>new [EMAIL PROTECTED] XmlRpcServer}. */ - protected XmlRpcServletServer newXmlRpcServer() throws XmlRpcException { + protected XmlRpcServletServer newXmlRpcServer(ServletConfig pConfig) + throws XmlRpcException { return new XmlRpcServletServer(); } Modified: webservices/xmlrpc/branches/b20050512_streaming/src/test/org/apache/xmlrpc/test/BaseTest.java URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/test/org/apache/xmlrpc/test/BaseTest.java?rev=331181&r1=331180&r2=331181&view=diff ============================================================================== --- webservices/xmlrpc/branches/b20050512_streaming/src/test/org/apache/xmlrpc/test/BaseTest.java (original) +++ webservices/xmlrpc/branches/b20050512_streaming/src/test/org/apache/xmlrpc/test/BaseTest.java Sun Nov 6 18:46:21 2005 @@ -60,7 +60,9 @@ new LiteTransportProvider(mapping, false), new SunHttpTransportProvider(mapping, true), new SunHttpTransportProvider(mapping, false), - new CommonsProvider(mapping) + new CommonsProvider(mapping), + new ServletWebServerProvider(mapping, true), + new ServletWebServerProvider(mapping, false) }; } } Modified: webservices/xmlrpc/branches/b20050512_streaming/src/test/org/apache/xmlrpc/test/SerializerTest.java URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/test/org/apache/xmlrpc/test/SerializerTest.java?rev=331181&r1=331180&r2=331181&view=diff ============================================================================== --- webservices/xmlrpc/branches/b20050512_streaming/src/test/org/apache/xmlrpc/test/SerializerTest.java (original) +++ webservices/xmlrpc/branches/b20050512_streaming/src/test/org/apache/xmlrpc/test/SerializerTest.java Sun Nov 6 18:46:21 2005 @@ -94,7 +94,7 @@ String expect = "<?xml version=\"1.0\" encoding=\"US-ASCII\"?>" + "<methodCall>" - + "<methodName>intParam</methodName><params><param><value><int>3</int></value></param></params></methodCall>"; + + "<methodName>intParam</methodName><params><param><value><i4>3</i4></value></param></params></methodCall>"; assertEquals(expect, got); } @@ -128,8 +128,8 @@ "<?xml version=\"1.0\" encoding=\"US-ASCII\"?>" + "<methodCall><methodName>mapParam</methodName>" + "<params><param><value><struct>" - + "<member><name>3</name><value><int>5</int></value></member>" - + "<member><name>2</name><value><int>3</int></value></member>" + + "<member><name>3</name><value><i4>5</i4></value></member>" + + "<member><name>2</name><value><i4>3</i4></value></member>" + "</struct></value></param></params></methodCall>"; assertEquals(expect, got); } Added: webservices/xmlrpc/branches/b20050512_streaming/src/test/org/apache/xmlrpc/test/ServletWebServerProvider.java URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/test/org/apache/xmlrpc/test/ServletWebServerProvider.java?rev=331181&view=auto ============================================================================== --- webservices/xmlrpc/branches/b20050512_streaming/src/test/org/apache/xmlrpc/test/ServletWebServerProvider.java (added) +++ webservices/xmlrpc/branches/b20050512_streaming/src/test/org/apache/xmlrpc/test/ServletWebServerProvider.java Sun Nov 6 18:46:21 2005 @@ -0,0 +1,74 @@ +/* + * Copyright 1999,2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.xmlrpc.test; + +import java.io.IOException; +import java.net.URL; + +import javax.servlet.ServletException; + +import org.apache.xmlrpc.client.XmlRpcClient; +import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; +import org.apache.xmlrpc.client.XmlRpcSunHttpTransportFactory; +import org.apache.xmlrpc.client.XmlRpcTransportFactory; +import org.apache.xmlrpc.server.XmlRpcHandlerMapping; +import org.apache.xmlrpc.server.XmlRpcServer; +import org.apache.xmlrpc.server.XmlRpcServerConfigImpl; +import org.apache.xmlrpc.webserver.ServletWebServer; +import org.apache.xmlrpc.webserver.XmlRpcServlet; + + +/** A provider class for testing the [EMAIL PROTECTED] ServletWebServer}. + */ +public class ServletWebServerProvider extends ClientProviderImpl { + protected final ServletWebServer webServer; + private final boolean contentLength; + private final int port; + + /** Creates a new instance. + * @param pMapping The test servers handler mapping. + * @throws ServletException + * @throws IOException + */ + protected ServletWebServerProvider(XmlRpcHandlerMapping pMapping, boolean pContentLength) throws ServletException, IOException { + super(pMapping); + contentLength = pContentLength; + XmlRpcServlet servlet = new XmlRpcServlet(); + webServer = new ServletWebServer(servlet, 0); + XmlRpcServer server = servlet.getXmlRpcServletServer(); + server.setHandlerMapping(mapping); + XmlRpcServerConfigImpl serverConfig = (XmlRpcServerConfigImpl) server.getConfig(); + serverConfig.setEnabledForExtensions(true); + serverConfig.setContentLengthOptional(!contentLength); + webServer.start(); + port = webServer.getPort(); + } + + public final XmlRpcClientConfigImpl getConfig() throws Exception { + return getConfig(new URL("http://127.0.0.1:" + port + "/")); + } + + protected XmlRpcClientConfigImpl getConfig(URL pServerURL) throws Exception { + XmlRpcClientConfigImpl config = super.getConfig(); + config.setServerURL(pServerURL); + config.setContentLengthOptional(!contentLength); + return config; + } + + protected XmlRpcTransportFactory getTransportFactory(XmlRpcClient pClient) { + return new XmlRpcSunHttpTransportFactory(pClient); + } +} Added: webservices/xmlrpc/branches/b20050512_streaming/src/testResources/org/apache/xmlrpc/webserver/XmlRpcServlet.properties URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/testResources/org/apache/xmlrpc/webserver/XmlRpcServlet.properties?rev=331181&view=auto ============================================================================== --- webservices/xmlrpc/branches/b20050512_streaming/src/testResources/org/apache/xmlrpc/webserver/XmlRpcServlet.properties (added) +++ webservices/xmlrpc/branches/b20050512_streaming/src/testResources/org/apache/xmlrpc/webserver/XmlRpcServlet.properties Sun Nov 6 18:46:21 2005 @@ -0,0 +1 @@ +Remote=org.apache.xmlrpc.test.BaseTest$Remote