null

OpenAM + GlassFish 3 + FreeBSD = 0_o

Удивительные задачи иногда приходится решать в процессе модернизации корпоративных информационных систем. В продолжение темы про увлекательный процесс развёртывания нашего нового окружения на базе Glassfish 3, в этой заметке я расскажу о внезапных проблемах, которые возникли при развёртывании на нём OpenAM (ex-OpenSSO) и о безумном шаманстве, с помощью которого нам удалось их преодолеть.

Постановка задачи

Итак, сама задача проста до неприличия. Централизованный доступ к приложениям в нашем интранете мы реализуем с помощью OpenSSO. Сейчас мы используем OpenSSO 8, он развёрнут на сервере приложений Glassfish 2 и вполне себе успешно работает уже несколько лет. В процессе миграции на новую версию глассфиша возникла достаточно логичная идея попутно проапгрейдиться и до актуальной версии OpenSSO (который успел перестать быть продуктом Sun / Oracle и переименоваться в OpenAM). Несмотря на кажущуюся простоту, решение задачи оказалось далеко не таким очевидным, каким казалось в начале.

OpenAM и Glassfish 3

Попытка установки OpenAM на Glassfish 3.1.2 сходу потерпела фиаско - приложение радостно упало уже на стадии развёртывания (осторожно, страшный стектрейс!):

	[#|2012-03-27T02:11:35.721+0400|WARNING|glassfish3.1.2|com.sun.xml.ws.wspolicy.com.sun.xml.ws.api.policy.ModelTranslator|_ThreadID=36;_ThreadName=Thread-2;|WSM1007: Failed to create a ModelTranslator instance.
com.sun.xml.ws.policy.PolicyException: [failed to localize] WSP_0071_ERROR_MULTIPLE_ASSERTION_CREATORS_FOR_NAMESPACE(http://schemas.xmlsoap.org/ws/2004/08/addressing, com.sun.xml.ws.security.addressing.impl.policy.AddressingPolicyAssertionCreator, com.sun.xml.ws.addressing.impl.policy.AddressingPolicyAssertionCreator)
	at com.sun.xml.ws.policy.sourcemodel.PolicyModelTranslator.<init>(PolicyModelTranslator.java:188)
	at com.sun.xml.ws.api.policy.ModelTranslator.<init>(ModelTranslator.java:85)
	at com.sun.xml.ws.api.policy.ModelTranslator.<clinit>(ModelTranslator.java:74)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.getPolicies(BuilderHandler.java:102)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.getPolicySubjects(BuilderHandler.java:110)
	at com.sun.xml.ws.policy.jaxws.BuilderHandlerEndpointScope.doPopulate(BuilderHandlerEndpointScope.java:72)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.populate(BuilderHandler.java:82)
	at com.sun.xml.ws.policy.jaxws.PolicyMapBuilder.getNewPolicyMap(PolicyMapBuilder.java:109)
	at com.sun.xml.ws.policy.jaxws.PolicyMapBuilder.getPolicyMap(PolicyMapBuilder.java:91)
	at com.sun.xml.ws.policy.jaxws.PolicyWSDLParserExtension.postFinished(PolicyWSDLParserExtension.java:962)
	at com.sun.xml.ws.wsdl.parser.DelegatingParserExtension.postFinished(DelegatingParserExtension.java:191)
	at com.sun.xml.ws.wsdl.parser.WSDLParserExtensionFacade.postFinished(WSDLParserExtensionFacade.java:338)
	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:337)
	at com.sun.xml.ws.server.EndpointFactory.getWSDLPort(EndpointFactory.java:641)
	at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:239)
	at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:145)
	at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:569)
	at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:552)
	at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:261)
	at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:153)
	at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:131)
	at com.sun.xml.ws.transport.http.servlet.WSServletContainerInitializer.onStartup(WSServletContainerInitializer.java:65)
	at org.apache.catalina.core.StandardContext.callServletContainerInitializers(StandardContext.java:5467)
	at com.sun.enterprise.web.WebModule.callServletContainerInitializers(WebModule.java:581)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:5363)
	at com.sun.enterprise.web.WebModule.start(WebModule.java:498)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733)
	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2018)
	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669)
	at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109)
	at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
	at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
	at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
	at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:353)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
	at org.glassfish.deployment.autodeploy.AutoOperation.run(AutoOperation.java:145)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deploy(AutoDeployer.java:575)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deployAll(AutoDeployer.java:461)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:389)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:380)
	at org.glassfish.deployment.autodeploy.AutoDeployService$1.run(AutoDeployService.java:220)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)
