jakarta-cactus-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Govindarajan, Ajay" <Aj...@insignia.com>
Subject RE: cactus-13-1.5-rc and commons-httpclient-2.0-rc2.jar works on jdk1.4 and above only?
Date Tue, 28 Oct 2003 23:05:56 GMT
I checked and there is no older version of the commons-httpclient in my
client classpath. 

Also the statck trace indicates that the java.lang.NoSuchMethodError is
thrown at
org.apache.commons.httpclient.HttpState.toString(HttpState.java:634), which
means that some method invokation in the toString method is broken.

I downloaded the source code and this is the relevant bit of the source
code:


    /**
     * Returns a string representation of this HTTP state.
     * 
     * @return The string representation of the HTTP state.
     * 
     * @see java.lang.Object#toString()
     */
    public synchronized String toString() {
        StringBuffer sbResult = new StringBuffer();

        sbResult.append("[");
        sbResult.append(getProxyCredentialsStringRepresentation(proxyCred));
// this is the broken line
        sbResult.append(" | ");
        sbResult.append(getCredentialsStringRepresentation(proxyCred));
        sbResult.append(" | ");
        sbResult.append(getCookiesStringRepresentation(cookies));
        sbResult.append("]");

        String strResult = sbResult.toString();

        return strResult;
    }
    
    /**
     * Returns a string representation of the proxy credentials
     * @param proxyCredMap The proxy credentials
     * @return StringBuffer The string representation.
     */
    private static StringBuffer
getProxyCredentialsStringRepresentation(final Map proxyCredMap) {
        StringBuffer sbResult = new StringBuffer();
        Iterator iter = proxyCredMap.keySet().iterator();
        while (iter.hasNext()) {
            Object key = iter.next();
            Credentials cred = (Credentials) proxyCredMap.get(key);
            if (sbResult.length() > 0) {
                sbResult.append(", ");
            }
            sbResult.append(key);
            sbResult.append("#");
            sbResult.append(cred.toString());
        }
        return sbResult;
    }


The 3rd line in the toString() method uses StringBuffer.append(StringBuffer
sb), that's the problem. I have also attached the source code for the file,
you can verify that.

thanks,

ajay




> -----Original Message-----
> From: Vincent Massol [mailto:vmassol@pivolis.com]
> Sent: Tuesday, October 28, 2003 2:15 PM
> To: 'Cactus Users List'
> Subject: RE: cactus-13-1.5-rc and commons-httpclient-2.0-rc2.jar works
> on jdk1.4 and above only?
> 
> 
> Hi Ajay,
> 
> Here's the answer from Oleg from the Httpclient team (see 
> attached). Ok
> let's now try to fix your problem. The stack trace says that the
> toString() method is not found.
> 
> It seems the problem is that you have an old version of
> commons-httpclient in your client classpath. Could you check that
> please?
> 
> Thanks
> -Vincent
> 
> > -----Original Message-----
> > From: Govindarajan, Ajay [mailto:AjayG@insignia.com]
> > Sent: 28 October 2003 21:47
> > To: 'cactus-user@jakarta.apache.org'
> > Subject: cactus-13-1.5-rc and 
> commons-httpclient-2.0-rc2.jar works on
> > jdk1.4 and above only?
> > 
> > I am using cactus-13-1.5-rc with weblogic 7.0 service pack 4 and
> > jdk131_08.
> > When I try to run any of the cactus tests I get the following
> exception:
> > 
> > java.lang.NoSuchMethodError
> >  at
> org.apache.commons.httpclient.HttpState.toString(HttpState.java:634)
> >  at java.lang.String.valueOf(String.java:2013)
> >  at java.lang.StringBuffer.append(StringBuffer.java:365)
> >  at
> >
> org.apache.cactus.util.CookieUtil.createHttpState_aroundBody15
> $advice(Co
> ok
> > ie
> > Util.java:190)
> >  at 
> org.apache.cactus.util.CookieUtil.createHttpState(CookieUtil.java)
> >  at
> >
> org.apache.cactus.client.connector.http.HttpClientConnectionHe
> lper.conne
> ct
> > _a
> > roundBody0(HttpClientConnectionHelper.java:169)
> >  at
> >
> org.apache.cactus.client.connector.http.HttpClientConnectionHe
> lper.conne
> ct
> > _a
> > roundBody1$advice(HttpClientConnectionHelper.java:222)
> >  at
> >
> org.apache.cactus.client.connector.http.HttpClientConnectionHe
> lper.conne
> ct
> > (H
> > ttpClientConnectionHelper.java)
> >  at
> >
> org.apache.cactus.client.connector.http.DefaultHttpClient.call
> RunTest(De
> fa
> > ul
> > tHttpClient.java:201)
> >  at
> >
> org.apache.cactus.client.connector.http.DefaultHttpClient.doTe
> st_aroundB
> od
> > y0
> > (DefaultHttpClient.java:119)
> >  at
> >
> org.apache.cactus.client.connector.http.DefaultHttpClient.doTe
> st_aroundB
> od
> > y1
> > $advice(DefaultHttpClient.java:222)
> >  at
> >
> org.apache.cactus.client.connector.http.DefaultHttpClient.doTe
> st(Default
> Ht
> > tp
> > Client.java)
> >  at
> >
> org.apache.cactus.internal.client.WebClientTestCaseDelegate.ru
> nWebTest(W
> eb
> > Cl
> > ientTestCaseDelegate.java:333)
> >  at
> >
> org.apache.cactus.internal.client.WebClientTestCaseDelegate.ru
> nGenericTe
> st
> > (W
> > ebClientTestCaseDelegate.java:281)
> >  at
> >
> org.apache.cactus.internal.client.WebClientTestCaseDelegate.ru
> nTest(WebC
> li
> > en
> > tTestCaseDelegate.java:257)
> >  at
> >
> org.apache.cactus.ServletTestCase.runCactusTest(ServletTestCas
> e.java:300
> )
> >  at
> org.apache.cactus.ServletTestCase.runBare(ServletTestCase.java:263)
> >  at
> >
> org.apache.cactus.AbstractTestSuite.runTest_aroundBody6(Abstra
> ctTestSuit
> e.
> > ja
> > va:296)
> >  at
> >
> org.apache.cactus.AbstractTestSuite.runTest_aroundBody7$advice
> (AbstractT
> es
> > tS
> > uite.java:151)
> >  at
> org.apache.cactus.AbstractTestSuite.runTest(AbstractTestSuite.java)
> >  at
> >
> org.apache.cactus.AbstractTestSuite.run_aroundBody4(AbstractTe
> stSuite.ja
> va
> > :2
> > 87)
> >  at
> >
> org.apache.cactus.AbstractTestSuite.run_aroundBody5$advice(Abs
> tractTestS
> ui
> > te
> > .java:151)
> >  at org.apache.cactus.AbstractTestSuite.run(AbstractTestSuite.java)
> > 
> > This is because the HttpState code in the
> commons-httpclient-2.0-rc2.jar
> > file invokes StringBuffer.append(StringBuffer sb) which is present
> from
> > jdk1.4 onwards only.
> >
> http://java.sun.com/j2se/1.4.1/docs/api/java/lang/StringBuffer
.html#appe
nd
> (j
> ava.lang.StringBuffer
>
<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/StringBuffer.html#app
en
> d(
> java.lang.StringBuffer> )
> 
> 
>
<http://f1.pg.photos.yahoo.com/ph/suri_mail/lst?.dir=/anu_suresh_engagem
en
> t_
>
08_Oct_03&.src=ph&.order=&.view=t&.done=http%3a//f1.pg.photos.yahoo.com/
>


Mime
  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message