[ 
https://issues.apache.org/jira/browse/GERONIMODEVTOOLS-451?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

YunFeng Ma resolved GERONIMODEVTOOLS-451.
-----------------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.2

Committed in trunk rev680895.

> Emptying the Security Roles will cause "xml problem for web app" in deployment
> ------------------------------------------------------------------------------
>
>                 Key: GERONIMODEVTOOLS-451
>                 URL: 
> https://issues.apache.org/jira/browse/GERONIMODEVTOOLS-451
>             Project: Geronimo-Devtools
>          Issue Type: Bug
>    Affects Versions: 2.1.x
>            Reporter: YunFeng Ma
>            Assignee: Tim McConnell
>             Fix For: 2.1.2
>
>         Attachments: GERONIMODEVTOOLS-451.patch
>
>
> 1. Create a web application
> 2. Open the geronimo-web.xml editor
> 3. Set Security Realm Name to "myrealm" in General tab
> 4. Set Default Role to "user" in Security tab
> 5. Add a Security Role in Security tab
> 6. Remove the added Security Role in Security tab
> The above steps lead to the following security settings in geronimo-web.xml:
> {noformat}
>     <web:security-realm-name>myrealm</web:security-realm-name>
>     <sec:security use-context-handler="false" doas-current-caller="false" 
> default-role="user">
>         <sec:role-mappings/>
>     </sec:security>
> {noformat}
> and <sec:role-mappings/> leads to the following deployment error:
> {noformat}
> Distribution of module failed.  See log for details.
>   xml problem for web app .
>   org.apache.geronimo.common.DeploymentException: xml problem for web app .
>       at 
> org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.getTomcatWebApp(TomcatModuleBuilder.java:318)
>       at 
> org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.createModule(TomcatModuleBuilder.java:207)
>       at 
> org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder.createModule(AbstractWebModuleBuilder.java:179)
>       at 
> org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder.createModule(SwitchingModuleBuilder.java:94)
>       at 
> org.apache.geronimo.j2ee.deployment.EARConfigBuilder.getDeploymentPlan(EARConfigBuilder.java:307)
>       at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:226)
>       at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:133)
>       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.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:867)
>       at 
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
>       at org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:342)
>       at sun.reflect.GeneratedMethodAccessor180.invoke(Unknown Source)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>       at java.lang.reflect.Method.invoke(Unknown Source)
>       at 
> org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:867)
>       at 
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
>       at 
> org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:172)
>       at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(Unknown Source)
>       at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(Unknown Source)
>       at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown 
> Source)
>       at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
>       at javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown 
> Source)
>       at javax.management.remote.rmi.RMIConnectionImpl.access$100(Unknown 
> Source)
>       at 
> javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown 
> Source)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at 
> javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown 
> Source)
>       at javax.management.remote.rmi.RMIConnectionImpl.invoke(Unknown Source)
>       at sun.reflect.GeneratedMethodAccessor162.invoke(Unknown Source)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>       at java.lang.reflect.Method.invoke(Unknown Source)
>       at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
>       at sun.rmi.transport.Transport$1.run(Unknown Source)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at sun.rmi.transport.Transport.serviceCall(Unknown Source)
>       at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
>       at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown 
> Source)
>       at java.lang.Thread.run(Unknown Source)
>   Caused by: org.apache.xmlbeans.XmlException: Invalid deployment descriptor: 
> errors:
>   
>   error: cvc-complex-type.2.4a: Expected elements '[EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/j2ee/application-2.0 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/naming-1.2 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/j2ee/web/tomcat-2.0.1 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/j2ee/web/tomcat-2.0.1 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/j2ee/web/tomcat-2.0.1 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/j2ee/web/tomcat-2.0.1 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/j2ee/web/tomcat-2.0.1 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/j2ee/web/tomcat-2.0.1 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/j2ee/web/tomcat-2.0.1 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/j2ee/web/tomcat-2.0.1 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/naming-1.2 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/naming-1.2 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/naming-1.2 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/naming-1.2 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/naming-1.2 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/naming-1.2 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/naming-1.2 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/j2ee/web/tomcat-2.0.1 [EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/deployment-1.2 [EMAIL 
> PROTECTED]://java.sun.com/xml/ns/persistence' instead of '[EMAIL 
> PROTECTED]://geronimo.apache.org/xml/ns/security-2.0' here
>   
>   Descriptor:
>   <xml-fragment 
> xmlns:conn="http://geronimo.apache.org/xml/ns/j2ee/connector-1.2"; 
> xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2"; 
> xmlns:name="http://geronimo.apache.org/xml/ns/naming-1.2"; 
> xmlns:ejb="http://openejb.apache.org/xml/ns/openejb-jar-2.2"; 
> xmlns:pkgen="http://openejb.apache.org/xml/ns/pkgen-2.1"; 
> xmlns:app="http://geronimo.apache.org/xml/ns/j2ee/application-2.0"; 
> xmlns:sec="http://geronimo.apache.org/xml/ns/security-2.0"; 
> xmlns:web="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"; 
> xmlns:pers="http://java.sun.com/xml/ns/persistence"; 
> xmlns:client="http://geronimo.apache.org/xml/ns/j2ee/application-client-2.0"; 
> xmlns:tom="http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-2.0.1";>
>     <dep:environment>
>       <dep:moduleId>
>         <dep:groupId>default</dep:groupId>
>         <dep:artifactId>MyWeb1</dep:artifactId>
>         <dep:version>2.0</dep:version>
>         <dep:type>car</dep:type>
>       </dep:moduleId>
>       <dep:dependencies>
>         <dep:dependency>
>           <dep:groupId>org.apache.geronimo.configs</dep:groupId>
>           <dep:artifactId>sharedlib</dep:artifactId>
>           <dep:type>car</dep:type>
>         </dep:dependency>
>         <dep:dependency>
>           <dep:groupId>org.apache.geronimo.configs</dep:groupId>
>           <dep:artifactId>j2ee-server</dep:artifactId>
>           <dep:type>car</dep:type>
>         </dep:dependency>
>       </dep:dependencies>
>     </dep:environment>
>     <tom:context-root>/TestWeb1</tom:context-root>
>     <web:security-realm-name>myrealm</web:security-realm-name>
>     <sec:security use-context-handler="false" doas-current-caller="false" 
> default-role="user">
>         <sec:role-mappings/>
>     </sec:security>
>   </xml-fragment>
>   
>       at 
> org.apache.geronimo.deployment.xmlbeans.XmlBeansUtil.validateDD(XmlBeansUtil.java:187)
>       at 
> org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.getTomcatWebApp(TomcatModuleBuilder.java:312)
>       ... 43 more
> {noformat}
> Remove " <sec:role-mappings/>", the above deployment plan works fine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to