|#]

[#|2012-03-27T02:11:35.723+0400|SEVERE|glassfish3.1.2|com.sun.xml.ws.wspolicy.com.sun.xml.ws.api.policy.ModelTranslator|_ThreadID=36;_ThreadName=Thread-2;|[failed to localize] WSP_0071_ERROR_MULTIPLE_ASSERTION_CREATORS_FOR_NAMESPACE(http://schemas.xmlsoap.org/ws/2004/08/addressing, com.sun.xml.ws.security.addressing.impl.policy.AddressingPolicyAssertionCreator, com.sun.xml.ws.addressing.impl.policy.AddressingPolicyAssertionCreator)|#]

[#|2012-03-27T02:11:35.729+0400|SEVERE|glassfish3.1.2|com.sun.xml.ws.wspolicy.jaxws.PolicyWSDLParserExtension|_ThreadID=36;_ThreadName=Thread-2;|[failed to localize] WSP_0071_ERROR_MULTIPLE_ASSERTION_CREATORS_FOR_NAMESPACE(http://schemas.xmlsoap.org/ws/2004/08/addressing, com.sun.xml.ws.security.addressing.impl.policy.AddressingPolicyAssertionCreator, com.sun.xml.ws.addressing.impl.policy.AddressingPolicyAssertionCreator)|#]

[#|2012-03-27T02:11:35.732+0400|SEVERE|glassfish3.1.2|com.sun.xml.ws.wspolicy.jaxws.PolicyWSDLParserExtension|_ThreadID=36;_ThreadName=Thread-2;|WSP1007: Policy exception occurred when finishing WSDL parsing.
com.sun.xml.ws.policy.PolicyException: [failed to localize] WSP_0071_ERROR_MULTIPLE_ASSERTION_CREATORS_FOR_NAMESPACE(http://schemas.xmlsoap.org/ws/2004/08/addressing, com.sun.xml.ws.security.addressing.impl.policy.AddressingPolicyAssertionCreator, com.sun.xml.ws.addressing.impl.policy.AddressingPolicyAssertionCreator)
	at com.sun.xml.ws.policy.sourcemodel.PolicyModelTranslator.<init>(PolicyModelTranslator.java:188)
	at com.sun.xml.ws.api.policy.ModelTranslator.<init>(ModelTranslator.java:85)
	at com.sun.xml.ws.api.policy.ModelTranslator.<clinit>(ModelTranslator.java:74)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.getPolicies(BuilderHandler.java:102)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.getPolicySubjects(BuilderHandler.java:110)
	at com.sun.xml.ws.policy.jaxws.BuilderHandlerEndpointScope.doPopulate(BuilderHandlerEndpointScope.java:72)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.populate(BuilderHandler.java:82)
	at com.sun.xml.ws.policy.jaxws.PolicyMapBuilder.getNewPolicyMap(PolicyMapBuilder.java:109)
	at com.sun.xml.ws.policy.jaxws.PolicyMapBuilder.getPolicyMap(PolicyMapBuilder.java:91)
	at com.sun.xml.ws.policy.jaxws.PolicyWSDLParserExtension.postFinished(PolicyWSDLParserExtension.java:962)
	at com.sun.xml.ws.wsdl.parser.DelegatingParserExtension.postFinished(DelegatingParserExtension.java:191)
	at com.sun.xml.ws.wsdl.parser.WSDLParserExtensionFacade.postFinished(WSDLParserExtensionFacade.java:338)
	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:337)
	at com.sun.xml.ws.server.EndpointFactory.getWSDLPort(EndpointFactory.java:641)
	at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:239)
	at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:145)
	at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:569)
	at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:552)
	at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:261)
	at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:153)
	at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:131)
	at com.sun.xml.ws.transport.http.servlet.WSServletContainerInitializer.onStartup(WSServletContainerInitializer.java:65)
	at org.apache.catalina.core.StandardContext.callServletContainerInitializers(StandardContext.java:5467)
	at com.sun.enterprise.web.WebModule.callServletContainerInitializers(WebModule.java:581)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:5363)
	at com.sun.enterprise.web.WebModule.start(WebModule.java:498)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733)
	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2018)
	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669)
	at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109)
	at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
	at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
	at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
	at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:353)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
	at org.glassfish.deployment.autodeploy.AutoOperation.run(AutoOperation.java:145)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deploy(AutoDeployer.java:575)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deployAll(AutoDeployer.java:461)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:389)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:380)
	at org.glassfish.deployment.autodeploy.AutoDeployService$1.run(AutoDeployService.java:220)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)
