-
Bug
-
Resolution: Done
-
Blocker
-
7.1.0.DR16, 7.1.0.DR17
Running an EJB client using app-client.
contents of wildfly-config.xml:
<configuration>
<authentication-client xmlns="urn:elytron:1.0">
<authentication-rules>
<rule use-configuration="default"/>
</authentication-rules>
<authentication-configurations>
<configuration name="default">
<allow-sasl-mechanisms names="DIGEST-MD5"/>
<forbid-sasl-mechanisms names="JBOSS-LOCAL-USER"/>
<set-user-name name="joe"/>
<credentials>
<clear-password password="joeIsAwesome2013!"/>
</credentials>
</configuration>
</authentication-configurations>
</authentication-client>
<jboss-ejb-client xmlns="urn:jboss:wildly-client-ejb:3.0">
<connections>
<connection uri="remote+http://127.0.0.8:8080" />
</connections>
</jboss-ejb-client>
</configuration>
The client code (in the main method) initializes an InitialContext by just specifying the WildFlyInitialContextFactory class name, without PROVIDER_URL, and then attempts to invoke EJBs.
If the <jboss-ejb-client> element is present in the wildfly-config.xml, it fails with
09:13:40,798 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.ejb3.ejbClientContext.default: org.jboss.msc.service.StartException in service jboss.ejb3.ejbClientContext.default: Failed to start service at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1978) [jboss-msc-1.2.7.SP1-redhat-1.jar:1.2.7.SP1-redhat-1] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_65] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_65] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_65] Caused by: java.lang.ExceptionInInitializerError at org.jboss.ejb.client.EJBClientContext.<clinit>(EJBClientContext.java:106) [jboss-ejb-client-4.0.0.Beta24-redhat-1.jar:4.0.0.Beta24-redhat-1] at org.jboss.ejb.client.EJBClientContext$Builder.build(EJBClientContext.java:650) [jboss-ejb-client-4.0.0.Beta24-redhat-1.jar:4.0.0.Beta24-redhat-1] at org.jboss.as.ejb3.remote.EJBClientContextService.start(EJBClientContextService.java:122) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:2032) [jboss-msc-1.2.7.SP1-redhat-1.jar:1.2.7.SP1-redhat-1] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1955) [jboss-msc-1.2.7.SP1-redhat-1.jar:1.2.7.SP1-redhat-1] ... 3 more Caused by: java.lang.IllegalArgumentException: Illegal namespace index 0; current scope only has 0 namespace declarations. at com.ctc.wstx.sr.InputElementStack.throwIllegalIndex(InputElementStack.java:1057) [woodstox-core-5.0.3.redhat-1.jar:5.0.3.redhat-1] at com.ctc.wstx.sr.InputElementStack.getLocalNsURI(InputElementStack.java:1050) [woodstox-core-5.0.3.redhat-1.jar:5.0.3.redhat-1] at com.ctc.wstx.sr.BasicStreamReader.getNamespaceURI(BasicStreamReader.java:837) [woodstox-core-5.0.3.redhat-1.jar:5.0.3.redhat-1] at org.wildfly.client.config.BasicXMLStreamReader.getNamespaceURI(BasicXMLStreamReader.java:240) at org.wildfly.client.config.AbstractDelegatingXMLStreamReader.getNamespaceURI(AbstractDelegatingXMLStreamReader.java:188) at org.wildfly.client.config.AbstractDelegatingXMLStreamReader.getNamespaceURI(AbstractDelegatingXMLStreamReader.java:188) at org.jboss.ejb.client.ConfigurationBasedEJBClientContextSelector.parseConnectionType(ConfigurationBasedEJBClientContextSelector.java:221) [jboss-ejb-client-4.0.0.Beta24-redhat-1.jar:4.0.0.Beta24-redhat-1] at org.jboss.ejb.client.ConfigurationBasedEJBClientContextSelector.parseConnectionsType(ConfigurationBasedEJBClientContextSelector.java:205) [jboss-ejb-client-4.0.0.Beta24-redhat-1.jar:4.0.0.Beta24-redhat-1] at org.jboss.ejb.client.ConfigurationBasedEJBClientContextSelector.parseEJBClientType(ConfigurationBasedEJBClientContextSelector.java:108) [jboss-ejb-client-4.0.0.Beta24-redhat-1.jar:4.0.0.Beta24-redhat-1] at org.jboss.ejb.client.ConfigurationBasedEJBClientContextSelector.parseEJBClientConfiguration(ConfigurationBasedEJBClientContextSelector.java:83) [jboss-ejb-client-4.0.0.Beta24-redhat-1.jar:4.0.0.Beta24-redhat-1] at org.jboss.ejb.client.ConfigurationBasedEJBClientContextSelector.loadConfiguration(ConfigurationBasedEJBClientContextSelector.java:63) [jboss-ejb-client-4.0.0.Beta24-redhat-1.jar:4.0.0.Beta24-redhat-1] at org.jboss.ejb.client.ConfigurationBasedEJBClientContextSelector.<clinit>(ConfigurationBasedEJBClientContextSelector.java:53) [jboss-ejb-client-4.0.0.Beta24-redhat-1.jar:4.0.0.Beta24-redhat-1] ... 8 more
The authentication context from the wildfly-config.xml is parsed and applied correctly, but the EJB client connections are not.
Ready-to-use reproducer project is at https://github.com/jmartisk/mock-artifacts/tree/5eeec93f6592a32d361d0ce579687b08480010af/ejbclient/appclient with instructions included.
- is blocked by
-
JBEAP-10600 Upgrade EJB client to 4.0.0.Beta27
-
- Closed
-
- is caused by
-
EJBCLIENT-213 Wrong namespace call in parseConnectionType in the XML parser
-
- Resolved
-