You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Mi...@servicecanada.gc.ca on 2007/05/17 21:34:46 UTC

RE: [Axis2] How do I deploy my webservice in a separate war file other than axis2.war?

Hi,

I've got a similar setup working. One trick is this: your aar file should only have services.xml, no class or library files. The service class (or classes) should be in WEB-INF/classes. The contents of my aar are just:

META-INF/
META-INF/MANIFEST.MF
lib/
META-INF/Authenticate.wsdl
META-INF/services.xml

I've attached a dump of the contents of my war file so you can see how I put it together. I've also got a webwork application bundled up with it (an admin application to maintain a database), and it's using Spring and Hibernate (both for the web app and the web service), and so far it's working.

Good luck,
Michael

> -----Original Message-----
> From: Raghu Upadhyayula [mailto:rupadhyayula@responsys.com]
> Sent: Thursday, May 17, 2007 3:11 PM
> To: axis-user@ws.apache.org
> Subject: [Axis2] How do I deploy my webservice in a separate war file
> other than axis2.war?
> 
> 
> Hi,
> 
> 	I've used Axis2 and developed a web service which depends on
> some other classes that are outside my webservice project & at the
> startup of my webservice I want to instantiate some spring beans using
> the spring context xml files.
> 	
> 	And I don't want to deploy my webservice inside axis2.war (by
> putting the aar file under the services directory).  I want to have my
> own application war file in which I can run my webservice.
> 	
> 	I've created a aar file with my webservices classes & also a war
> file with my other classes(developed my some other group) 
> that are used
> in the webservices.
> 	
> 	Here is the structure of my webservces.war file.
> *************************************************
> webservices.war
> - META-INF
>     - MANIFEST.MF
> - WEB-INF
>     - classes
>         Contains the spring context xml files & the class files 
> 	  which I use in my webservices.
>     - conf
>         xxis2.xml
>     - lib
>         Contains all the required libraries (axis2 related 
> jars & jars 
> 	  used by my other classes)
>     - modules
>         modules.list
>         addressing-1.2.mar
>         soapmonitor-1.2.mar
>     - services
>         MyService.aar
>     - web.xml
> *************************************************
> 	I'm getting errors when I deploy this war file.  Am I doing
> anything wrong?  Is there anything I need to do extra?
> 	
> 	Note: The services.xml file in the MyServices.aar is the one
> which is generated by WSDL2Java tool, I didn't modify it.
> 	
> 	Please let me know if you need more info.  Thanks in advance.
> 
> Thanks
> Raghu
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
> 
> 

RE: [Axis2] How do I deploy my webservice in a separate war file other than axis2.war?

Posted by Raghu Upadhyayula <ru...@responsys.com>.
Thanks very much to Michael & Ted,

 

            Michael, your suggestion of putting the service class files
in the WEB-INF/classes & having only services.xml in the aar file
worked.

            

            Ted, your suggestion of missing class files for my exception
was gone, when I included stax-1.2.0.jar in my libs.

            

Thanks

Raghu

 

________________________________

From: Ted Jones [mailto:Tjones@metamatrix.com] 
Sent: Thursday, May 17, 2007 1:52 PM
To: axis-user@ws.apache.org
Subject: RE: [Axis2] How do I deploy my webservice in a separate war
file other than axis2.war?

 

Raghu,

 

I've seen that one before. Believe it or not that is due to *some*
missing class or classes. To resolve it make sure all the Axis2
distribution jars are in your war's lib and make sure they are all from
the same release. You likely won't need them all but you can whittle
them down after you get everything working.

 

Regards,

Ted

 

________________________________

From: Raghu Upadhyayula [mailto:rupadhyayula@responsys.com] 
Sent: Thursday, May 17, 2007 3:23 PM
To: axis-user@ws.apache.org
Cc: Michael.Davis@servicecanada.gc.ca
Subject: RE: [Axis2] How do I deploy my webservice in a separate war
file other than axis2.war?

Hi Michael,

 

      Your solution kind of worked partially, but deployment failed.  I
received the following exception.  Please let me know if you know the
solution. For this

 

java.lang.ExceptionInInitializerError

      at org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:555)

      at
org.apache.axis2.deployment.DescriptionBuilder.buildOM(DescriptionBuilde
r.java:93)

      at
org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigB
uilder.java:76)

      at
org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(D
eploymentEngine.java:640)

      at
org.apache.axis2.deployment.WarBasedAxisConfigurator.<init>(WarBasedAxis
Configurator.java:136)

      at
org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServle
t.java:486)

      at
org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:406)

      at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.jav
a:1091)

      at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:925)

      at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.j