|#]

[#|2012-03-27T02:11:35.740+0400|SEVERE|glassfish3.1.2|com.sun.xml.ws.server.http|_ThreadID=36;_ThreadName=Thread-2;|WSSERVLET11: failed to parse runtime descriptor: javax.xml.ws.WebServiceException: WSP1007: Policy exception occurred when finishing WSDL parsing.
javax.xml.ws.WebServiceException: WSP1007: Policy exception occurred when finishing WSDL parsing.
	at com.sun.xml.ws.policy.jaxws.PolicyWSDLParserExtension.postFinished(PolicyWSDLParserExtension.java:966)
	at com.sun.xml.ws.wsdl.parser.DelegatingParserExtension.postFinished(DelegatingParserExtension.java:191)
	at com.sun.xml.ws.wsdl.parser.WSDLParserExtensionFacade.postFinished(WSDLParserExtensionFacade.java:338)
	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:337)
	at com.sun.xml.ws.server.EndpointFactory.getWSDLPort(EndpointFactory.java:641)
	at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:239)
	at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:145)
	at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:569)
	at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:552)
	at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:261)
	at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:153)
	at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:131)
	at com.sun.xml.ws.transport.http.servlet.WSServletContainerInitializer.onStartup(WSServletContainerInitializer.java:65)
	at org.apache.catalina.core.StandardContext.callServletContainerInitializers(StandardContext.java:5467)
	at com.sun.enterprise.web.WebModule.callServletContainerInitializers(WebModule.java:581)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:5363)
	at com.sun.enterprise.web.WebModule.start(WebModule.java:498)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733)
	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2018)
	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669)
	at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109)
	at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
	at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
	at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
	at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:353)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
	at org.glassfish.deployment.autodeploy.AutoOperation.run(AutoOperation.java:145)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deploy(AutoDeployer.java:575)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deployAll(AutoDeployer.java:461)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:389)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:380)
	at org.glassfish.deployment.autodeploy.AutoDeployService$1.run(AutoDeployService.java:220)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)
Caused by: com.sun.xml.ws.policy.PolicyException: [failed to localize] WSP_0071_ERROR_MULTIPLE_ASSERTION_CREATORS_FOR_NAMESPACE(http://schemas.xmlsoap.org/ws/2004/08/addressing, com.sun.xml.ws.security.addressing.impl.policy.AddressingPolicyAssertionCreator, com.sun.xml.ws.addressing.impl.policy.AddressingPolicyAssertionCreator)
	at com.sun.xml.ws.policy.sourcemodel.PolicyModelTranslator.<init>(PolicyModelTranslator.java:188)
	at com.sun.xml.ws.api.policy.ModelTranslator.<init>(ModelTranslator.java:85)
	at com.sun.xml.ws.api.policy.ModelTranslator.<clinit>(ModelTranslator.java:74)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.getPolicies(BuilderHandler.java:102)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.getPolicySubjects(BuilderHandler.java:110)
	at com.sun.xml.ws.policy.jaxws.BuilderHandlerEndpointScope.doPopulate(BuilderHandlerEndpointScope.java:72)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.populate(BuilderHandler.java:82)
	at com.sun.xml.ws.policy.jaxws.PolicyMapBuilder.getNewPolicyMap(PolicyMapBuilder.java:109)
	at com.sun.xml.ws.policy.jaxws.PolicyMapBuilder.getPolicyMap(PolicyMapBuilder.java:91)
	at com.sun.xml.ws.policy.jaxws.PolicyWSDLParserExtension.postFinished(PolicyWSDLParserExtension.java:962)
	... 41 more
|#]

[#|2012-03-27T02:11:35.742+0400|SEVERE|glassfish3.1.2|org.apache.catalina.core.StandardContext|_ThreadID=36;_ThreadName=Thread-2;|PWC1420: Error invoking ServletContainerInitializer com.sun.xml.ws.transport.http.servlet.WSServletContainerInitializer
javax.servlet.ServletException: com.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to parse runtime descriptor: javax.xml.ws.WebServiceException: WSP1007: Policy exception occurred when finishing WSDL parsing.
	at com.sun.xml.ws.transport.http.servlet.WSServletContainerInitializer.onStartup(WSServletContainerInitializer.java:70)
	at org.apache.catalina.core.StandardContext.callServletContainerInitializers(StandardContext.java:5467)
	at com.sun.enterprise.web.WebModule.callServletContainerInitializers(WebModule.java:581)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:5363)
	at com.sun.enterprise.web.WebModule.start(WebModule.java:498)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733)
	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2018)
	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669)
	at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109)
	at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
	at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
	at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
	at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:353)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
	at org.glassfish.deployment.autodeploy.AutoOperation.run(AutoOperation.java:145)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deploy(AutoDeployer.java:575)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deployAll(AutoDeployer.java:461)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:389)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:380)
	at org.glassfish.deployment.autodeploy.AutoDeployService$1.run(AutoDeployService.java:220)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)
