[JBossWS] - jbossws 1.2.1 xml typing problem
by gryffin
I've got a web service that accepts a complex type as a parameter. It works with a JBossWS client, but I need it to work for an Axis client whcih is failing. We both used the same WSDL for our clients, and the service was built consuming the same WSDL.
Specifically, JBoss fails to marshall the DeviceData and AssetData objects. I can't find anything wrong with the format or schema implementation Axis uses. It looks fine, but JBoss throws an error when trying to access the children of the SelectionValues portion.
DeviceData dd = associationValues.getDeviceData() works
dd.getDeviceList() fails
Here's the SOAP envelope that Axis generates:
| <?xml version="1.0" encoding="UTF-8"?>
|
| <soapenv:Envelope
| xmnls:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
| xmnls:xsd="http://www.w3.org/2001/XMLSchema"
| xmnls:xsi="http://www.w3.org/2001/XMLSchema-instance"
| >
| <soapenv:Body>
| <assetAssociationSet
| xmlns="http://www.example.com/NLS/soap"
| >
| <Selector
| xmlns=""
| >
| <ns1:AssetId
| xmlns:ns1="http://www.example.com/NLS/ns/soapTypes"
| >
| 3M0000I</ns1:AssetId>
| <ns2:OwnerAppId
| xmlns:ns2="http://www.example.com/NLS/ns/soapTypes"
| >
| TOOLING</ns2:OwnerAppId>
| </Selector>
| <AssociationValues
| CreateDeviceAssociations="any"
| DeleteOtherDeviceAssociations="false"
| xmlns=""
| >
| <ns3:DeviceData
| xmlns:ns3="http://www.example.com/NLS/ns/Types"
| >
| <ns3:Device>
| <ns3:AeroScoutTag
| MacId="494949494949"
| />
| </ns3:Device>
| </ns3:DeviceData>
| <ns4:AssetData
| AssetId="3M0000I"
| OwnerAppId="TOOLING"
| Version="0.1.0"
| xmlns:ns4="http://www.example.com/NLS/ns/Types"
| >
| <ns4:AssetDisplayName>17P7W3261-501</ns4:AssetDisplayName>
| <ns4:AssetCategory>/TOOLING</ns4:AssetCategory>
| <ns4:AssetDescription>3M0000I</ns4:AssetDescription>
| <ns4:AssetSuspended>false</ns4:AssetSuspended>
| </ns4:AssetData>
| </AssociationValues>
| </assetAssociationSet>
| </soapenv:Body>
| </soapenv:Envelope>
|
Here's the JBossWS client call:
| <env:Envelope
| xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'
| >
| <env:Header></env:Header>
| <env:Body>
| <ns1:assetAssociationSet
| xmlns:ns1='http://www.example.com/NLS/soap'
| >
| <Selector
| xmlns:ns2="http://www.example.com/NLS/ns/soapTypes"
| >
| <ns2:AssetId>devAssetId</ns2:AssetId>
| <ns2:OwnerAppId>devOwnerAppId</ns2:OwnerAppId>
| </Selector>
| <AssociationValues
| xmlns:ns2="http://www.example.com/NLS/ns/soapTypes"
| xmlns:ns3="http://www.example.com/NLS/ns/Types"
| DeleteOtherDeviceAssociations="true"
| CreateDeviceAssociations="ANY"
| >
| <ns2:DeviceData
| Version="0.3.0"
| >
| <ns3:Device>
| <ns3:AeroScoutTag MacId="000CCC1111f0">
| <ns3:BatteryStatus>low</ns3:BatteryStatus>
| </ns3:AeroScoutTag>
| </ns3:Device>
| </ns2:DeviceData>
| <ns2:AssetData
| Version="0.3.0"
| OwnerAppId="devOwnerAppId"
| AssetId="devAssetId"
| >
| <ns3:AssetDisplayName>Stunt Asset</ns3:AssetDisplayName>
| <ns3:AssetCategory>/devTop1/dev1-b/dev1-b-2/dev1-b-2-a</ns3:AssetCategory>
| <ns3:AssetDescription> dev asset</ns3:AssetDescription>
| <ns3:AssetSuspended>true</ns3:AssetSuspended>
| </ns2:AssetData>
| </AssociationValues>
| </ns1:assetAssociationSet>
| </env:Body>
| </env:Envelope>
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4066299#4066299
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4066299
18Â years, 9Â months
[JBoss Seam] - Re: Object sent to equals() as parameter is null!
by fmars
I forgot the Stack Trace(a part of it, which i think important to the problem is):
java.lang.NullPointerException
| at org.arcs.methcancerdb.model.CancerType.equals(CancerType.java:43)
| at javax.faces.component.UISelectOne.matchValue(UISelectOne.java:185)
| at javax.faces.component.UISelectOne.validateValue(UISelectOne.java:137)
| at javax.faces.component.UIInput.validate(UIInput.java:867)
| at javax.faces.component.UIInput.executeValidate(UIInput.java:1065)
| at javax.faces.component.UIInput.processValidators(UIInput.java:666)
| at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1030)
| at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1030)
| at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1030)
| at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1030)
| at javax.faces.component.UIForm.processValidators(UIForm.java:229)
| at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1030)
| at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:662)
| at org.ajax4jsf.framework.ajax.AjaxViewRoot.access$201(AjaxViewRoot.java:53)
| at org.ajax4jsf.framework.ajax.AjaxViewRoot$3.invokeRoot(AjaxViewRoot.java:315)
| at org.ajax4jsf.framework.ajax.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.java:53)
| at org.ajax4jsf.framework.ajax.AjaxContext.invokeOnRegionOrRoot(AjaxContext.java:191)
| at org.ajax4jsf.framework.ajax.AjaxViewRoot.processValidators(AjaxViewRoot.java:329)
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4066289#4066289
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4066289
18Â years, 9Â months
[JBoss Seam] - Object sent to equals() as parameter is null!
by fmars
Hello,
I have an entity bean "CancerType" and a SFSB(long running) "MethSearch" and there is a "search.xhtml".
One of the search fields in "search.xhtml" is a selectOneMenu, in which all CancerTypes are listed. The selected one is set to "cancerType" variable in MethSearch bean. MethSearch bean has a method "find()", which is called from search.xhtml after a CancerType in selectOneMenu selected.
Problem: Before Seam the Method "find" calls, the overriden method "equals(Object otherCancerType)" in CancerType Entity is called, but the parameter "otherCancerType" is null. And i need to find why?
here some codes: first CancerType Entity
@Entity
| public class CancerType implements java.io.Serializable {
| // id and some string variables
| @Override
| public boolean equals(Object otherCancerType) {
| if(this.id == ((CancerType)otherCancerType).getId())
| return true;
| return this.name.equals(((CancerType)otherCancerType).getName());
| }
| }
MethSearch SFSB:
@Stateful
| @Name("methsearch")
| public class MethSearch implements IMethSearch{
| @PersistenceContext(type=PersistenceContextType.EXTENDED)
| private EntityManager entityManager;
| .....
| @Begin
| public void find() {
| Criteria criteria = ....
| }
|
search.xthml:
<h:outputLabel for="cancerTypeid">Cancer type:</h:outputLabel>
| <h:selectOneMenu id="cancerTypeid" value="#{methsearch.cancerType}">
| <s:selectItems value="#{cancerTypeDAO.getAll()}" var="cancerType" label="#{cancerType.name}"
| noSelectionLabel="Please Select..."/>
| <s:convertEntity />
| </h:selectOneMenu>
| ....
| <h:commandButton value="Find" action="#{methsearch.find()}" />
|
and pages.xml:
<page view-id="/search.xhtml">
| <navigation from-action="#{methsearch.find()}">
| <end-conversation/>
| <redirect/>
| </navigation>
| </page>
Thank you in advance :)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4066287#4066287
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4066287
18Â years, 9Â months
[JBoss Seam] - Seam 2 migration and <core:resource-bundle>
by rlhr
hello,
I'm finally migrating from Seam 1.2.1GA to Seam 2.0 (took the last version from CVS)
I followed the migration guide and everything went fine. I started my application and got the exception below.
It seems that the <core:resource-bundle> component is not working as described in the doc anymore. As far as I can see from the code, we cannot specify a list a bundle names anymore.
Does this mean that this feature is removed from Seam 2? Or is it just temporary since I have a CVS version of Seam?
Regards,
Richard
| 12:06:40,734 ERROR [[/peanutcafe]] Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
| java.lang.RuntimeException: Could not create Component: org.jboss.seam.core.resourceBundle
| at org.jboss.seam.init.Initialization.addComponent(Initialization.java:939)
| at org.jboss.seam.init.Initialization.installComponents(Initialization.java:866)
| at org.jboss.seam.init.Initialization.init(Initialization.java:526)
| at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
| at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3854)
| at org.apache.catalina.core.StandardContext.start(StandardContext.java:4359)
| at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
| at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
| at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553)
| 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:585)
| at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
| at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.apache.catalina.core.StandardContext.init(StandardContext.java:5310)
| 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:585)
| at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
| at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.web.tomcat.service.TomcatDeployer.performDeployInternal(TomcatDeployer.java:301)
| at org.jboss.web.tomcat.service.TomcatDeployer.performDeploy(TomcatDeployer.java:104)
| at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:375)
| at org.jboss.web.WebModule.startModule(WebModule.java:83)
| at org.jboss.web.WebModule.startService(WebModule.java:61)
| at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
| at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
| at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
| at $Proxy0.start(Unknown Source)
| at org.jboss.system.ServiceController.start(ServiceController.java:417)
| at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy46.start(Unknown Source)
| at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:466)
| 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:585)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
| at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
| at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
| at org.jboss.ws.integration.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:93)
| at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
| at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy47.start(Unknown Source)
| at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
| at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1015)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
| at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy9.deploy(Unknown Source)
| at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
| at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
| at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
| at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336)
| at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
| at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
| at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
| at $Proxy0.start(Unknown Source)
| at org.jboss.system.ServiceController.start(ServiceController.java:417)
| at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy4.start(Unknown Source)
| at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
| at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766)
| 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:585)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy5.deploy(Unknown Source)
| at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
| at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
| at org.jboss.Main.boot(Main.java:200)
| at org.jboss.Main$1.run(Main.java:508)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: java.lang.IllegalArgumentException: no such setter method: org.jboss.seam.core.ResourceBundle.bundleNames
| at org.jboss.seam.util.Reflections.getSetterMethod(Reflections.java:220)
| at org.jboss.seam.Component.initInitializers(Component.java:485)
| at org.jboss.seam.Component.<init>(Component.java:257)
| at org.jboss.seam.Component.<init>(Component.java:211)
| at org.jboss.seam.init.Initialization.addComponent(Initialization.java:924)
| ... 139 more
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4066284#4066284
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4066284
18Â years, 9Â months
[Beginners Corner] - SSO/JAAS/Dashboard
by ch33zm0ng3r
Hello, All I'm a Jboss Beginner but i feel that I have a fairly complex question. I'm trying to integrate a third party SSO solution into Jboss, which is a mostly trivial task on it's own. I am able to authenticate users that are configured through the SSO gateway. However, I want these users to be able to log into Portal as well. In my current configuration(4.2.1 AS - 2.6 Portal) users are able to log in and are shown options in the user portlet bassed on their roles. However, the header still shows a login link unless the users is manually added with an admin user through the user portlet. Users added "manually" through the user portlet and granted an "Admn" role do not get access to the admin portal and no user is able to use the dashboard (a 403 error is returned when clicking the dashboard link and no "admin" link for users with admin roles)
I am under the impression that the reason that the dashboard doesn't work is because I need to synchronize my portal database with whatever information comes from the SSO gateway. I have attempted to use the 'SynchronizingLoginModule but with no success. I think that my confusion is in the JAAS layer. Josso has it's own security realm which, by the installation instructions is held in $JBOSS_HOME/server/someservername/conf/login-config.xml :
<application-policy name = "josso">
| <authentication>
| <login-module code = "org.josso.jb4.agent.JBossSSOGatewayLoginModule" flag = "required">
| <module-option name="debug">true</module-option>
| </login-module>
| </authentication>
| </application-policy>
>From my vauge understanding of the JAAS layer, this module will be used whenever JOSSO is called to authenticate a user. This login module appears to be doing everything that it should be as the user portlet recognizes the correct user as being logged in. However, we need more to make portal happy. In $JBOSS_HOME/server/someservername/deploy/jboss-portal.sar/conf/login-config.xml I have:
<application-policy name="portal">
| <authentication>
| <login-module code="org.jboss.portal.identity.auth.SynchronizingLoginModule" flag="optional">
| <module-option name="synchronizeIdentity">true</module-option>
| <module-option name="synchronizeRoles">true</module-option>
| <module-option name="additionalRole">Authenticated</module-option>
| <module-option name="defaultAssignedRole">User</module-option>
| <module-option name="userModuleJNDIName">java:/portal/UserModule</module-option>
| <module-option name="roleModuleJNDIName">java:/portal/RoleModule</module-option>
| <module-option name="membershipModuleJNDIName">java:/portal/MembershipModule</module-option>
| <module-option name="userProfileModuleJNDIName">java:/portal/UserProfileModule</module-option>
| </login-module>
| </authentication>
| </application-policy>
and in $JBOSS_HOME/server/someservername/deploy/jboss-portal.sar/jboss-server.war/WEB-INF/jboss-web.xml
<jboss-web>
| <security-domain>java:/jaas/portal</security-domain>
| <context-root>/portal</context-root>
| <replication-config>
| <replication-trigger>SET</replication-trigger>
| </replication-config>
| <resource-ref>
| <res-ref-name>jdbc/PortalDS</res-ref-name>
| <jndi-name>java:PortalDS</jndi-name>
| </resource-ref>
| </jboss-web>
|
My understanding of this setup is that when jboss is asked to authenticate a user it will use the josso login module (which appears to work) and then the portal context will attempt, through SynchronizingLoginModule, to add the principal information to the JBP database if it cannot already find it. I have also tried adding the syncronizingloginmodule under the 'josso' application policy because I was uncertain if it would get called since the user was already authenticated. This caused a null pointer exception to be thrown. This oproblem is getting fusterating. Perhaps the SynchLoginMod doesn't do what I think it should.
Any thoughts, questions, comments, and/or stern reprimands for my being foolish are greatly appreciated.
-Nick
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4066283#4066283
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4066283
18Â years, 9Â months