ava:3880)

      at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4141
)

      at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.ja
va:759)

      at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)

      at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)

      at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:804)

      at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:693)

      at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472)

      at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1118)

      at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:31
0)

      at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSu
pport.java:119)

      at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)

      at
org.apache.catalina.core.StandardHost.start(StandardHost.java:718)

      at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)

      at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)

      at
org.apache.catalina.core.StandardService.start(StandardService.java:450)

      at
org.apache.catalina.core.StandardServer.start(StandardServer.java:680)

      at org.apache.catalina.startup.Catalina.start(Catalina.java:536)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

      at java.lang.reflect.Method.invoke(Unknown Source)

      at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275)

      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

Caused by: java.lang.IllegalStateException: No valid ObjectCreator
found.

      at
org.apache.axiom.om.util.StAXUtils$Pool.<init>(StAXUtils.java:44)

      at org.apache.axiom.om.util.StAXUtils.<clinit>(StAXUtils.java:68)

      ... 33 more

 

Thanks

Raghu

 

-----Original Message-----
From: Michael.Davis@servicecanada.gc.ca
[mailto:Michael.Davis@servicecanada.gc.ca] 
Sent: Thursday, May 17, 2007 12:35 PM
To: axis-user@ws.apache.org
Subject: RE: [Axis2] How do I deploy my webservice in a separate war
file other than axis2.war?

 

Hi,

 

I've got a similar setup working. One trick is this: your aar file
should only have services.xml, no class or library files. The service
class (or classes) should be in WEB-INF/classes. The contents of my aar
are just:

 

META-INF/

META-INF/MANIFEST.MF

lib/

META-INF/Authenticate.wsdl

META-INF/services.xml

 

I've attached a dump of the contents of my war file so you can see how I
put it together. I've also got a webwork application bundled up with it
(an admin application to maintain a database), and it's using Spring and
Hibernate (both for the web app and the web service), and so far it's
working.

 

Good luck,

Michael

 

> -----Original Message-----

> From: Raghu Upadhyayula [mailto:rupadhyayula@responsys.com]

> Sent: Thursday, May 17, 2007 3:11 PM

> To: axis-user@ws.apache.org

> Subject: [Axis2] How do I deploy my webservice in a separate war file

> other than axis2.war?

> 

> 

> Hi,

> 

>     I've used Axis2 and developed a web service which depends on

> some other classes that are outside my webservice project & at the

> startup of my webservice I want to instantiate some spring beans using

> the spring context xml files.

>     

>     And I don't want to deploy my webservice inside axis2.war (by

> putting the aar file under the services directory).  I want to have my

> own application war file in which I can run my webservice.

>     

>     I've created a aar file with my webservices classes & also a war

> file with my other classes(developed my some other group) 

> that are used

> in the webservices.

>     

>     Here is the structure of my webservces.war file.

> *************************************************

> webservices.war

> - META-INF

>     - MANIFEST.MF

> - WEB-INF

>     - classes

>         Contains the spring context xml files & the class files 

>       which I use in my webservices.

>     - conf

>         xxis2.xml

>     - lib

>         Contains all the required libraries (axis2 related 

> jars & jars 

>       used by my other classes)

>     - modules

>         modules.list

>         addressing-1.2.mar

>         soapmonitor-1.2.mar

>     - services

>         MyService.aar

>     - web.xml

> *************************************************

>     I'm getting errors when I deploy this war file.  Am I doing

> anything wrong?  Is there anything I need to do extra?

>     

>     Note: The services.xml file in the MyServices.aar is the one

> which is generated by WSDL2Java tool, I didn't modify it.

>     

>     Please let me know if you need more info.  Thanks in advance.

> 

> Thanks

> Raghu

> 

> ---------------------------------------------------------------------

> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org

> For additional commands, e-mail: axis-user-help@ws.apache.org

> 

> 


RE: [Axis2] How do I deploy my webservice in a separate war file other than axis2.war?

Posted by Ted Jones <Tj...@metamatrix.com>.
Raghu,
 
I've seen that one before. Believe it or not that is due to *some*
missing class or classes. To resolve it make sure all the Axis2
distribution jars are in your war's lib and make sure they are all from
the same release. You likely won't need them all but you can whittle
them down after you get everything working.
 
Regards,
Ted

________________________________

From: Raghu Upadhyayula [mailto:rupadhyayula@responsys.com] 
Sent: Thursday, May 17, 2007 3:23 PM
To: axis-user@ws.apache.org
Cc: Michael.Davis@servicecanada.gc.ca
Subject: RE: [Axis2] How do I deploy my webservice in a separate war
file other than axis2.war?