Caused by: com.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to parse runtime descriptor: javax.xml.ws.WebServiceException: WSP1007: Policy exception occurred when finishing WSDL parsing.
	at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:141)
	at com.sun.xml.ws.transport.http.servlet.WSServletContainerInitializer.onStartup(WSServletContainerInitializer.java:65)
	... 29 more
Caused by: javax.xml.ws.WebServiceException: WSP1007: Policy exception occurred when finishing WSDL parsing.
	at com.sun.xml.ws.policy.jaxws.PolicyWSDLParserExtension.postFinished(PolicyWSDLParserExtension.java:966)
	at com.sun.xml.ws.wsdl.parser.DelegatingParserExtension.postFinished(DelegatingParserExtension.java:191)
	at com.sun.xml.ws.wsdl.parser.WSDLParserExtensionFacade.postFinished(WSDLParserExtensionFacade.java:338)
	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:337)
	at com.sun.xml.ws.server.EndpointFactory.getWSDLPort(EndpointFactory.java:641)
	at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:239)
	at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:145)
	at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:569)
	at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:552)
	at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:261)
	at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:153)
	at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:131)
	... 30 more
Caused by: com.sun.xml.ws.policy.PolicyException: [failed to localize] WSP_0071_ERROR_MULTIPLE_ASSERTION_CREATORS_FOR_NAMESPACE(http://schemas.xmlsoap.org/ws/2004/08/addressing, com.sun.xml.ws.security.addressing.impl.policy.AddressingPolicyAssertionCreator, com.sun.xml.ws.addressing.impl.policy.AddressingPolicyAssertionCreator)
	at com.sun.xml.ws.policy.sourcemodel.PolicyModelTranslator.<init>(PolicyModelTranslator.java:188)
	at com.sun.xml.ws.api.policy.ModelTranslator.<init>(ModelTranslator.java:85)
	at com.sun.xml.ws.api.policy.ModelTranslator.<clinit>(ModelTranslator.java:74)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.getPolicies(BuilderHandler.java:102)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.getPolicySubjects(BuilderHandler.java:110)
	at com.sun.xml.ws.policy.jaxws.BuilderHandlerEndpointScope.doPopulate(BuilderHandlerEndpointScope.java:72)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.populate(BuilderHandler.java:82)
	at com.sun.xml.ws.policy.jaxws.PolicyMapBuilder.getNewPolicyMap(PolicyMapBuilder.java:109)
	at com.sun.xml.ws.policy.jaxws.PolicyMapBuilder.getPolicyMap(PolicyMapBuilder.java:91)
	at com.sun.xml.ws.policy.jaxws.PolicyWSDLParserExtension.postFinished(PolicyWSDLParserExtension.java:962)
	... 41 more
|#]

[#|2012-03-27T02:11:35.745+0400|SEVERE|glassfish3.1.2|org.apache.catalina.core.StandardContext|_ThreadID=36;_ThreadName=Thread-2;|PWC1306: Startup of context /openam_10.0.0-EA failed due to previous errors|#]

[#|2012-03-27T02:11:35.749+0400|SEVERE|glassfish3.1.2|org.apache.catalina.core.StandardContext|_ThreadID=36;_ThreadName=Thread-2;|PWC1305: Exception during cleanup after start failed
org.apache.catalina.LifecycleException: PWC2769: Manager has not yet been started
	at org.apache.catalina.session.StandardManager.stop(StandardManager.java:873)
	at org.apache.catalina.core.StandardContext.stop(StandardContext.java:5571)
	at com.sun.enterprise.web.WebModule.stop(WebModule.java:527)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:5384)
	at com.sun.enterprise.web.WebModule.start(WebModule.java:498)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733)
	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2018)
	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669)
	at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109)
	at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
	at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
	at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
	at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:353)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
	at org.glassfish.deployment.autodeploy.AutoOperation.run(AutoOperation.java:145)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deploy(AutoDeployer.java:575)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deployAll(AutoDeployer.java:461)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:389)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:380)
	at org.glassfish.deployment.autodeploy.AutoDeployService$1.run(AutoDeployService.java:220)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)
