Hi Anthony,

I believe this is a known problem with Cactus and JBoss 4. It seems
JBoss is using an old version of Commons-httpclient and Cactus has been
compiled with a newer version. Hence the error. The solution is to
replace JBoss 4 version of commons-httpclient  by cactus�s.

Thanks
-Vincent

-----Original Message-----
From: Anthony Cheung [mailto:[EMAIL PROTECTED] 
Sent: 29 August 2003 10:56
To: [EMAIL PROTECTED]
Subject: Error running test from ant [ejb testing]

Hi,
�
I am getting the following errors for my first cactus test case and i
don't know whats going on.
�
I am using jboss4 which�i start�manually and i have placed the jar files
and tdstest.war into the deployment directory.
�
This is probably something simple like a classpath problem but i have no
idea.
�
===============================================
test:
�� [cactus] Testsuite: tds.tests.UserValidatorTest
�� [cactus] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0.313
sec
�� [cactus] Testcase:
testValidation(com.cmcrc.tds.tests.UserValidatorTest):��� Caused an
ERROR
�� [cactus]
org.apache.commons.httpclient.HttpMethod.setRequestHeader(Ljava/lang/Str
ing;Ljava/lang/String;)V
�� [cactus] java.lang.NoSuchMethodError:
org.apache.commons.httpclient.HttpMethod.setRequestHeader(Ljava/lang/Str
ing;Ljava/lang/String;)V
�� [cactus]���� at
org.apache.cactus.client.connector.http.HttpClientConnectionHelper.dispa
tch50_connect(HttpClientConnectionHelper.java;org/apache/cactus/util/log
/LogAspect.aj[1k]:152)
�� [cactus]���� at
org.apache.cactus.client.connector.http.HttpClientConnectionHelper.aroun
d50_connect(HttpClientConnectionHelper.java;org/apache/cactus/util/log/L
ogAspect.aj[1k]:1240)
�� [cactus]���� at
org.apache.cactus.client.connector.http.HttpClientConnectionHelper.conne
ct(HttpClientConnectionHelper.java;org/apache/cactus/util/log/LogAspect.
aj[1k]:114)
�� [cactus]���� at
org.apache.cactus.client.connector.http.DefaultHttpClient.callRunTest(De
faultHttpClient.java;org/apache/cactus/util/log/LogAspect.aj[1k]:201)
�� [cactus]���� at
org.apache.cactus.client.connector.http.DefaultHttpClient.dispatch49_doT
est(DefaultHttpClient.java;org/apache/cactus/util/log/LogAspect.aj[1k]:1
19)
�� [cactus]���� at
org.apache.cactus.client.connector.http.DefaultHttpClient.around49_doTes
t(DefaultHttpClient.java;org/apache/cactus/util/log/LogAspect.aj[1k]:124
0)
�� [cactus]���� at
org.apache.cactus.client.connector.http.DefaultHttpClient.doTest(Default
HttpClient.java;org/apache/cactus/util/log/LogAspect.aj[1k]:115)
�� [cactus]���� at
org.apache.cactus.internal.client.WebClientTestCaseDelegate.runWebTest(W
ebClientTestCaseDelegate.java;org/apache/cactus/util/log/LogAspect.aj[1k
]:334)
�� [cactus]���� at
org.apache.cactus.internal.client.WebClientTestCaseDelegate.runGenericTe
st(WebClientTestCaseDelegate.java;org/apache/cactus/util/log/LogAspect.a
j[1k]:282)
�� [cactus]���� at
org.apache.cactus.internal.client.WebClientTestCaseDelegate.runTest(WebC
lientTestCaseDelegate.java;org/apache/cactus/util/log/LogAspect.aj[1k]:2
58)
�� [cactus]���� at
org.apache.cactus.ServletTestCase.runTest(ServletTestCase.java:289)
�� [cactus]���� at
org.apache.cactus.ServletTestCase.runBare(ServletTestCase.java:251)
�
===============================================
cactus.properties:
�
cactus.contextURL = http://localhost:8080/tdstest
�
===============================================
�
<web-app>
��� <servlet>
����� <servlet-name>ServletRedirector</servlet-name>
�����
<servlet-class>org.apache.cactus.server.ServletTestRedirector</servlet-c
lass>
��� </servlet>
�
��� <servlet>
����� <servlet-name>ServletTestRunner</servlet-name>
�����
<servlet-class>org.apache.cactus.server.runner.ServletTestRunner</servle
t-class>
��� </servlet>
��� <servlet-mapping>
����� <servlet-name>ServletRedirector</servlet-name>
����� <url-pattern>/ServletRedirector</url-pattern>
��� </servlet-mapping>
��� <servlet-mapping>
����� <servlet-name>ServletTestRunner</servlet-name>
����� <url-pattern>/ServletTestRunner</url-pattern>
��� </servlet-mapping>
��� <ejb-local-ref>
����� <ejb-ref-name>ejb/user/UserValidator</ejb-ref-name>
����� <ejb-ref-type>Session</ejb-ref-type>
����� <local-home>tds.interfaces.UserValidatorLocalHome</local-home>
����� <local>tds.interfaces.UserValidatorLocal</local>
����� <ejb-link>TDS.jar#user/UserValidator</ejb-link>
��� </ejb-local-ref>
</web-app>
===============================================
build.xml
�
<target name="test.prepare" depends="dist, compile.cactus">
� 
��� <!-- Cactify the web-app archive -->
��� <cactifywar srcfile="${dist.dir}/${ant.project.name}.war"
������� destfile="${dist.dir}/tdstest.war"
������� mergewebxml="${src.webapp.dir}/WEB-INF/cactus-web.xml">
����� <classes dir="${build.classes.dir}">
������� <include name="**/tests/**" />
������� <exclude name="/webapp"/>
����� </classes>
����� <!-- <lib file="${httpunit.jar}"/> -->
��� </cactifywar>
��� <!-- Prepare the directories for the JUnit reports -->
��� <mkdir dir="${build.testreports.dir}"/>
��� 
��� <ear destfile="${dist.dir}/tds.ear"
appxml="${resources.dir}/ear/META-INF/application.xml">
����� <fileset dir="${dist.dir}" includes="*.jar,*.war"/>
��� </ear>
�
� </target>
� <!-- depends="test.prepare" -->
� <target name="test" depends="test.prepare"
����� description="Run the tests on the defined containers">
��� <!-- Run the tests -->
��� <cactus warfile="${dist.dir}/tdstest.war" fork="yes"
������� failureproperty="tests.failed">
����� <classpath>
������� <path refid="classpath"/>
������� <pathelement location="${build.classes.dir}"/>
������� <pathelement location="${resources.dir}/properties"/>
����� </classpath>
����� <!--
����� <containerset>
������� <generic name="jboss4">
��������� <startup target="jboss.start"/>
��������� <shutdown target="jboss.stop"/>
������� </generic>
����� </containerset>
����� -->
����� 
����� <formatter type="brief" usefile="false"/>
����� <formatter type="xml"/>
����������� 
����� <batchtest>
������� <fileset dir="${src.dir}">
��������� <include name="**/tests/*Test*.java"/>
��������� <exclude name="**/tests/Test*All.java"/>
������� </fileset>
����� </batchtest>
����� 
��� </cactus>
��� <!-- Generate the JUnit reports
��� <junitreport todir="${build.testreports.dir}">
����� <fileset dir="${target.testreports.dir}"
��������� includes="TEST-*.xml"/>
����� <report todir="${target.testreports.dir}"
��������� format="frames"/>
��� </junitreport>
���� -->
��� <fail if="tests.failed">At least one test failed!</fail>
� </target>
===============================================
�
thanks

Want to chat instantly with your online friends?�Get the FREE Yahoo!
Messenger


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

Reply via email to