Error installing war file as an OSGI bundle in Servicemix 4.2
harbeer May 4, 2010 8:35 AMHi,
I want to install a war file inside my Servicemix 4.2
I referred following link telling steps to install a war file
Link: http://cmoulliard.blogspot.com/2009/03/servicemix-4-as-web-application-server.html
I have attached the war file with this message.
I checked the features installed in my servicemix.
uninstalled http://1.4.0-fuse-01-00 war karaf-
1.4.0-fuse-01-00
installed http://4.2.0-fuse-01-00 web-core repo-0
installed http://4.2.0-fuse-01-00 web repo-0
In some other message I found that the war feature should also be installed.
When i tried to install the war bundle, I got following error
karaf@root> features:install war
Could not start bundle mvn:org.ops4j.pax.web/pax-web-extender-whiteboard/0.7.2 in feature(s) war-1.4.0-fuse-01-00: Exception in org.ops4j.pax.web.extender.whiteboard.internal.Activator.start() of bundle org.ops4j.pax.web.pax-web-extender-whiteboard.
This exception is already listed by a user in following thread URL
Link: https://fusesource.com/forums/thread.jspa?threadID=1648&tstart=136
but also comments that war can be deployed without war feature installed.
I added file named org.ops4j.pax.web.cfg with following configuration
org.osgi.service.http.port=8083
org.ops4j.pax.web.session.timeout=10
org.ops4j.pax.web.listening.addresses=localhost
I installed the war file using following command
osgi:install war:file:///D:/harbeer/Miscellaneous/service-persons.war>Webapp-Context=Person
The bundle got installed successfully
I started the bundle by giving command
osgi:start {Bundle Id}
I got following exception in the logs
17:40:22,263 | ERROR | l Console Thread | RegisterWebAppVisitorWC | internal.RegisterWebAppVisitorWC 271 | Registration exception. Skipping.
java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServletContextListener
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:494)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
:
:
:
17:40:22,263 | ERROR | l Console Thread | RegisterWebAppVisitorWC | internal.RegisterWebAppVisitorWC 201 | Registration exception. Skipping.
java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServlet
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:494)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
I checked the bundles installed for OPS4J using following command
karaf@root> osgi:list | grep OPS4J
1 Active 5 OPS4J Pax Url - mvn: (1.1.
2)
2 Active 5 OPS4J Pax Url - wrap: (1.1
.2)
3 Active 8 OPS4J Pax Logging - API (1
.4)
4 Active 8 OPS4J Pax Logging - Servic
e (1.4)
102 Active 60 OPS4J Pax Web - API (0.7.2
)
103 Active 60 OPS4J Pax Web - Service SP
I (0.7.2)
104 Active 60 OPS4J Pax Web - Runtime (0
.7.2)
105 Active 60 OPS4J Pax Web - Jetty (0.7
.2)
137 Active 60 OPS4J Pax Web Extender - W
hiteboard (0.5.0)
242 Active 60 OPS4J Pax Web - Jsp Suppor
t (0.7.2)
243 Active 60 OPS4J Pax Web Extender - W
AR (0.5.0)
244 Active 60 OPS4J Pax Url - war:, war-
i: (1.1.2)
I checked the headers exposed by my bundle using following command
karaf@root> osgi:headers 246
file____D__harbeer_Miscellaneous_service-persons.war (246)
-
Manifest-Version = 1.0
Webapp-Context = Person
Bundle-ClassPath = .,WEB-INF/classes
Class-Path =
Tool = Bnd-0.0.313
Bundle-Name = file____D__harbeer_Miscellaneous_service-persons.war
Created-By = 1.6.0_16 (Sun Microsystems Inc.)
WAR-URL = file:///D:/harbeer/Miscellaneous/service-persons.war
Generated-By-Ops4j-Pax-From = file:///D:/harbeer/Miscellaneous/service-persons.w
ar
Bundle-Version = 0
Bnd-LastModified = 1272971497593
Bundle-ManifestVersion = 2
Bundle-SymbolicName = file____D__harbeer_Miscellaneous_service-persons.war
Import-Package = javax.jws;resolution:=optional,javax.xml.bind.annotation;resolu
tion:=optional
I checked the services used by the bundle using following command
karaf@root> osgi:ls -u 246
file____D__harbeer_Miscellaneous_service-persons.war (246) uses:
-
org.ops4j.pax.web.ssl.keystore = C:\Documents and Settings\harbeer\.keystore
org.osgi.service.http.port.secure = 8443
org.ops4j.pax.web.listening.addresses = localhost
org.osgi.service.http.port = 8083
org.ops4j.pax.web.ssl.clientauthneeded = false
felix.fileinstall.filename = org.ops4j.pax.web.cfg
org.osgi.service.http.useNIO = true
org.osgi.service.http.enabled = true
org.ops4j.pax.web.ssl.clientauthwanted = false
org.osgi.service.http.secure.enabled = true
service.pid = org.ops4j.pax.web
javax.servlet.context.tempdir = C:\Documents and Settings\harbeer\Local Settings
\Temp\.paxweb4060358301997900816
org.ops4j.pax.web.session.timeout = 10
objectClass = org.osgi.service.http.HttpService, org.ops4j.pax.web.service.WebCo
ntainer
service.id = 186
Please tell me where I am going wrong.
With Regards
Harbeer Kadian
-
service-persons.war 14.3 KB