|#]

[#|2012-03-27T02:11:35.750+0400|SEVERE|glassfish3.1.2|org.apache.catalina.core.ContainerBase|_ThreadID=36;_ThreadName=Thread-2;|ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: javax.servlet.ServletException: com.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to parse runtime descriptor: javax.xml.ws.WebServiceException: WSP1007: Policy exception occurred when finishing WSDL parsing.
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:5389)
	at com.sun.enterprise.web.WebModule.start(WebModule.java:498)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733)
	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2018)
	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669)
	at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109)
	at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
	at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
	at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
	at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:353)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
	at org.glassfish.deployment.autodeploy.AutoOperation.run(AutoOperation.java:145)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deploy(AutoDeployer.java:575)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deployAll(AutoDeployer.java:461)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:389)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:380)
	at org.glassfish.deployment.autodeploy.AutoDeployService$1.run(AutoDeployService.java:220)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)
Caused by: org.apache.catalina.LifecycleException: javax.servlet.ServletException: com.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to parse runtime descriptor: javax.xml.ws.WebServiceException: WSP1007: Policy exception occurred when finishing WSDL parsing.
	at org.apache.catalina.core.StandardContext.callServletContainerInitializers(StandardContext.java:5475)
	at com.sun.enterprise.web.WebModule.callServletContainerInitializers(WebModule.java:581)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:5363)
	... 26 more
Caused by: javax.servlet.ServletException: com.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to parse runtime descriptor: javax.xml.ws.WebServiceException: WSP1007: Policy exception occurred when finishing WSDL parsing.
	at com.sun.xml.ws.transport.http.servlet.WSServletContainerInitializer.onStartup(WSServletContainerInitializer.java:70)
	at org.apache.catalina.core.StandardContext.callServletContainerInitializers(StandardContext.java:5467)
	... 28 more
Caused by: com.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to parse runtime descriptor: javax.xml.ws.WebServiceException: WSP1007: Policy exception occurred when finishing WSDL parsing.
	at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:141)
	at com.sun.xml.ws.transport.http.servlet.WSServletContainerInitializer.onStartup(WSServletContainerInitializer.java:65)
	... 29 more
Caused by: javax.xml.ws.WebServiceException: WSP1007: Policy exception occurred when finishing WSDL parsing.
	at com.sun.xml.ws.policy.jaxws.PolicyWSDLParserExtension.postFinished(PolicyWSDLParserExtension.java:966)
	at com.sun.xml.ws.wsdl.parser.DelegatingParserExtension.postFinished(DelegatingParserExtension.java:191)
	at com.sun.xml.ws.wsdl.parser.WSDLParserExtensionFacade.postFinished(WSDLParserExtensionFacade.java:338)
	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:337)
	at com.sun.xml.ws.server.EndpointFactory.getWSDLPort(EndpointFactory.java:641)
	at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:239)
	at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:145)
	at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:569)
	at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:552)
	at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:261)
	at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:153)
	at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:131)
	... 30 more