Hi Michael,

 

      Your solution kind of worked partially, but deployment failed.  I
received the following exception.  Please let me know if you know the
solution. For this

 

java.lang.ExceptionInInitializerError

      at org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:555)

      at
org.apache.axis2.deployment.DescriptionBuilder.buildOM(DescriptionBuilde
r.java:93)

      at
org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigB
uilder.java:76)

      at
org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(D
eploymentEngine.java:640)

      at
org.apache.axis2.deployment.WarBasedAxisConfigurator.<init>(WarBasedAxis
Configurator.java:136)

      at
org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServle
t.java:486)

      at
org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:406)

      at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.jav
a:1091)

      at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:925)

      at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.j
ava:3880)

      at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4141
)

      at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.ja
va:759)

      at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)

      at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)

      at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:804)

      at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:693)

      at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472)

      at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1118)

      at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:31
0)

      at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSu
pport.java:119)

      at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)

      at
org.apache.catalina.core.StandardHost.start(StandardHost.java:718)

      at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)

      at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)

      at
org.apache.catalina.core.StandardService.start(StandardService.java:450)

      at
org.apache.catalina.core.StandardServer.start(StandardServer.java:680)

      at org.apache.catalina.startup.Catalina.start(Catalina.java:536)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

      at java.lang.reflect.Method.invoke(Unknown Source)

      at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275)

      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

Caused by: java.lang.IllegalStateException: No valid ObjectCreator
found.

      at
org.apache.axiom.om.util.StAXUtils$Pool.<init>(StAXUtils.java:44)

      at org.apache.axiom.om.util.StAXUtils.<clinit>(StAXUtils.java:68)

      ... 33 more

 

Thanks

Raghu

 

-----Original Message-----
From: Michael.Davis@servicecanada.gc.ca
[mailto:Michael.Davis@servicecanada.gc.ca] 
Sent: Thursday, May 17, 2007 12:35 PM
To: axis-user@ws.apache.org
Subject: RE: [Axis2] How do I deploy my webservice in a separate war
file other than axis2.war?

 

Hi,

 

I've got a similar setup working. One trick is this: your aar file
should only have services.xml, no class or library files. The service
class (or classes) should be in WEB-INF/classes. The contents of my aar
are just:

 

META-INF/

META-INF/MANIFEST.MF

lib/

META-INF/Authenticate.wsdl

META-INF/services.xml

 

I've attached a dump of the contents of my war file so you can see how I
put it together. I've also got a webwork application bundled up with it
(an admin application to maintain a database), and it's using Spring and
Hibernate (both for the web app and the web service), and so far it's
working.

 

Good luck,

Michael

 

> -----Original Message-----

> From: Raghu Upadhyayula [mailto:rupadhyayula@responsys.com]

> Sent: Thursday, May 17, 2007 3:11 PM

> To: axis-user@ws.apache.org

> Subject: [Axis2] How do I deploy my webservice in a separate war file

> other than axis2.war?

> 

> 

> Hi,

> 

>     I've used Axis2 and developed a web service which depends on

> some other classes that are outside my webservice project & at the

> startup of my webservice I want to instantiate some spring beans using

> the spring context xml files.

>     

>     And I don't want to deploy my webservice inside axis2.war (by

> putting the aar file under the services directory).  I want to have my

> own application war file in which I can run my webservice.

>     

>     I've created a aar file with my webservices classes & also a war

> file with my other classes(developed my some other group) 

> that are used

> in the webservices.

>     

>     Here is the structure of my webservces.war file.

> *************************************************

> webservices.war

> - META-INF

>     - MANIFEST.MF

> - WEB-INF

>     - classes

>         Contains the spring context xml files & the class files 

>       which I use in my webservices.

>     - conf

>         xxis2.xml

>     - lib

>         Contains all the required libraries (axis2 related 

> jars & jars 

>       used by my other classes)

>     - modules

>         modules.list

>         addressing-1.2.mar

>         soapmonitor-1.2.mar

>     - services

>         MyService.aar

>     - web.xml

> *************************************************

>     I'm getting errors when I deploy this war file.  Am I doing

> anything wrong?  Is there anything I need to do extra?

>     

>     Note: The services.xml file in the MyServices.aar is the one

> which is generated by WSDL2Java tool, I didn't modify it.

>     

>     Please let me know if you need more info.  Thanks in advance.

> 

> Thanks

> Raghu

> 

> ---------------------------------------------------------------------

> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org

> For additional commands, e-mail: axis-user-help@ws.apache.org

> 

> 


RE: [Axis2] How do I deploy my webservice in a separate war file other than axis2.war?

Posted by Raghu Upadhyayula <ru...@responsys.com>.
Hi Michael,

 

      Your solution kind of worked partially, but deployment failed.  I
received the following exception.  Please let me know if you know the
solution. For this

 

java.lang.ExceptionInInitializerError

      at org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:555)

      at
org.apache.axis2.deployment.DescriptionBuilder.buildOM(DescriptionBuilde
r.java:93)

      at
org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigB
uilder.java:76)

      at
org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(D
eploymentEngine.java:640)

      at
org.apache.axis2.deployment.WarBasedAxisConfigurator.<init>(WarBasedAxis
Configurator.java:136)

      at
org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServle
t.java:486)

      at
org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:406)

      at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.jav
a:1091)

      at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:925)

      at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.j
ava:3880)

      at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4141
)

      at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.ja
va:759)

      at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)

      at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)

      at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:804)

      at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:693)

      at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472)

      at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1118)

      at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:31
0)

      at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSu
pport.java:119)

      at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)

      at
org.apache.catalina.core.StandardHost.start(StandardHost.java:718)

      at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)

      at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)

      at
org.apache.catalina.core.StandardService.start(StandardService.java:450)

      at
org.apache.catalina.core.StandardServer.start(StandardServer.java:680)

      at org.apache.catalina.startup.Catalina.start(Catalina.java:536)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

      at java.lang.reflect.Method.invoke(Unknown Source)

      at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275)

      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

Caused by: java.lang.IllegalStateException: No valid ObjectCreator
found.

      at
org.apache.axiom.om.util.StAXUtils$Pool.<init>(StAXUtils.java:44)

      at org.apache.axiom.om.util.StAXUtils.<clinit>(StAXUtils.java:68)

      ... 33 more

 

Thanks

Raghu

 

-----Original Message-----
From: Michael.Davis@servicecanada.gc.ca
[mailto:Michael.Davis@servicecanada.gc.ca] 
Sent: Thursday, May 17, 2007 12:35 PM
To: axis-user@ws.apache.org
Subject: RE: [Axis2] How do I deploy my webservice in a separate war
file other than axis2.war?

 

Hi,

 

I've got a similar setup working. One trick is this: your aar file
should only have services.xml, no class or library files. The service
class (or classes) should be in WEB-INF/classes. The contents of my aar
are just:

 

META-INF/

META-INF/MANIFEST.MF

lib/

META-INF/Authenticate.wsdl

META-INF/services.xml

 

I've attached a dump of the contents of my war file so you can see how I
put it together. I've also got a webwork application bundled up with it
(an admin application to maintain a database), and it's using Spring and
Hibernate (both for the web app and the web service), and so far it's
working.

 

Good luck,

Michael

 

> -----Original Message-----

> From: Raghu Upadhyayula [mailto:rupadhyayula@responsys.com]

> Sent: Thursday, May 17, 2007 3:11 PM

> To: axis-user@ws.apache.org

> Subject: [Axis2] How do I deploy my webservice in a separate war file

> other than axis2.war?

> 

> 

> Hi,

> 

>     I've used Axis2 and developed a web service which depends on

> some other classes that are outside my webservice project & at the

> startup of my webservice I want to instantiate some spring beans using

> the spring context xml files.

>     

>     And I don't want to deploy my webservice inside axis2.war (by

> putting the aar file under the services directory).  I want to have my

> own application war file in which I can run my webservice.

>     

>     I've created a aar file with my webservices classes & also a war

> file with my other classes(developed my some other group) 

> that are used

> in the webservices.

>     

>     Here is the structure of my webservces.war file.

> *************************************************

> webservices.war

> - META-INF

>     - MANIFEST.MF

> - WEB-INF

>     - classes

>         Contains the spring context xml files & the class files 

>       which I use in my webservices.

>     - conf

>         xxis2.xml

>     - lib

>         Contains all the required libraries (axis2 related 

> jars & jars 

>       used by my other classes)

>     - modules

>         modules.list

>         addressing-1.2.mar

>         soapmonitor-1.2.mar

>     - services

>         MyService.aar

>     - web.xml

> *************************************************

>     I'm getting errors when I deploy this war file.  Am I doing

> anything wrong?  Is there anything I need to do extra?

>     

>     Note: The services.xml file in the MyServices.aar is the one

> which is generated by WSDL2Java tool, I didn't modify it.

>     

>     Please let me know if you need more info.  Thanks in advance.

> 

> Thanks

> Raghu

> 

> ---------------------------------------------------------------------

> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org

> For additional commands, e-mail: axis-user-help@ws.apache.org

> 

>