[prev in list] [next in list] [prev in thread] [next in thread]
List: axis-user
Subject: Re: Problems adding Axis2 to an existing Webapp
From: "keith chapman" <keithgchapman () gmail ! com>
Date: 2007-08-12 14:58:36
Message-ID: b72c94b30708120758m6e864e93uc8d1363db151c9f6 () mail ! gmail ! com
[Download RAW message or body]
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 <seb.stein@hpfsc.de> 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: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>
--
Keith Chapman
WSO2 Inc.
Oxygen for Web Services Developers.
http://wso2.org/
[Attachment #3 (text/html)]
Hi,<br><br>In prder to validate ur services.xml you can use a tool hosted at <a \
href="http://tools.wso2.org:19762/wservices/AarValidatorXSL/">http://tools.wso2.org:19762/wservices/AarValidatorXSL/</a> \
<br>by WSO2. It consists of a tool to validate ur aar file as well. \
<br><br>Thanks,<br>Keith.<br><br><div><span class="gmail_quote">On 8/12/07, <b \
class="gmail_sendername">Sebastian Stein</b> <<a \
href="mailto:seb.stein@hpfsc.de">seb.stein@hpfsc.de</a>> wrote:</span><blockquote \
class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt \
0pt 0.8ex; padding-left: 1ex;"> Hi,<br><br><br>I have an existing webapp. Now, I want \
to add Axis2 to expose some classes<br>as web service. I can't alter the \
structure of the existing webapp. I added<br>the Axis2 libs to WEB-INF/ and I will \
later strip out the libs not actually <br>needed. At the moment the content of \
WEB-INF/lib is:<br><br>activation-1.1.jar &nb \
sp; commons-log \
ging-1.1.jar<br>activation-LICENSE.txt \
commons-logging-LICENSE.txt<br>annogen \
-0.1.0.jar \
geronimo-spec-jms-1.1-rc4.jar<br>annogen-LICENSE.txt \
geronimo-spec-jms-LICENSE.txt<br>axiom-api-1.2.4.jar \
jakarta-httpcore-4.0-alpha4.jar<br>axiom-api-LICENSE.txt \
jakarta-httpcore-LICENSE.txt \
<br>axiom-dom-1.2.4.jar \
jaxb-api-2.0.2.jar<br>axiom-dom-LICENSE.txt \
jaxb-impl-2.0.2.jar<br>axiom-impl-1.2.4.jar & \
nbsp; jaxb-xjc-2.0.2.jar<br \
>axiom-impl-LICENSE.txt
>
jaxen-1.1-beta-10.jar<br>axis2-adb-1.2.jar \
jaxen-LICENSE.txt<br>axis2-adb-codegen-1.2.jar \
jettison-1.0-RC1.jar<br>axis2-codegen-1.2.jar \
jibx-bind-1.1.4.jar<br>axis2-fastinfoset-1.2.jar \
\
jibx-run-1.1.4.jar<br>axis2-java2wsdl-1.2.jar \
mail-1.4.jar<br>axis2-jaxbri-1.2.jar &n \
bsp; mail-LICENSE.txt<br>axis2-ja \
xws-1.2.jar \
neethi-2.0.1.jar<br>axis2-jaxws-api-1.2.jar \
\
neethi-LICENSE.txt<br>axis2-jibx-1.2.jar &nbs \
p; stax-api-1.0 \
.1.jar<br>axis2-json-1.2.jar &nbs \
p; stax-api-LICENSE.txt<br> \
axis2-kernel-1.2.jar stax-utils-20060915.jar<br>
axis2-LICENSE.txt \
stax-utils-LICENSE.txt<br>axis2-metadata-1.2.jar &n \
bsp; woden-1.0-incubating-M7a.jar \
<br>axis2-saaj-1.2.jar &nbs \
p; woden-LICENSE.txt<br>axis2-saa \
j-api-1.2.jar
wsdl4j-1.6.2.jar<br>axis2-soapmonitor-1.2.jar \
wsdl4j-LICENSE.txt<br>axis2-spring-1.2.jar &n \
bsp; wstx-asl-3.2.1.jar<br> \
axis2-tools-1.2.jar \
wstx-LICENSE.txt<br>axis2-xmlbeans-1.2.jar
xalan-2.7.0.jar<br>backport-util-concurrent-2.2.jar &nbs \
p;xbean-2.2.0.jar<br>backport-util-concurrent-LICENSE.txt xbean-LICENSE.txt \
<br>commons-codec-1.3.jar \
xercesImpl-2.8.1.jar<br>commons-codec-LICENSE.txt \
\
xercesImpl-LICENSE.txt<br>commons-fileupload-1.1.1.jar &n \
bsp; xml-apis-1.3.03.jar<br>commons-fileupload-LICENSE.txt  \
; xml-apis-LICENSE.txt<br>commons-httpclient- \
3.0.1.jar XmlSchema-1.3.1.jar<br>
commons-httpclient-LICENSE.txt XmlSchema-LICENSE.txt<br>commons-io-1.2.jar<br><br>I \
created a small example, just consisting of a servlet and a POJO java<br>class, which \
should be exposed as web service. The webapp folder structure <br>looks as \
follows:<br><br>|-- META-INF<br>|-- WEB-INF<br>| |-- \
classes<br>| | `-- de<br>| \
| `-- hpfsc<br>| \
| |-- \
Echo.class<br>| \
| `-- \
EchoServlet.class<br>| |-- lib<br>| | |-- ... \
<br>| |-- services<br>| | `-- \
Echo<br>| | |-- \
META-INF<br>| | | `-- \
services.xml<br>| `-- web.xml<br>`-- index.jsp<br><br>I added Axis to my \
web.xml:<br><br><?xml version="1.0" encoding="UTF-8"?> \
<br><web-app id="WebApp_ID" version="2.4"<br>xmlns="<a \
href="http://java.sun.com/xml/ns/j2ee">http://java.sun.com/xml/ns/j2ee</a>"<br>xmlns:xsi="<a \
href="http://www.w3.org/2001/XMLSchema-instance"> \
http://www.w3.org/2001/XMLSchema-instance</a>"<br>xsi:schemaLocation="<a \
href="http://java.sun.com/xml/ns/j2ee">http://java.sun.com/xml/ns/j2ee</a><br><a \
href="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd
</a>"><br> <display-name> \
;Axis2Test</display-name><br><br>   \
;<servlet><br> <display-name>Echo \
Servlet</display-name><br> \
<servlet-name>EchoServlet</servlet-name>
<br> &nb \
sp; <servlet-class>de.hpfsc.EchoServlet</servlet-class><br>&nbs \
p; </servlet><br> &nbs \
p; <servlet><br>   \
; <display-name>Apache-Axis \
Servlet</display-name><br> \
&n \
bsp; <servlet-name>AxisServlet</servlet-name><br> &n \
bsp; <servle \
t-class>org.apache.axis2.transport.http.AxisServlet</servlet-class><br> \
<load-on-startup>1</load-on-startup>
<br> </servlet><br><br> &nb \
sp; <servlet-mapping><br> &n \
bsp; <servle \
t-name>EchoServlet</servlet-name><br> &nbs \
p; <url-pattern>/servlet/EchoServlet</url-pattern><br>
</servlet-mapping><br> &nb \
sp; <servlet-mapping><br> &n \
bsp; <servle \
t-name>AxisServlet</servlet-name><br> &nbs \
p; <url-pattern>/servlet/AxisServlet</url-pattern><br>
</servlet-mapping><br> &nb \
sp; <servlet-mapping><br> &n \
bsp; <servle \
t-name>AxisServlet</servlet-name><br> &nbs \
p; <url-pattern>*.jws</u \
rl-pattern><br> </servlet-mapping>
<br> <servlet-mapping><br> \
&n \
bsp;<servlet-name>AxisServlet</servlet-name><br> &n \
bsp; <url-pattern& \
gt;/services/*</url-pattern><br> </servlet-mapping><br><br>
<welcome-file-list><br> &n \
bsp; &nbs \
p;<welcome-file>index.html</welcome-file><br>   \
; <welcome-file> \
;index.htm</welcome-file><br> <welcome-file>index.jsp
</welcome-file><br> \
<welcome-file>default.html</welcome-file& \
gt;<br> & \
nbsp; <welcome-file>default.htm</welcome-file><br> & \
nbsp; <welcome-file>default.jsp</welcome-file>
<br> </welcome-file-list><br></web-app><br><br>Finally, \
I created a services.xml file to expose de.echo.Echo class as a web<br>service. The \
content of the file looks as follows:<br><br><?xml version=" 1.0" \
encoding="UTF-8"?><br><service name="Echo" \
scope="application"><br> \
<description>EchoAxis2</description><br> \
<messageReceivers><br> <messageReceiver \
mep=" <a href="http://www.w3.org/2004/08/wsdl/in-only">http://www.w3.org/2004/08/ \
wsdl/in-only</a>"<br> \
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/><br> <messageReceiver \
mep=" <a href="http://www.w3.org/2004/08/wsdl/in-out">http://www.w3.org/2004/08/w \
sdl/in-out</a>"<br> \
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/><br> \
</messageReceivers><br> <parameter \
name="ServiceClass">de.echo.Echo</parameter><br></service><br><br>My \
first question is if there is a XML Schema file (XSD) available to<br>validate the \
services.xml file?<br><br> Now, if I deploy this complete web app on Tomcat, I get \
the following<br>exception:<br><br>12.08.2007 14:52:25 \
org.apache.axis2.deployment.ServiceDeployer deploy<br>SCHWERWIEGEND: The Echo \
service, which is not valid, caused Processing <br>Operations Modules with an error \
of The following error occurred during<br>schema generation: \
de.echo.Echo<br>org.apache.axis2.deployment.DeploymentException: Processing \
Operations<br>Modules with an error of The following error occurred during schema \
<br>generation: de.echo.Echo<br> at<br> \
org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:381)<br \
> at<br>org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup
>
(ArchiveReader.java:98)<br> at<br>org.a \
pache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader \
.java:175)<br> at<br>org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java
:79)<br> at<br>org.apache.axis2.deploy \
ment.DeploymentEngine.doDeploy(DeploymentEngine.java:582)<br><br>...<br><br>Caused \
by: java.lang.ClassNotFoundException: \
de.echo.Echo<br> at \
java.net.URLClassLoader$1.run \
(URLClassLoader.java:200)<br> at \
java.security.AccessController.doPrivileged(Native \
Method)<br> at \
java.net.URLClassLoader.findClass(URLClassLoader.java:188)<br> at \
java.lang.ClassLoader.loadClass(ClassLoader.java \
:306)<br> at \
java.lang.ClassLoader.loadClass(ClassLoader.java:251)<br> at \
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)<br> at \
java.lang.Class.forName0(Native \
Method)<br> at java.lang.Class.forName \
(Class.java:242)<br> at<br>org.apache.w \
s.java2wsdl.SchemaGenerator.<init>(SchemaGenerator.java:121)<br> &nbs \
p; at<br>org.apache.axis2.deployment.util.Utils.fillAxisS \
ervice(Utils.java:306)<br> at<br>org.apache.axis2.deployment.ServiceBuilder.populateService
(ServiceBuilder.java:339)<br> ... 38 \
more<br><br>I think the second part is more interesting, because it says that my \
class<br>de.echo.Echo can't be found. Any ideas what I'm doing wrong? Do I \
have to<br>specify somehow a path where Axis should look for class files? I'm \
pretty <br>sure it must work somehow like that, because I was able to generate such \
an<br>example webapp using Eclipse and \
Axis1.<br><br><br>Regards,<br><br><br>Sebastian<br>--<br><a \
href="http://www.halle-ist-schoen.de/">http://www.halle-ist-schoen.de/ </a><br>City \
of Halle, Germany<br><br>---------------------------------------------------------------------<br>To \
unsubscribe, e-mail: <a \
href="mailto:axis-user-unsubscribe@ws.apache.org">axis-user-unsubscribe@ws.apache.org \
</a><br>For additional commands, e-mail: <a \
href="mailto:axis-user-help@ws.apache.org">axis-user-help@ws.apache.org</a><br><br></blockquote></div><br><br \
clear="all"><br>-- <br>Keith Chapman<br>WSO2 Inc.<br>Oxygen for Web Services \
Developers. <br><a href="http://wso2.org/">http://wso2.org/</a>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic