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

Delos Dai resolved GERONIMO-5011.
---------------------------------

    Resolution: Fixed

Right, you need to add role mapping the deployment plan.

But I also find the @RunAs will cause other exceptions after I added role 
mapping. It's due to the exception thrown in getSubjectForRole() of 
ApplicationPrincipalRoleConfigurationManager. With my fix in revision #947890, 
a default subject is returned instead of an exception.Then, the @RunAs works 
fiine. 

> EJB Web Service security not working at all in G 2.2
> ----------------------------------------------------
>
>                 Key: GERONIMO-5011
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-5011
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>    Affects Versions: 2.2
>         Environment: Geronimo 2.2 with Tomcat 6, Windows XP, Java 6
>            Reporter: Ɓukasz Budnik
>            Assignee: Delos Dai
>            Priority: Blocker
>             Fix For: 2.2.1
>
>         Attachments: secure-ejb-web-service.zip
>
>
> EJB Web Service security was working in 2.1.x. Now, there are exceptions 
> thrown.
> openejb-jar.xml:
> <enterprise-beans>
>       <session>
>               <ejb-name>HelloWebService</ejb-name>
>               <web-service-security>
>             <security-realm-name>geronimo-admin</security-realm-name>
>               <transport-guarantee>CONFIDENTIAL</transport-guarantee>
>                   <auth-method>BASIC</auth-method>
>               </web-service-security>
>       </session>
> </enterprise-beans>
> Causes the following errors in log:
> org.xh.studies.ws.ejb/secure-ejb-web-service/0.0.1-SNAPSHOT/car
> 2010-01-04 14:37:18,213 INFO  [OpenEJB] Auto-deploying ejb HelloWebService: 
> EjbDeployment(deployment-id=secure-ejb-web-service/HelloWebService)
> 2010-01-04 14:37:18,229 INFO  [config] Enterprise application 
> "org.xh.studies.ws.ejb/secure-ejb-web-service/0.0.1-SNAPSHOT/car" loaded.
> 2010-01-04 14:37:19,041 ERROR [EjbModuleBuilder] 
> AxisModuleBuilderExtension.initContext() failed: Duplicate contextID 
> registered! 
> org.xh.studies.ws.ejb/secure-ejb-web-service/0.0.1-SNAPSHOT/car?EJBModule=org.xh.studies.ws.ejb/secure-ejb-web-service/0.0.1-SNAPSHOT/car,J2EEApplication=null,j2eeType=StatelessSessionBean,name=HelloWebService
> org.apache.geronimo.common.DeploymentException: Duplicate contextID 
> registered! 
> org.xh.studies.ws.ejb/secure-ejb-web-service/0.0.1-SNAPSHOT/car?EJBModule=org.xh.studies.ws.ejb/secure-ejb-web-service/0.0.1-SNAPSHOT/car,J2EEApplication=null,j2eeType=StatelessSessionBean,name=HelloWebService
>       at 
> org.apache.geronimo.j2ee.deployment.EARContext.addSecurityContext(EARContext.java:128)
>       at 
> org.apache.geronimo.axis.builder.AxisModuleBuilderExtension.initContext(AxisModuleBuilderExtension.java:165)
>       at 
> org.apache.geronimo.openejb.deployment.EjbModuleBuilder.initContext(EjbModuleBuilder.java:541)
>       at 
> org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(EARConfigBuilder.java:592)
>       at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:257)
>       at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:136)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:130)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:851)
>       at 
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:237)
>       at 
> org.apache.geronimo.deployment.plugin.local.AbstractDeployCommand.doDeploy(AbstractDeployCommand.java:116)
>       at 
> org.apache.geronimo.deployment.plugin.local.DistributeCommand.run(DistributeCommand.java:61)
>       at java.lang.Thread.run(Thread.java:619)
> 2010-01-04 14:37:19,041 ERROR [EjbModuleBuilder] 
> GeronimoSecurityBuilderImpl.addGBeans() failed: Unknown pattern type: null
> java.lang.IllegalArgumentException: Unknown pattern type: null
>       at 
> org.apache.geronimo.gbean.ReferencePatterns.<init>(ReferencePatterns.java:44)
>       at 
> org.apache.geronimo.gbean.GBeanData.setReferencePatterns(GBeanData.java:173)
>       at 
> org.apache.geronimo.gbean.GBeanData.setReferencePattern(GBeanData.java:165)
>       at 
> org.apache.geronimo.security.deployment.GeronimoSecurityBuilderImpl.buildJaccManager(GeronimoSecurityBuilderImpl.java:220)
>       at 
> org.apache.geronimo.security.deployment.GeronimoSecurityBuilderImpl.addGBeans(GeronimoSecurityBuilderImpl.java:150)
>       at 
> org.apache.geronimo.openejb.deployment.EjbModuleBuilder.addGBeans(EjbModuleBuilder.java:816)
>       at 
> org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(EARConfigBuilder.java:652)
>       at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:257)
>       at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:136)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:130)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:851)
>       at 
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:237)
>       at 
> org.apache.geronimo.deployment.plugin.local.AbstractDeployCommand.doDeploy(AbstractDeployCommand.java:116)
>       at 
> org.apache.geronimo.deployment.plugin.local.DistributeCommand.run(DistributeCommand.java:61)
>       at java.lang.Thread.run(Thread.java:619)
> 2010-01-04 14:37:19,057 INFO  [JAXWSServiceBuilder] Configuring EJB JAX-WS 
> Web Service: HelloWebService at /HelloWebServiceService/HelloWebService
> It says that the JAX-WS Web Service is exposed, but you cannot access it.

-- 
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