Caused by: com.sun.xml.ws.policy.PolicyException: [failed to localize] WSP_0071_ERROR_MULTIPLE_ASSERTION_CREATORS_FOR_NAMESPACE(http://schemas.xmlsoap.org/ws/2004/08/addressing, com.sun.xml.ws.security.addressing.impl.policy.AddressingPolicyAssertionCreator, com.sun.xml.ws.addressing.impl.policy.AddressingPolicyAssertionCreator)
	at com.sun.xml.ws.policy.sourcemodel.PolicyModelTranslator.<init>(PolicyModelTranslator.java:188)
	at com.sun.xml.ws.api.policy.ModelTranslator.<init>(ModelTranslator.java:85)
	at com.sun.xml.ws.api.policy.ModelTranslator.<clinit>(ModelTranslator.java:74)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.getPolicies(BuilderHandler.java:102)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.getPolicySubjects(BuilderHandler.java:110)
	at com.sun.xml.ws.policy.jaxws.BuilderHandlerEndpointScope.doPopulate(BuilderHandlerEndpointScope.java:72)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.populate(BuilderHandler.java:82)
	at com.sun.xml.ws.policy.jaxws.PolicyMapBuilder.getNewPolicyMap(PolicyMapBuilder.java:109)
	at com.sun.xml.ws.policy.jaxws.PolicyMapBuilder.getPolicyMap(PolicyMapBuilder.java:91)
	at com.sun.xml.ws.policy.jaxws.PolicyWSDLParserExtension.postFinished(PolicyWSDLParserExtension.java:962)
	... 41 more
|#]

[#|2012-03-27T02:11:35.759+0400|WARNING|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=36;_ThreadName=Thread-2;|java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: javax.servlet.ServletException: com.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to parse runtime descriptor: javax.xml.ws.WebServiceException: WSP1007: Policy exception occurred when finishing WSDL parsing.
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: javax.servlet.ServletException: com.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to parse runtime descriptor: javax.xml.ws.WebServiceException: WSP1007: Policy exception occurred when finishing WSDL parsing.
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:921)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733)
	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2018)
	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669)
	at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109)
	at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
	at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
	at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
	at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:353)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
	at org.glassfish.deployment.autodeploy.AutoOperation.run(AutoOperation.java:145)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deploy(AutoDeployer.java:575)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deployAll(AutoDeployer.java:461)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:389)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:380)
	at org.glassfish.deployment.autodeploy.AutoDeployService$1.run(AutoDeployService.java:220)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)
|#]

[#|2012-03-27T02:11:35.760+0400|SEVERE|glassfish3.1.2|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=36;_ThreadName=Thread-2;|Exception while invoking class com.sun.enterprise.web.WebApplication start method
java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: javax.servlet.ServletException: com.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to parse runtime descriptor: javax.xml.ws.WebServiceException: WSP1007: Policy exception occurred when finishing WSDL parsing.
	at com.sun.enterprise.web.WebApplication.start(WebApplication.java:138)
	at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
	at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
	at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
	at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:353)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
	at org.glassfish.deployment.autodeploy.AutoOperation.run(AutoOperation.java:145)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deploy(AutoDeployer.java:575)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deployAll(AutoDeployer.java:461)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:389)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:380)
	at org.glassfish.deployment.autodeploy.AutoDeployService$1.run(AutoDeployService.java:220)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)
|#]

