[Security] - Problem securing a web service
by TimStorms
I'm trying to secure a web service which is an EJB. I'm trying to accomplish this by adding the following jboss.xml in the META-INF folder.
<?xml version="1.0"?>
| <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 4.0//EN" "http://www.jboss.org/j2ee/dtd/jboss_4_2.dtd">
| <jboss>
| <security-domain />
| <enterprise-beans>
| <session>
| <ejb-name>MyEJB</ejb-name>
| <configuration-name>MyEJB Web Service Config</configuration-name>
| </session>
| </enterprise-beans>
|
| <container-configurations>
| <container-configuration>
| <container-name>MyEJB Web Service Config</container-name>
| <security-domain>java:/jaas/mydomain</security-domain>
| </container-configuration>
| </container-configurations>
| </jboss>
As you can see, this EJB is the only EJB that should be "behind" a security domain. I tried doing this with the SecurityDomain annotation on my EJB, but it gave me a nullpointer in my Seam application on deployment.
Now, this web service is indeed protected by this security domain. So far, so good. But now it seams that the rest of my application is also trying to pass this security domain. What am I forgetting here, or what am I doing wrong?
Btw, my EJB is annotated with the following annotations:
@Stateless(name="MyEJB")
| @WebService(endpointInterface="...", name = "...", targetNamespace = "...", serviceName = "...")
| @WebContext(urlPattern = "/webservice", authMethod = "BASIC", transportGuarantee = "NONE", secureWSDLAccess = false)
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4251791#4251791
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4251791
16 years, 8 months
[JBoss Messaging Users] - enableOrderingGroup() not available inside ejb3 Bean an JmsX
by mclu
Hi!
Any hint on this?
I testest OrderingGroup on 1.4.5 (build 7766) with a client like this:
| Connection connection = getConnection();
| Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
| JBossMessageProducer sender = (JBossMessageProducer) session.createProducer(queue);
| sender.enableOrderingGroup("Group1");
|
The Connection Factory is fetched using
| Hashtable<String, String> env = new Hashtable<String, String>();
| env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
| env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
| env.put(Context.PROVIDER_URL, "localhost:22099");
|
| InitialContext ic = new InitialContext(env);
| cf = (ConnectionFactory) ic.lookup("ConnectionFactory");
| queue = (Queue) ic.lookup("/queue/testQueue");
| ic.close();
|
It works perfect.
Now I want to migrate this to my ejb3 beans which sends messages but uses transactions.
I am using:
| @Resource(mappedName="java:/JmsXA")
| private ConnectionFactory cf;
|
| ...
|
| Connection connection = cf.createConnection();
| connection.start();
|
| Session session = connection.createSession(true, Session.SESSION_TRANSACTED);
| JBossMessageProducer sender = (JBossMessageProducer) session.createProducer(queue);
| sender.enableOrderingGroup("Group1");
|
|
This gives a class cast exception because createProducer returns
org.jboss.resource.adapter.jms.JmsMessageProducer and not JBossMessageProducer. The JBossMessageProducer is part of JmsMessageProducer but I can not get it.
I want to use more than one ordering group so it would be nice to be able to set it via the producer.
Any hint how I can handle it with transaction support?
At pdf Userguide page 21 it says regarding JmsXA
"JMS XA Resource adapter, use this to get transacted JMS in beans"
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4251785#4251785
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4251785
16 years, 8 months