[JBoss ESB Development] - Re: SAML Token Support
by anil.saldhana@jboss.com
"beve" wrote : Regarding the adding of the SAML Assertion to the outgoing SOAP Security Header, perhaps a better solution would be to have the JBossSTSAction set the SAML Assertion as a ThreadLocal.
| This way we could write a a protocol handler for SOAP which could add the SAML Assertion to the out bound SOAP Header.
| This would also simplify the STSAction as it would not require the additional 'addToEsb*' options.
|
| What do you think?
|
| Regards,
|
| /Daniel
Dan., I think this is what the WS-T integration code will do. All you need to use is the API. Provide any assertion that you have. Under the covers the ws-t api should be doing this for you. I think the api is not updated to take in pre-existing assertions. Talk to Stefan to get it added.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4255201#4255201
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4255201
16 years, 6 months
[JBoss OSGi Development] - Re: Cannot resolve dependency against unstarted bundle
by adrian@jboss.org
I think you're missing the point?
What is actually required is like "on-demand" processing for pojos
but done for deployments.
i.e. the bundle/deployment should sit at status DESCRIBED or CLASSLOADER
(if somebody manually resolved it) until somebody wants to import from it.
When somebody does that, it should try to move the deployment to INSTALLED
If you look at the AbstractDependencyItem.resolve() there is this code
| if (context == null)
| {
| resolved = false;
| ControllerContext unresolvedContext = controller.getContext(iDependOn, null);
| if (unresolvedContext != null && ControllerMode.ON_DEMAND.equals(unresolvedContext.getMode()))
| {
| try
| {
| controller.enableOnDemand(unresolvedContext);
| }
| catch (Throwable ignored)
| {
| if (log.isTraceEnabled())
| log.trace("Unexpected error", ignored);
| }
| }
| }
|
but RequirementDependencyItem overrides that method so there is no
on-demand processing.
But making deployments have a controller mode of "on-demand" probably isn't
the correct solution? For normal usage they need to be "manual" so that deployments
are fully under the control of the MainDeployer.
But you could add some similar code to the RequirementDependencyItem, e.g.
(completely untested/compiled etc.)
| // Resolved against a context in the dependent state
| Object iDependOn = module.getContextName();
| ControllerContext context = controller.getContext(iDependOn, getDependentState());
| if (context != null)
| {
| setIDependOn(context.getName());
| addDependsOnMe(controller, context);
| setResolved(true);
| if (module.getClassLoadingSpace() == null)
| log.warn(getModule() + " resolved " + getRequirement() + " to " + module + " which has import-all=true. Cannot check its consistency.");
| return isResolved();
| }
| + else
| + {
| + // The dependent module is not fully installed
| + // if its not currently being processed (required state == state) then try to fully install it
| + context = controller.getContext(iDependOn, null);
| + if (context != null && context.getRequiredState().equals(context.getState()))
| + {
| + try
| + {
| + controller.change(context, ControllerState.INSTALLED);
| + // It worked so we are now resolved
| + if (ControllerState.INSTALLED.equals(context.getState()))
| + {
| + <Same code as above when it was already in the correct state/>
| + }
| + }
| + catch (Throwable t)
| + {
| + log.trace("Error trying to fully install a dependent module: " + module, t);
| + }
| + }
| + }
|
You almost certainly need to do something for circular dependencies in this code. :-)
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4255154#4255154
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4255154
16 years, 6 months
[EJB 3.0 Development] - HornetQ JCA Adapter question
by ataylor
Guys,
HornetQ has its own RA adapter for MDB's and we have a question regarding the spec and the ejb3 implementation you may be able to answer.
This is regarding section 12.5.6 of the JCA spec.
Originally we used Option B and used the beforeDelivery/afterDelivery methods on MessageEndpoint to control transaction demarcation etc.
We have recently changed this however to use Option A, we did this so we could have more control over the transactions so we could add things like local tx optimization, transaction batching etc. According to the spec with option A you don't call beforeDelivery/afterDelivery, you can see this clearly in figure 12-7 that this doesn't occur.
The problem is that because we don't call these methods the Thread Context Classloader no longer gets set, so the question is this! Is the spec slightly ambiguous here, should we always call before/afterDelivery to do this. I would have thought that if we didn't call these then the MessageEndpoint proxy would still set the TCL before calling the MDB onMessage method.
Any input would be appreciated!
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4255121#4255121
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4255121
16 years, 6 months