[#|2012-03-27T02:11:35.761+0400|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=36;_ThreadName=Thread-2;|Exception while loading the app|#]

[#|2012-03-27T02:11:36.589+0400|INFO|glassfish3.1.2|com.sun.xml.ws.wstx|_ThreadID=36;_ThreadName=Thread-2;|[failed to localize] HOST_AND_PORT_LOOKUP_FAILURE_2015(https://jek-laptop:8181)|#]

[#|2012-03-27T02:11:36.871+0400|SEVERE|glassfish3.1.2|com.sun.xml.ws.wspolicy.com.sun.xml.ws.api.policy.ModelTranslator|_ThreadID=36;_ThreadName=Thread-2;|[failed to localize] WSP_0071_ERROR_MULTIPLE_ASSERTION_CREATORS_FOR_NAMESPACE(http://schemas.xmlsoap.org/ws/2004/08/addressing, com.sun.xml.ws.security.addressing.impl.policy.AddressingPolicyAssertionCreator, com.sun.xml.ws.addressing.impl.policy.AddressingPolicyAssertionCreator)|#]

[#|2012-03-27T02:11:36.872+0400|SEVERE|glassfish3.1.2|com.sun.xml.ws.wspolicy.jaxws.PolicyWSDLParserExtension|_ThreadID=36;_ThreadName=Thread-2;|[failed to localize] WSP_0071_ERROR_MULTIPLE_ASSERTION_CREATORS_FOR_NAMESPACE(http://schemas.xmlsoap.org/ws/2004/08/addressing, com.sun.xml.ws.security.addressing.impl.policy.AddressingPolicyAssertionCreator, com.sun.xml.ws.addressing.impl.policy.AddressingPolicyAssertionCreator)|#]

[#|2012-03-27T02:11:36.872+0400|SEVERE|glassfish3.1.2|com.sun.xml.ws.wspolicy.jaxws.PolicyWSDLParserExtension|_ThreadID=36;_ThreadName=Thread-2;|WSP1007: Policy exception occurred when finishing WSDL parsing.
com.sun.xml.ws.policy.PolicyException: [failed to localize] WSP_0071_ERROR_MULTIPLE_ASSERTION_CREATORS_FOR_NAMESPACE(http://schemas.xmlsoap.org/ws/2004/08/addressing, com.sun.xml.ws.security.addressing.impl.policy.AddressingPolicyAssertionCreator, com.sun.xml.ws.addressing.impl.policy.AddressingPolicyAssertionCreator)
	at com.sun.xml.ws.policy.sourcemodel.PolicyModelTranslator.<init>(PolicyModelTranslator.java:188)
	at com.sun.xml.ws.api.policy.ModelTranslator.<init>(ModelTranslator.java:85)
	at com.sun.xml.ws.api.policy.ModelTranslator.<clinit>(ModelTranslator.java:74)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.getPolicies(BuilderHandler.java:102)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.getPolicySubjects(BuilderHandler.java:110)
	at com.sun.xml.ws.policy.jaxws.BuilderHandlerEndpointScope.doPopulate(BuilderHandlerEndpointScope.java:72)
	at com.sun.xml.ws.policy.jaxws.BuilderHandler.populate(BuilderHandler.java:82)
	at com.sun.xml.ws.policy.jaxws.PolicyMapBuilder.getNewPolicyMap(PolicyMapBuilder.java:109)
	at com.sun.xml.ws.policy.jaxws.PolicyMapBuilder.getPolicyMap(PolicyMapBuilder.java:91)
	at com.sun.xml.ws.policy.jaxws.PolicyWSDLParserExtension.postFinished(PolicyWSDLParserExtension.java:962)
	at com.sun.xml.ws.wsdl.parser.DelegatingParserExtension.postFinished(DelegatingParserExtension.java:191)
	at com.sun.xml.ws.wsdl.parser.WSDLParserExtensionFacade.postFinished(WSDLParserExtensionFacade.java:338)
	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:337)
	at com.sun.xml.ws.server.EndpointFactory.getWSDLPort(EndpointFactory.java:641)
	at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:239)
	at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:145)
	at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:569)
	at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:552)
	at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:261)
	at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:153)
	at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:131)
	at com.sun.xml.ws.transport.http.servlet.WSServletContainerInitializer.onStartup(WSServletContainerInitializer.java:65)
	at org.apache.catalina.core.StandardContext.callServletContainerInitializers(StandardContext.java:5467)
	at com.sun.enterprise.web.WebModule.callServletContainerInitializers(WebModule.java:581)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:5363)
	at com.sun.enterprise.web.WebModule.start(WebModule.java:498)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733)
	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2018)
	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669)
	at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109)
	at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
	at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
	at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
	at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:353)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
	at org.glassfish.deployment.autodeploy.AutoOperation.run(AutoOperation.java:145)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deploy(AutoDeployer.java:575)
	at org.glassfish.deployment.autodeploy.AutoDeployer.deployAll(AutoDeployer.java:461)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:389)
	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:380)
	at org.glassfish.deployment.autodeploy.AutoDeployService$1.run(AutoDeployService.java:220)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)
|#]

