[JBoss Seam] - Re: Conversations and IFrames
by nakhnoukh
This is the error I get when I manually set the jsp in the frame:
16:13:34,571 ERROR [SeamPhaseListener] uncaught exception
| java.lang.IllegalStateException: No active conversation context
| at org.jboss.seam.core.Conversation.instance(Conversation.java:104)
| at org.jboss.seam.core.Manager.prepareBackswitch(Manager.java:1118)
| at org.jboss.seam.jsf.AbstractSeamPhaseListener.afterRender(AbstractSeamPhaseListener.java:246)
| at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:115)
| at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:89)
| at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:391)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
| at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Thread.java:613)
| 16:13:34,572 ERROR [DebugPageHandler] redirecting to debug page
| java.lang.IllegalStateException: No active conversation context
| at org.jboss.seam.core.Conversation.instance(Conversation.java:104)
| at org.jboss.seam.core.Manager.prepareBackswitch(Manager.java:1118)
| at org.jboss.seam.jsf.AbstractSeamPhaseListener.afterRender(AbstractSeamPhaseListener.java:246)
| at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:115)
| at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:89)
| at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:391)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
| at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Thread.java:613)
| 16:13:34,574 ERROR [SeamPhaseListener] swallowing exception
| java.lang.IllegalStateException: No active conversation context
| at org.jboss.seam.core.Conversation.instance(Conversation.java:104)
| at org.jboss.seam.core.Manager.prepareBackswitch(Manager.java:1118)
| at org.jboss.seam.jsf.AbstractSeamPhaseListener.afterRender(AbstractSeamPhaseListener.java:246)
| at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:115)
| at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:89)
| at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:391)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
| at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Thread.java:613)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4051932#4051932
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4051932
18Â years, 10Â months
[JBoss Seam] - render pdf without landing on blank page?
by dustismo
Hi,
I am trying to render a pdf using an action, problem is that it always lands me on a blank page.. I would settle for opening in a new window, but I can't get that to work either.
my export() method returns the view of the report to render, but I need to submit the form so s:button doesn't work..
| <h:form id="graphreport_fm">
| <s:validateAll>
|
| <h:outputLabel styleClass="form-label" for="title">Title:</h:outputLabel>
| <br />
| <s:decorate>
| <h:inputText size="30" id="title" value="#{graphReport.report.title}" />
| <s:message />
| </s:decorate>
| <br />
|
| <!-- other options -->
|
| </s:validateAll>
| <s:button onclick="document.forms['graphreport_fm'].submit();" value="Export Now" action="#{graphReport.export()}" target="_new"/>
| </h:form>
|
Where my export method is something like:
| public String export() {
| return generateReportViewId();
| }
|
that leads to the following message:
|
| INFO [lifecycle] WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
| sourceId=null[severity=(WARN 1), summary=(The conversation ended, timed out or was processing another request), detail=(The conversation ended, timed out or was processing another request)]
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4051923#4051923
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4051923
18Â years, 10Â months
[Messaging, JMS & JBossMQ] - jms client authentication with client certificates
by perzian
Is it possible to authenticate a jms client with client certificates? Here is what I have tried so far. I had to hand type the code below into this post so there might be some typos
Set up a jaas security domain with an identity and trust keystore in a file I created called default/deploy/ssl-domain-service.xml. The identity and trust keystore are located in the default/conf directory
| <server>
| <mbean code="org.jboss.security.plugins.JaasSecurityDomain" name="jboss.security:service=JaasSecurityDomain,domain=SSL">
| <constructor>
| <arg type="java.lang.String" value="SSL"/>
| </constructor>
| <attribute name="KeyStoreURL">resource:identity.jks</attribute>
| <attribute name="KeyStorePass">password</attribute>
| <attribute name="KeyStoreType">JKS</attribute>
| <attribute name="TrustStoreURL">resource:trust.jks</attribute>
| <attribute name="TrustStorePass">password</attribute>
| <attribute name="TrustStoreType">JKS</attribute>
| </mbean>
| </server>
|
Set up an application policy in default/conf/login-config.xml to use the BaseCertLoginModule
| <application=policy name="SSL">
| <authentication>
| <login-module code="org.jboss.security.auth.spi.BaseCertLoginModule" flag="required">
| <module-option name="password-stacking">useFirstPass</module-option>
| <module-option name="securityDomain">java:/jaas/SSL</module-option>
| <module-option name="verifier">org.jboss.security.auth.certs.AnyCertVerifier</module-option>
| </login-module>
| <login-module code="org.jboss.security.auth.spi.UserRolesLoginModule" flag="required">
| <module-option name="password-stacking">useFirstPass</module-option>
| <module-option name="usersProperties">props/ssl-users.properties</module-option>
| <module-option name="rolesProperties">props/ssl-roles.properties</module-option>
| <module-option name="roleGroupSeperator">:</module-option>
| </login-module>
| </authentication>
| </application-policy>
|
Set up a ssl UIL service in a file I created called ssl-uil2-service.xml in default/deploy/jms/ssl-uil2-service.xml
| <server>
| <mbean code="org.jboss.mq.il.uil2.UILServerILService" name="jboss.mq:service=InvocationLayer,type=SSLUIL2">
| <depends optional-attribute-name="Invoker">jboss.mq:service=Invoker</depends>
| <attribute name="ConnectionFactoryJNDIRef">SSLUIL2ConnectionFactory</attribute>
| <attribute name="XAConnectionFactoryJNDIRef">SSLUIL2XAConnectionFactory</attribute>
| <attribute name="BindAddress">${jboss.bind.address}</attribute>
| <attribute name="ServerBindPort">8193</attribute>
| <attribute name="PingPeriod">60000</attribute>
| <attribute name="EnableTcpNoDelay">true</attribute>
| <attribute name="ReadTimeout">120000</attribute>
| <attribute name="ClientReadTimeout">120000</attribute>
| <attribute name="BufferSize">2048</attribute>
| <attribute name="ChunkSize">1000000</attribute>
| <attribute name="ClientSocketFactory">org.jboss.security.ssl.ClientSocketFactory</attribute>
| <attribute name="ServerSocketFactory">org.jboss.security.ssl.DomainServerSocketFactory</attribute>
| <attribute name="SecurityDomain">java:/jaas/SSL</attribute>
| </mbean>
| </server>
|
Set up the jbossmq security manager in default/deploy/jms/jbossmq-service.xml to only allow users with the jmsUser role to read/write/create destinations associated with the security manager.
| <mbean code="org.jboss.mq.security.SecurityManager" name="jboss.mq.service=SecurityManager">
| <attribute name="DefaultSecurityConfig">
| <security>
| <role name="jmsUser" read="true" write="true" create="true"/>
| </security>
| </attribute>
| <attribute name="SecurityDomain">java:/jaas/SSL</attribute>
| <depends optional-attribute-name="NextIntercepter">jboss.mq:service=DestinationManager</depends>
| </mbean>
|
Setup a queue that uses the security manager in default/deploy/jms/jbossmq-destinations-service.xml
| <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=updateQueue">
| <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depepends>
| <depends optional-attribute-name="SecurityManager">jboss.mq:service=SecurityManager</depends>
| </mbean>
|
Here is the code I run on the client to create the InitialContext and do a jndi lookup for the updateQueue
| Properties prop = new Properties();
|
| X509Certificate cert = getCertificate();
| prop.put(Context.PROVIDER_URL, "jnp://localhost:1099");
| prop.put(Context.SECURITY_PRINCIPAL, cert.getSubjectDN().toString());
| prop.put(Context.SECURITY_CREDENTIALS, cert);
| prop.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.security.jndi.JndiLoginInitialContextFactory");
| InitialContext jndiContext = new InitialContext(prop);
| Object tmp = jndiContext.lookup("SSLUIL2ConnectionFactory");
| QueueConnectionFactory qcf = (QueueConnectionFactory)tmp;
| conn = qcf.createQueueConnection();
| que = (Queue)jndiContext.lookup("queue/updateQueue");
| session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
| conn.start();
|
Here is the server output when I try to connect to the queue. I turned on TRACE logging and when the baseCertLoginModule is run it is unable to find the client certificate.
| TRACE [BaseCertLoginModule] initialize, instance=@6960936
| TRACE [BaseCertLoginModule] securityDomain=java:/jaas/SSL
| TRACE [BaseCertLoginModule] found domain:
| org.jboss.security.plugins.JaasSecurityDomain
| TRACE [BaseCertLoginModule] exit: initialize(Subject, CallbackHandler, Map, Map)
| TRACE [BaseCertLoginModule] enter: login()
| TRACE [BaseCertLoginModule] login
| TRACE [BaseCertLoginModule] enter: getAliasAndCert()
| TRACE [BaseCertLoginModule] exit: getAliasAndCert()
| TRACE [BaseCertLoginModule] Authenticating as unauthenticatedIdentity=null
| TRACE [BaseCertLoginModule] enter: validateCredentail(String, X509Certificate)
| TRACE [BaseCertLoginModule] Vaidating cert using: org.jboss.security.auth.certs.AnyCertVerifier@14b4735
| TRACE [BaseCertLoginModule] The supplied certificate matched the certificate in the keystore.
| TRACE [BaseCertLoginModule] exit: validateCredentail(String, X509Certificate)
| TRACE [BaseCertLoginModule] User 'null' authenticated, loginOk=true
| DEBUG [BaseCertLoginModule] exit: login()
|
If i keep the same setup on the server but instead of doing a jndiLookup for a jms queue I do a look up for a session ejb it works fine.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4051922#4051922
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4051922
18Â years, 10Â months
[JBoss Seam] - Re: Injection and relation between components
by rmemoria
Yes... It started working after I've included the component in conversation scope:
@Name("drugOrderHome")
| public class DrugOrderHome extends EntityHome<DrugOrder>{
| private static final long serialVersionUID = 2666375478687085792L;
|
| @In(create=true)
| private SourceConsumptionHome sourceConsumptionHome;
@Name("sourceConsumptionHome")
| @Scope(ScopeType.CONVERSATION)
| public class SourceConsumptionHome {
OK... it's working nicely and perfectly. But to finish this topic, 2 more questions to the gurus:
1 - Why the first component doesn't require a @Scope(ScopeType.CONVERSATION) declaration like the second ? (the first component remains in memory up to the end of the conversation);
2 - I tryed before @In(create=true, scope=ScopeType.CONVERSATION) to inject the second component, but it wasn't created in a conversation scope. What does this declaration mean?
Thanks,
Ricardo
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4051918#4051918
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4051918
18Â years, 10Â months