Sebastian, Your ClassNotFoundException is due to the package of your deployed Echo class not matching the ServiceClass package value in your services.xml.
-- WEB-INF > | |-- classes > | | `-- de > | | `-- hpfsc > | | |-- Echo.class vs <parameter name="ServiceClass">de.echo.Echo</parameter> So, the ServiceClass value should be: <parameter name="ServiceClass">de.hpfsc.Echo</parameter> There is no need to explicitly identify a class location, it just needs to be in the classpath of the web app (classes, web-inf/lib) or in the service aar file directly. Thanks, Ted -----Original Message----- From: keith chapman [mailto:[EMAIL PROTECTED] Sent: Sun 8/12/2007 9:58 AM To: [email protected] Subject: Re: Problems adding Axis2 to an existing Webapp Hi, In prder to validate ur services.xml you can use a tool hosted at http://tools.wso2.org:19762/wservices/AarValidatorXSL/ by WSO2. It consists of a tool to validate ur aar file as well. Thanks, Keith. On 8/12/07, Sebastian Stein <[EMAIL PROTECTED]> wrote: > > Hi, > > > I have an existing webapp. Now, I want to add Axis2 to expose some classes > as web service. I can't alter the structure of the existing webapp. I > added > the Axis2 libs to WEB-INF/ and I will later strip out the libs not > actually > needed. At the moment the content of WEB-INF/lib is: > > activation-1.1.jar commons-logging-1.1.jar > activation-LICENSE.txt commons-logging-LICENSE.txt > annogen-0.1.0.jar geronimo-spec-jms-1.1-rc4.jar > annogen-LICENSE.txt geronimo-spec-jms-LICENSE.txt > axiom-api-1.2.4.jar jakarta-httpcore-4.0-alpha4.jar > axiom-api-LICENSE.txt jakarta-httpcore-LICENSE.txt > axiom-dom-1.2.4.jar jaxb-api-2.0.2.jar > axiom-dom-LICENSE.txt jaxb-impl-2.0.2.jar > axiom-impl-1.2.4.jar jaxb-xjc-2.0.2.jar > axiom-impl-LICENSE.txt jaxen-1.1-beta-10.jar > axis2-adb-1.2.jar jaxen-LICENSE.txt > axis2-adb-codegen-1.2.jar jettison-1.0-RC1.jar > axis2-codegen-1.2.jar jibx-bind-1.1.4.jar > axis2-fastinfoset-1.2.jar jibx-run-1.1.4.jar > axis2-java2wsdl-1.2.jar mail-1.4.jar > axis2-jaxbri-1.2.jar mail-LICENSE.txt > axis2-jaxws-1.2.jar neethi-2.0.1.jar > axis2-jaxws-api-1.2.jar neethi-LICENSE.txt > axis2-jibx-1.2.jar stax-api-1.0.1.jar > axis2-json-1.2.jar stax-api-LICENSE.txt > axis2-kernel-1.2.jar stax-utils-20060915.jar > axis2-LICENSE.txt stax-utils-LICENSE.txt > axis2-metadata-1.2.jar woden-1.0-incubating-M7a.jar > axis2-saaj-1.2.jar woden-LICENSE.txt > axis2-saaj-api-1.2.jar wsdl4j-1.6.2.jar > axis2-soapmonitor-1.2.jar wsdl4j-LICENSE.txt > axis2-spring-1.2.jar wstx-asl-3.2.1.jar > axis2-tools-1.2.jar wstx-LICENSE.txt > axis2-xmlbeans-1.2.jar xalan-2.7.0.jar > backport-util-concurrent-2.2.jar xbean-2.2.0.jar > backport-util-concurrent-LICENSE.txt xbean-LICENSE.txt > commons-codec-1.3.jar xercesImpl-2.8.1.jar > commons-codec-LICENSE.txt xercesImpl-LICENSE.txt > commons-fileupload-1.1.1.jar xml-apis-1.3.03.jar > commons-fileupload-LICENSE.txt xml-apis-LICENSE.txt > commons-httpclient-3.0.1.jar XmlSchema-1.3.1.jar > commons-httpclient-LICENSE.txt XmlSchema-LICENSE.txt > commons-io-1.2.jar > > I created a small example, just consisting of a servlet and a POJO java > class, which should be exposed as web service. The webapp folder structure > looks as follows: > > |-- META-INF > |-- WEB-INF > | |-- classes > | | `-- de > | | `-- hpfsc > | | |-- Echo.class > | | `-- EchoServlet.class > | |-- lib > | | |-- ... > | |-- services > | | `-- Echo > | | |-- META-INF > | | | `-- services.xml > | `-- web.xml > `-- index.jsp > > I added Axis to my web.xml: > > <?xml version="1.0" encoding="UTF-8"?> > <web-app id="WebApp_ID" version="2.4" > xmlns="http://java.sun.com/xml/ns/j2ee" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee > http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> > <display-name>Axis2Test</display-name> > > <servlet> > <display-name>Echo Servlet</display-name> > <servlet-name>EchoServlet</servlet-name> > <servlet-class>de.hpfsc.EchoServlet</servlet-class> > </servlet> > <servlet> > <display-name>Apache-Axis Servlet</display-name> > <servlet-name>AxisServlet</servlet-name> > <servlet-class>org.apache.axis2.transport.http.AxisServlet > </servlet-class> > <load-on-startup>1</load-on-startup> > </servlet> > > <servlet-mapping> > <servlet-name>EchoServlet</servlet-name> > <url-pattern>/servlet/EchoServlet</url-pattern> > </servlet-mapping> > <servlet-mapping> > <servlet-name>AxisServlet</servlet-name> > <url-pattern>/servlet/AxisServlet</url-pattern> > </servlet-mapping> > <servlet-mapping> > <servlet-name>AxisServlet</servlet-name> > <url-pattern>*.jws</url-pattern> > </servlet-mapping> > <servlet-mapping> > <servlet-name>AxisServlet</servlet-name> > <url-pattern>/services/*</url-pattern> > </servlet-mapping> > > <welcome-file-list> > <welcome-file>index.html</welcome-file> > <welcome-file>index.htm</welcome-file> > <welcome-file>index.jsp</welcome-file> > <welcome-file>default.html</welcome-file> > <welcome-file>default.htm</welcome-file> > <welcome-file>default.jsp</welcome-file> > </welcome-file-list> > </web-app> > > Finally, I created a services.xml file to expose de.echo.Echo class as a > web > service. The content of the file looks as follows: > > <?xml version="1.0" encoding="UTF-8"?> > <service name="Echo" scope="application"> > <description>EchoAxis2</description> > <messageReceivers> > <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" > class=" > org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/> > <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" > class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/> > </messageReceivers> > <parameter name="ServiceClass">de.echo.Echo</parameter> > </service> > > My first question is if there is a XML Schema file (XSD) available to > validate the services.xml file? > > Now, if I deploy this complete web app on Tomcat, I get the following > exception: > > 12.08.2007 14:52:25 org.apache.axis2.deployment.ServiceDeployer deploy > SCHWERWIEGEND: The Echo service, which is not valid, caused Processing > Operations Modules with an error of The following error occurred during > schema generation: de.echo.Echo > org.apache.axis2.deployment.DeploymentException: Processing Operations > Modules with an error of The following error occurred during schema > generation: de.echo.Echo > at > org.apache.axis2.deployment.ServiceBuilder.populateService( > ServiceBuilder.java:381) > at > > org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup > (ArchiveReader.java:98) > at > > org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup > (ArchiveReader.java:175) > at > org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java > :79) > at > org.apache.axis2.deployment.DeploymentEngine.doDeploy( > DeploymentEngine.java:582) > > ... > > Caused by: java.lang.ClassNotFoundException: de.echo.Echo > at java.net.URLClassLoader$1.run(URLClassLoader.java:200) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:188) > at java.lang.ClassLoader.loadClass(ClassLoader.java:306) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:242) > at > org.apache.ws.java2wsdl.SchemaGenerator.<init>(SchemaGenerator.java:121) > at > org.apache.axis2.deployment.util.Utils.fillAxisService(Utils.java:306) > at > org.apache.axis2.deployment.ServiceBuilder.populateService( > ServiceBuilder.java:339) > ... 38 more > > I think the second part is more interesting, because it says that my class > de.echo.Echo can't be found. Any ideas what I'm doing wrong? Do I have to > specify somehow a path where Axis should look for class files? I'm pretty > sure it must work somehow like that, because I was able to generate such > an > example webapp using Eclipse and Axis1. > > > Regards, > > > Sebastian > -- > http://www.halle-ist-schoen.de/ > City of Halle, Germany > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Keith Chapman WSO2 Inc. Oxygen for Web Services Developers. http://wso2.org/
<<winmail.dat>>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