[#|2012-03-27T02:11:36.950+0400|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=36;_ThreadName=Thread-2;|log4j:WARN No appenders could be found for logger (com.icesoft.faces.context.BridgeExternalContext).|#]

[#|2012-03-27T02:11:36.950+0400|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=36;_ThreadName=Thread-2;|log4j:WARN Please initialize the log4j system properly.|#]

[#|2012-03-27T02:11:37.257+0400|SEVERE|glassfish3.1.2|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=36;_ThreadName=Thread-2;|Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: javax.servlet.ServletException: com.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to parse runtime descriptor: javax.xml.ws.WebServiceException: WSP1007: Policy exception occurred when finishing WSDL parsing.|#]

[#|2012-03-27T02:11:37.408+0400|WARNING|glassfish3.1.2|javax.enterprise.system.tools.deployment.org.glassfish.deployment.common|_ThreadID=36;_ThreadName=Thread-2;|[AutoDeploy] Autodeploy failed : /home/jek/distr/glassfish3/glassfish/domains/domain1/autodeploy/openam_10.0.0-EA.war.|#]

Активное гугление привело меня в багтрекер OpenAM'а, в котором проблема описана и радостно заявлено о несовместимости сабжа (за исключением j2ee-агентов) с третьим глассфишем. Тем не менее, в комментариях к багу пользователями приводится шаманский способ заставить его работать - нужно удалить из глассфиша модуль Metro, конфликтующий с OpenAM.

Обращаю внимание, что модуль Metro отвечает в глассфише за стек веб-сервисов, поэтому использовать веб-сервисы на одном сервере с OpenAM вы не сможете.

Glassfish 3 и FreeBSD

Вторая часть проблемы возникла из-за того, что в качестве серверной ОС мы используем FreeBSD. Официальных сборок GlassFish 3 под FreeBSD не существует, однако, если скачать с официального сайта zip-архив, распаковать его и запустить, то на последних версиях OpenJDK (а Sun JDK 6 под FreeBSD тоже нет) он вполне себе нормально запускается и работает. Тем не менее, как выяснилось, проблемы есть и здесь тоже.

Установка и удаление модулей глассфиша осуществляется с помощью утилит pkg и updatetool, которые, при первом их запуске, автоматически устанавливаются из репозитория pkg.glassfish.org. По идее, команда удаления модуля metro должна выглядеть примерно так:

[www@glassfish ~]$ /usr/local/glassfish3/bin/pkg uninstall metro

Однако, попытка запуска такой команды под FreeBSD приводит к неожиданным результатам:

[www@glassfish ~]$ /usr/local/glassfish3/bin/pkg

The software needed for this command (pkg) is not installed.

[...]

Would you like to install this software now (y/n): y

Proxy: Using system proxy settings.
Input/output error: Connection failed for URL http://pkg.glassfish.org/v3/stable/catalog/0: 404: Not Found

Could not download application packages. This could be because:

[...]

– the package server is down or otherwise inaccessible or it is
generating invalid data. Please contact the provider of the package
server.

Т.е. нужный URL с пакетами недоступен. На всякий случай, проверяем этот URL браузером и видим, что доступа к нему, действительно, нет.

Казалось бы, всё - нужно снести модули, но утилиту, которая это делает, поставить невозможно, т.к. репозиторий "лежит". Остаётся только ждать и надеяться, что добрые разработчики глассфиша его когда-нибудь поднимут. В этот момент случайная попытка открыть тот же самый репозиторий со своего линуксового ноутбука привела к внезапному результату:

Glassfish packages repository

Первая мысль - "Ура! Починили!". Пытаемся снова открыть репозиторий из-под FreeBSD - он по-прежнему недоступен.

В процессе переосмысления устройства Вселенной (и роли магии в нём), гуглим на тему "glassfish pkg freebsd" и внезапно находим ряд багов в багтрекере глассфиша, посвящённых нашей проблеме. Оказывается, утилиты pkg и updatetool не поддерживают FreeBSD, по причине чего репозиторий с модулями для глассфиша при попытке доступа из этой ОС просто не открывается.

Занавес.

Решение

После осознания размаха проблемы, у меня в голове созрел план шаманства, которое, наконец, позволило нам запустить OpenAM на нашем многострадальном сервере:

  1. Качаем zip-архив с глассфишем на свою линуксовую машину.
  2. Распаковываем.
  3. Запускаем pkg (или updatetool) и сносим модуль Metro.
  4. Запаковываем глассфиша обратно в архив.
  5. Копируем на сервер.
  6. Распаковываем и размещаем сервер приложений по нужному пути в файловой системе.

Запускаем домен, развёртываем OpenAM, и (о чудо!) всё начинает работать:

OpenAM login screen

Ура! Победа!

Коротко о себе:

Работаю ведущим программистом в компании Tune IT и ассистентом кафедры Вычислительной техники в Университете ИТМО .

Занимаюсь проектами, связанными с разработкой разного рода веб-приложений (порталы, CRM-системы, системы электронного документооборота), а также, в рамках научной работы на кафедре, изучаю возможности применения семантического анализа в задачах САПР.