users@jersey.java.net

Re: [Jersey] Deploying WAR on weblogic.... WADL Config issue?

From: Martin Grotzke <martin.grotzke_at_freiheit.com>
Date: Tue, 12 May 2009 09:30:56 +0200

Hi Mark,

can you try using the stream properties?

E.g.

  generator( WadlGeneratorApplicationDoc.class )
    .prop( "applicationDocsStream", "application-doc.xml" )
  .generator( WadlGeneratorGrammarsSupport.class )
    .prop( "grammarsStream", "application-grammars.xml" )
  .generator( WadlGeneratorResourceDocSupport.class )
    .prop( "resourceDocStream", "resourcedoc.xml" )
  .descriptions();

This is more aproppriate in a jee environment.

Btw, I also updated the wiki with this:
http://wikis.sun.com/display/Jersey/HowToConfigureExtendedWADL

Cheers,
Martin



On Mon, 2009-05-11 at 12:06 -0500, Rabick, Mark A (IS) wrote:
> I've been working in Eclipse 3.4 and have been deploying my jersey app
> to a server using the embedded weblogic server tools. I generated a
> WAR file by using the Export -> Java -> War menu option in eclipse and
> the exported war file application does not deploy, whereas the eclipse
> "Run on Server" works. I'm getting an exception when the app deploys:
>
> It appears to be in the WADL generation. Here is my
> CnodbRestWadlGeneratorConfig.java
>
> /**
> * This class is used to define extensions to the default WADL
> generator
> * by defining properties in a wadl generation configuration
> class.
> * The following wadl enhancements are incorporated:
> * <ul>
> * <li>An introductory paragraph for the application using a
> {_at_link WadlGeneratorApplicationDoc}
> * generator with a reference to the
> <i>application-doc.xml</i> file.</li>
> * <li>An XSD schema from a {_at_link
> WadlGeneratorGrammarsSupport} generator stored in the file
> * <i>application-grammars.xml</i> file.</li>
> * <li>Incorporate javadoc elements in a generated
> <i>resourcedoc.xml</i> file
> * using a {_at_link WadlGeneratorResourceDocSuport}
> generator. The file must
> * be generated before packaging the application.
> The file is generated using
> * javadoc defined in the build file.
> * </ul>
> */
> public class CnodbRestWadlGeneratorConfig extends
> WadlGeneratorConfig {
>
> @Override
> public List<WadlGeneratorDescription> configure() {
>
> return
> super.generator( WadlGeneratorApplicationDoc.class )
> .prop( "applicationDocsFile",
> "classpath:/application-doc.xml" )
>
> .generator( WadlGeneratorGrammarsSupport.class )
> .prop( "grammarsFile",
> "classpath:/application-grammars.xml" )
>
> .generator( WadlGeneratorResourceDocSupport.class )
> .prop( "resourceDocFile",
> "classpath:/resourcedoc.xml" )
> .descriptions();
>
> }
>
> }
>
>
> The exception is below:
>
> <May 11, 2009 11:09:25 AM CDT> <Warning> <Deployer> <BEA-149078>
> <Stack trace for message 149004
> weblogic.application.ModuleException: [HTTP:101216]Servlet: "CNODB Web
> Application" failed to preload on startup in Web application:
> "cdal-web-service
>
> java.lang.RuntimeException: Could not load WadlGeneratorConfiguration,
> check the configuration of
> com.sun.jersey.config.property.WadlGeneratorConfig
>
> at
> com.sun.jersey.api.wadl.config.WadlGeneratorConfigLoader.loadWadlGeneratorsFromConfig(WadlGeneratorConfigLoader.java:100)
>
> at
> com.sun.jersey.server.impl.wadl.WadlFactory.<init>(WadlFactory.java:73)
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:587)
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:383)
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:377)
> at com.sun.jersey.spi.container.servlet.ServletContainer
> $InternalWebComponent.initiate(ServletContainer.java:242)
>
> at
> com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:449)
> at
> com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:169)
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:281)
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:442)
> at javax.servlet.GenericServlet.init(GenericServlet.java:241)
> at weblogic.servlet.internal.StubSecurityHelper
> $ServletInitAction.run(StubSecurityHelper.java:282)
> at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
> at weblogic.security.service.SecurityManager.runAs(Unknown
> Source)
> at
> weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:63)
> at
> weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
> at
> weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
> at
> weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:507)
> at
> weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1853)
> at
> weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1830)
> at
> weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1750)
> at
> weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2909)
> at
> weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:973)
> at
> weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:361)
> at weblogic.application.internal.flow.ModuleStateDriver
> $3.next(ModuleStateDriver.java:204)
> at
> weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
> at
> weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
> at
> weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
> at
> weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)
> at weblogic.application.internal.flow.ModuleStateDriver
> $3.next(ModuleStateDriver.java:204)
> at
> weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
> at
> weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
> at
> weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:26)
> at weblogic.application.internal.BaseDeployment
> $2.next(BaseDeployment.java:635)
> at
> weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
> at
> weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
> at
> weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)
> at
> weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
> at
> weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:566)
> at
> weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:136)
>
> at
> weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:104)
> at
> weblogic.deploy.internal.targetserver.operations.StartOperation.doCommit(StartOperation.java:139)
> at
> weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:320)
> at
> weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:816)
> at
> weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1223)
> at
> weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:434)
> at
> weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:161)
>
> at
> weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java
>
> at
> weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12)
>
> at
> weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67)
>
> at weblogic.work.SelfTuningWorkManagerImpl
> $WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464)
> at
> weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
> at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
> Caused by: java.lang.RuntimeException: Could not load wadl generators
> from wadlGeneratorDescriptions.
> at
> com.sun.jersey.api.wadl.config.WadlGeneratorConfig.getWadlGenerator(WadlGeneratorConfig.java:155)
> at
> com.sun.jersey.api.wadl.config.WadlGeneratorConfigLoader.loadWadlGeneratorsFromConfig(WadlGeneratorConfigLoader.java:97)
>
> ... 52 more
> Caused by: java.lang.IllegalArgumentException: URI is not
> hierarchical
> at java.io.File.<init>(File.java:335)
> at
> com.sun.jersey.api.wadl.config.WadlGeneratorLoader.setProperty(WadlGeneratorLoader.java:176)
> at
> com.sun.jersey.api.wadl.config.WadlGeneratorLoader.loadWadlGenerator(WadlGeneratorLoader.java:135)
> at
> com.sun.jersey.api.wadl.config.WadlGeneratorLoader.loadWadlGeneratorDescriptions(WadlGeneratorLoader.java:110)
>
> at
> com.sun.jersey.api.wadl.config.WadlGeneratorConfig.getWadlGenerator(WadlGeneratorConfig.java:153)
> ... 53 more
>
> at
> weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:975)
> at
> weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:361)
> at weblogic.application.internal.flow.ModuleStateDriver
> $3.next(ModuleStateDriver.java:204)
> at
> weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
> at
> weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
> Truncated. see log file for complete stacktrace
> java.lang.IllegalArgumentException: URI is not hierarchical
> at java.io.File.<init>(File.java:335)
> at
> com.sun.jersey.api.wadl.config.WadlGeneratorLoader.setProperty(WadlGeneratorLoader.java:176)
> at
> com.sun.jersey.api.wadl.config.WadlGeneratorLoader.loadWadlGenerator(WadlGeneratorLoader.java:135)
> at
> com.sun.jersey.api.wadl.config.WadlGeneratorLoader.loadWadlGeneratorDescriptions(WadlGeneratorLoader.java:110)
>
> at
> com.sun.jersey.api.wadl.config.WadlGeneratorConfig.getWadlGenerator(WadlGeneratorConfig.java:153)
> Truncated. see log file for complete stacktrace
> >
>
> _______________________________________________
> Mark A. Rabick
> Software Engineer
> Northrop Grumman - Integrated Mission Systems (IS/DSD/IMS)
> 3200 Samson Way
> Bellevue, NE 68123
> Ph: (402) 293-7091
> Em: mark.rabick_at_ngc.com
> Remember PFC Ross A. McGinnis...
> http://www.army.mil/medalofhonor/McGinnis/index.html
> ... MA2 Michael A. Monsoor, Lt. Michael P. Murphy, Cpl. Jason Dunham,
> SFC Paul Ray Smith and the rest...
> http://www.cmohs.org/recipients/most_recent.htm
>
>
>
>
> _______________________________________________
> Mark A. Rabick
> Software Engineer
> Northrop Grumman - Integrated Mission Systems (IS/DSD/IMS)
> 3200 Samson Way
> Bellevue, NE 68123
> Ph: (402) 293-7091
> Em: mark.rabick_at_ngc.com
> Remember PFC Ross A. McGinnis...
> http://www.army.mil/medalofhonor/McGinnis/index.html
> ... MA2 Michael A. Monsoor, Lt. Michael P. Murphy, Cpl. Jason Dunham,
> SFC Paul Ray Smith and the rest...
> http://www.cmohs.org/recipients/most_recent.htm
>

-- 
Martin Grotzke
http://www.javakaffee.de/blog/