[
https://issues.jboss.org/browse/WFLY-2978?page=com.atlassian.jira.plugin....
]
David Lloyd updated WFLY-2978:
------------------------------
Description:
Hi all,
I have a project with remote EJB's running in one Wildfly server and the're some
war client projects that invoked those EJB's in another Wildfly server. Even adding
the descriptor jboss-ejb-client.xml into war client projects Widlfly always says:
"No EJB receiver available for handling....". That seems Wildfly is ignoring the
descriptor no matter if the file exists in WEB-INF, by the way in JBoss 7.1.1 it works
perfectly.
I added into client war projects the descripor jboss-ejb-client.xml
{code:xml}
<jboss-ejb-client>
<client-context>
<ejb-receivers>
<remoting-ejb-receiver outbound-connection-ref="remote-ejb-connection"
/>
</ejb-receivers>
</client-context>
</jboss-ejb-client>
{code}
In Wildfly server running EJB's the standalone.xml
{code:xml}
<security-realm name="ejb-security-realm">
<server-identities>
<secret value="c2Fvb3JhY2xlZGV2cGFzcw=="/>
</server-identities>
</security-realm>
{code}
{code:xml}
<subsystem xmlns="urn:jboss:domain:remoting:2.0">
<endpoint worker="default"/>
<http-connector name="http-remoting-connector"
connector-ref="default" security-realm="ApplicationRealm"/>
<outbound-connections>
<remote-outbound-connection name="remote-ejb-connection"
outbound-socket-binding-ref="remote-ejb" username="ejbuser"
security-realm="ejb-security-realm">
<properties>
<property name="SSL_ENABLED"
value="false"/>
<property name="SASL_POLICY_NOANONYMOUS"
value="true"/>
<property name="SASL_POLICY_NOPLAINTEXT"
value="false"/>
</properties>
</remote-outbound-connection>
</outbound-connections>
</subsystem>
{code}
{code:xml}
<socket-binding-group name="standard-sockets"
default-interface="public"
port-offset="${jboss.socket.binding.port-offset:0}">
<socket-binding name="management-http"
interface="management" port="${jboss.management.http.port:7029}"/>
<socket-binding name="management-https"
interface="management"
port="${jboss.management.https.port:7030}"/>
<socket-binding name="http"
port="${jboss.http.port:7021}"/>
<socket-binding name="https"
port="${jboss.https.port:7022}"/>
<socket-binding name="txn-recovery-environment"
port="7025"/>
<socket-binding name="txn-status-manager" port="7026"/>
<outbound-socket-binding name="remote-ejb">
<remote-destination host="myserver.com"
port="7021"/>
</outbound-socket-binding>
</socket-binding-group>
{code}
Console exception:
{noformat}
10:41:20,761 INFO [io.undertow.servlet] (MSC service thread 1-9) Initializing Spring root
WebApplicationContext
10:41:22,540 INFO [org.jboss.ejb.client] (MSC service thread 1-9) JBoss EJB Client
version 2.0.0.Final
10:41:22,853 INFO [org.wildfly.extension.undertow] (MSC service thread 1-9) JBAS017534:
Registered web context: /orca
10:41:22,884 INFO [org.jboss.as.server] (ServerService Thread Pool -- 29) JBAS018559:
Deployed "SBBORCA.war" (runtime-name : "SBBORCA.war")
10:41:22,900 INFO [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management
interface listening on
http://0.0.0.0:7029/management
10:41:22,900 INFO [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console
listening on
http://0.0.0.0:7029
10:41:22,900 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.0.0.Final
"WildFly" started in 12312ms - Started 413 of 466 services (93 services are
lazy, passive or on-demand)
10:41:45,533 ERROR [io.undertow.request] (default task-2) UT005023: Exception handling
request to /orca/j_spring_cas_security_check: java.lang.RuntimeException:
java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling
[appName:, moduleName:SBBUserAccess, distinctName:] combination for invocation context
org.jboss.ejb.client.EJBClientInvocationContext@19ba64
at
com.sbb.spring.security.CustomUserDetailsService.loadUserByUsername(CustomUserDetailsService.java:63)
[utils-1.0.0.jar:]
at
org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper.loadUserDetails(UserDetailsByNameServiceWrapper.java:51)
[spring-security-core-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.cas.authentication.CasAuthenticationProvider.loadUserByAssertion(CasAuthenticationProvider.java:185)
[spring-security-cas-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.cas.authentication.CasAuthenticationProvider.authenticateNow(CasAuthenticationProvider.java:141)
[spring-security-cas-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.cas.authentication.CasAuthenticationProvider.authenticate(CasAuthenticationProvider.java:126)
[spring-security-cas-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:156)
[spring-security-core-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter$AuthenticationManagerDelegator.authenticate(WebSecurityConfigurerAdapter.java:431)
[spring-security-config-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.cas.web.CasAuthenticationFilter.attemptAuthentication(CasAuthenticationFilter.java:242)
[spring-security-cas-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:211)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:56)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:177)
[spring-orm-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:56)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at
org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:168)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:687)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[rt.jar:1.7.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[rt.jar:1.7.0_51]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
Caused by: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for
handling [appName:, moduleName:SBBUserAccess, distinctName:] combination for invocation
context org.jboss.ejb.client.EJBClientInvocationContext@19ba64
at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:749)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at
org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:116)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at
org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:183)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at
org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:253)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:198)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:181)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:144)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at com.sun.proxy.$Proxy89.findByUserProfile(Unknown Source)
at
com.sbb.spring.security.UserProfileGrantedAuthoritiesLoader.loadAuthorities(UserProfileGrantedAuthoritiesLoader.java:44)
[utils-1.0.0.jar:]
at
com.sbb.spring.security.CustomUserDetailsService.loadUserByUsername(CustomUserDetailsService.java:55)
[utils-1.0.0.jar:]
... 52 more
{noformat}
was:
Hi all,
I have a project with remote EJB's running in one Wildfly server and the're some
war client projects that invoked those EJB's in another Wildfly server. Even adding
the descriptor jboss-ejb-client.xml into war client projects Widlfly always says:
"No EJB receiver available for handling....". That seems Wildfly is ignoring the
descriptor no matter if the file exists in WEB-INF, by the way in JBoss 7.1.1 it works
perfectly.
I added into client war projects the descripor jboss-ejb-client.xml
--------------------------------------------------------------------------------
<jboss-ejb-client>
<client-context>
<ejb-receivers>
<remoting-ejb-receiver outbound-connection-ref="remote-ejb-connection"
/>
</ejb-receivers>
</client-context>
</jboss-ejb-client>
In Wildfly server running EJB's the standalone.xml
-----------------------------------------------------------
<security-realm name="ejb-security-realm">
<server-identities>
<secret value="c2Fvb3JhY2xlZGV2cGFzcw=="/>
</server-identities>
</security-realm>
<subsystem xmlns="urn:jboss:domain:remoting:2.0">
<endpoint worker="default"/>
<http-connector name="http-remoting-connector"
connector-ref="default" security-realm="ApplicationRealm"/>
<outbound-connections>
<remote-outbound-connection name="remote-ejb-connection"
outbound-socket-binding-ref="remote-ejb" username="ejbuser"
security-realm="ejb-security-realm">
<properties>
<property name="SSL_ENABLED"
value="false"/>
<property name="SASL_POLICY_NOANONYMOUS"
value="true"/>
<property name="SASL_POLICY_NOPLAINTEXT"
value="false"/>
</properties>
</remote-outbound-connection>
</outbound-connections>
</subsystem>
<socket-binding-group name="standard-sockets"
default-interface="public"
port-offset="${jboss.socket.binding.port-offset:0}">
<socket-binding name="management-http"
interface="management" port="${jboss.management.http.port:7029}"/>
<socket-binding name="management-https"
interface="management"
port="${jboss.management.https.port:7030}"/>
<socket-binding name="http"
port="${jboss.http.port:7021}"/>
<socket-binding name="https"
port="${jboss.https.port:7022}"/>
<socket-binding name="txn-recovery-environment"
port="7025"/>
<socket-binding name="txn-status-manager" port="7026"/>
<outbound-socket-binding name="remote-ejb">
<remote-destination host="myserver.com"
port="7021"/>
</outbound-socket-binding>
</socket-binding-group>
Console exception:
------------------------
10:41:20,761 INFO [io.undertow.servlet] (MSC service thread 1-9) Initializing Spring root
WebApplicationContext
10:41:22,540 INFO [org.jboss.ejb.client] (MSC service thread 1-9) JBoss EJB Client
version 2.0.0.Final
10:41:22,853 INFO [org.wildfly.extension.undertow] (MSC service thread 1-9) JBAS017534:
Registered web context: /orca
10:41:22,884 INFO [org.jboss.as.server] (ServerService Thread Pool -- 29) JBAS018559:
Deployed "SBBORCA.war" (runtime-name : "SBBORCA.war")
10:41:22,900 INFO [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management
interface listening on
http://0.0.0.0:7029/management
10:41:22,900 INFO [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console
listening on
http://0.0.0.0:7029
10:41:22,900 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.0.0.Final
"WildFly" started in 12312ms - Started 413 of 466 services (93 services are
lazy, passive or on-demand)
10:41:45,533 ERROR [io.undertow.request] (default task-2) UT005023: Exception handling
request to /orca/j_spring_cas_security_check: java.lang.RuntimeException:
java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling
[appName:, moduleName:SBBUserAccess, distinctName:] combination for invocation context
org.jboss.ejb.client.EJBClientInvocationContext@19ba64
at
com.sbb.spring.security.CustomUserDetailsService.loadUserByUsername(CustomUserDetailsService.java:63)
[utils-1.0.0.jar:]
at
org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper.loadUserDetails(UserDetailsByNameServiceWrapper.java:51)
[spring-security-core-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.cas.authentication.CasAuthenticationProvider.loadUserByAssertion(CasAuthenticationProvider.java:185)
[spring-security-cas-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.cas.authentication.CasAuthenticationProvider.authenticateNow(CasAuthenticationProvider.java:141)
[spring-security-cas-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.cas.authentication.CasAuthenticationProvider.authenticate(CasAuthenticationProvider.java:126)
[spring-security-cas-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:156)
[spring-security-core-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter$AuthenticationManagerDelegator.authenticate(WebSecurityConfigurerAdapter.java:431)
[spring-security-config-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.cas.web.CasAuthenticationFilter.attemptAuthentication(CasAuthenticationFilter.java:242)
[spring-security-cas-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:211)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:56)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:177)
[spring-orm-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:56)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at
org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:168)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:687)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[rt.jar:1.7.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[rt.jar:1.7.0_51]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
Caused by: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for
handling [appName:, moduleName:SBBUserAccess, distinctName:] combination for invocation
context org.jboss.ejb.client.EJBClientInvocationContext@19ba64
at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:749)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at
org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:116)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at
org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:183)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at
org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:253)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:198)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:181)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:144)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at com.sun.proxy.$Proxy89.findByUserProfile(Unknown Source)
at
com.sbb.spring.security.UserProfileGrantedAuthoritiesLoader.loadAuthorities(UserProfileGrantedAuthoritiesLoader.java:44)
[utils-1.0.0.jar:]
at
com.sbb.spring.security.CustomUserDetailsService.loadUserByUsername(CustomUserDetailsService.java:55)
[utils-1.0.0.jar:]
... 52 more
Wildfly ignores jboss-ejb-client.xml
------------------------------------
Key: WFLY-2978
URL:
https://issues.jboss.org/browse/WFLY-2978
Project: WildFly
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: EJB, Naming, Remoting
Affects Versions: 8.0.0.Final
Environment: Spring 4.0.2, EJB
Reporter: ofbiz brazil
Assignee: David Lloyd
Priority: Critical
Hi all,
I have a project with remote EJB's running in one Wildfly server and the're some
war client projects that invoked those EJB's in another Wildfly server. Even adding
the descriptor jboss-ejb-client.xml into war client projects Widlfly always says:
"No EJB receiver available for handling....". That seems Wildfly is ignoring the
descriptor no matter if the file exists in WEB-INF, by the way in JBoss 7.1.1 it works
perfectly.
I added into client war projects the descripor jboss-ejb-client.xml
{code:xml}
<jboss-ejb-client>
<client-context>
<ejb-receivers>
<remoting-ejb-receiver outbound-connection-ref="remote-ejb-connection"
/>
</ejb-receivers>
</client-context>
</jboss-ejb-client>
{code}
In Wildfly server running EJB's the standalone.xml
{code:xml}
<security-realm name="ejb-security-realm">
<server-identities>
<secret value="c2Fvb3JhY2xlZGV2cGFzcw=="/>
</server-identities>
</security-realm>
{code}
{code:xml}
<subsystem xmlns="urn:jboss:domain:remoting:2.0">
<endpoint worker="default"/>
<http-connector name="http-remoting-connector"
connector-ref="default" security-realm="ApplicationRealm"/>
<outbound-connections>
<remote-outbound-connection name="remote-ejb-connection"
outbound-socket-binding-ref="remote-ejb" username="ejbuser"
security-realm="ejb-security-realm">
<properties>
<property name="SSL_ENABLED"
value="false"/>
<property name="SASL_POLICY_NOANONYMOUS"
value="true"/>
<property name="SASL_POLICY_NOPLAINTEXT"
value="false"/>
</properties>
</remote-outbound-connection>
</outbound-connections>
</subsystem>
{code}
{code:xml}
<socket-binding-group name="standard-sockets"
default-interface="public"
port-offset="${jboss.socket.binding.port-offset:0}">
<socket-binding name="management-http"
interface="management" port="${jboss.management.http.port:7029}"/>
<socket-binding name="management-https"
interface="management"
port="${jboss.management.https.port:7030}"/>
<socket-binding name="http"
port="${jboss.http.port:7021}"/>
<socket-binding name="https"
port="${jboss.https.port:7022}"/>
<socket-binding name="txn-recovery-environment"
port="7025"/>
<socket-binding name="txn-status-manager"
port="7026"/>
<outbound-socket-binding name="remote-ejb">
<remote-destination host="myserver.com"
port="7021"/>
</outbound-socket-binding>
</socket-binding-group>
{code}
Console exception:
{noformat}
10:41:20,761 INFO [io.undertow.servlet] (MSC service thread 1-9) Initializing Spring
root WebApplicationContext
10:41:22,540 INFO [org.jboss.ejb.client] (MSC service thread 1-9) JBoss EJB Client
version 2.0.0.Final
10:41:22,853 INFO [org.wildfly.extension.undertow] (MSC service thread 1-9) JBAS017534:
Registered web context: /orca
10:41:22,884 INFO [org.jboss.as.server] (ServerService Thread Pool -- 29) JBAS018559:
Deployed "SBBORCA.war" (runtime-name : "SBBORCA.war")
10:41:22,900 INFO [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management
interface listening on
http://0.0.0.0:7029/management
10:41:22,900 INFO [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console
listening on
http://0.0.0.0:7029
10:41:22,900 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly
8.0.0.Final "WildFly" started in 12312ms - Started 413 of 466 services (93
services are lazy, passive or on-demand)
10:41:45,533 ERROR [io.undertow.request] (default task-2) UT005023: Exception handling
request to /orca/j_spring_cas_security_check: java.lang.RuntimeException:
java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling
[appName:, moduleName:SBBUserAccess, distinctName:] combination for invocation context
org.jboss.ejb.client.EJBClientInvocationContext@19ba64
at
com.sbb.spring.security.CustomUserDetailsService.loadUserByUsername(CustomUserDetailsService.java:63)
[utils-1.0.0.jar:]
at
org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper.loadUserDetails(UserDetailsByNameServiceWrapper.java:51)
[spring-security-core-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.cas.authentication.CasAuthenticationProvider.loadUserByAssertion(CasAuthenticationProvider.java:185)
[spring-security-cas-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.cas.authentication.CasAuthenticationProvider.authenticateNow(CasAuthenticationProvider.java:141)
[spring-security-cas-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.cas.authentication.CasAuthenticationProvider.authenticate(CasAuthenticationProvider.java:126)
[spring-security-cas-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:156)
[spring-security-core-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter$AuthenticationManagerDelegator.authenticate(WebSecurityConfigurerAdapter.java:431)
[spring-security-config-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.cas.web.CasAuthenticationFilter.attemptAuthentication(CasAuthenticationFilter.java:242)
[spring-security-cas-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:211)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
[spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:56)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:177)
[spring-orm-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:56)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at
org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146)
[undertow-servlet-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:168)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:687)
[undertow-core-1.0.0.Final.jar:1.0.0.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[rt.jar:1.7.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[rt.jar:1.7.0_51]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
Caused by: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available
for handling [appName:, moduleName:SBBUserAccess, distinctName:] combination for
invocation context org.jboss.ejb.client.EJBClientInvocationContext@19ba64
at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:749)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at
org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:116)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at
org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:183)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at
org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:253)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:198)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:181)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:144)
[jboss-ejb-client-2.0.0.Final.jar:2.0.0.Final]
at com.sun.proxy.$Proxy89.findByUserProfile(Unknown Source)
at
com.sbb.spring.security.UserProfileGrantedAuthoritiesLoader.loadAuthorities(UserProfileGrantedAuthoritiesLoader.java:44)
[utils-1.0.0.jar:]
at
com.sbb.spring.security.CustomUserDetailsService.loadUserByUsername(CustomUserDetailsService.java:55)
[utils-1.0.0.jar:]
... 52 more
{noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira