[jboss-jira] [JBoss JIRA] (WFLY-13600) EJB client over HTTP Fail on Java SE
Gergely Molnár (Jira)
issues at jboss.org
Thu Jun 18 11:14:51 EDT 2020
[ https://issues.redhat.com/browse/WFLY-13600?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gergely Molnár updated WFLY-13600:
----------------------------------
Description:
Java SE code:
{code:java}
public class Application {
private static final String REMOTE_CALC = "ejb:/remote-ejb/RemoteCalc!" + RemoteCalc.class.getName();
/**
* Lookup remote \{@link RemoteCalc}.
*
* @return a \{@link RemoteCalc} object
* @throws NamingException Something is wrong
*/
public static RemoteCalc getRemoteCalc() throws NamingException {
Hashtable<String, Object> jndiProps = new Hashtable<>();
jndiProps.put(Context.INITIAL_CONTEXT_FACTORY, "org.wildfly.naming.client.WildFlyInitialContextFactory");
// remote+http connection (work fine)
//jndiProps.put(Context.PROVIDER_URL, "remote+http://127.0.0.1:8080/remote-ejb");
// http connection (fail)
jndiProps.put(Context.PROVIDER_URL, "http://127.0.0.1:8080/wildfly-services");
Context context = new InitialContext(jndiProps);
return (RemoteCalc) context.lookup(REMOTE_CALC);
}
/**
* Call to run (main).
*
* @param args parameters (not used)
* @throws NamingException Something is wrong
*/
public static void main(String[] args) throws NamingException {
RemoteCalc remoteCalc = getRemoteCalc();
System.out.println("Remote calc 95 + 76: " + remoteCalc.add(95, 76));
}
}
{code}
Exception:
Exception in thread "main" javax.naming.InvalidNameException: WFNAM00007: Invalid URL scheme name "http"
at org.wildfly.naming.client.WildFlyRootContext.getProviderContext(WildFlyRootContext.java:808)
at org.wildfly.naming.client.WildFlyRootContext.lookup(WildFlyRootContext.java:140)
at javax.naming.InitialContext.lookup(Unknown Source)
at com.bosch.emea.bpart.remoteejbclient.Application.getRemoteCalc(Application.java:34)
at com.bosch.emea.bpart.remoteejbclient.Application.main(Application.java:47)
Lib:
{code:java}
@Remote
public interface RemoteCalc {
/**
* Add two integer.
*
* @param a an integer
* @param b an integer
* @return a + b
*/
public int add(int a, int b);
}
{code}
Config:
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<authentication-client xmlns="urn:elytron:1.0">
<authentication-rules>
<rule use-configuration="default" />
</authentication-rules>
<authentication-configurations>
<configuration name="default">
<sasl-mechanism-selector selector="#ALL" />
<set-mechanism-properties>
<property key="wildfly.sasl.local-user.quiet-auth" value="true" />
</set-mechanism-properties>
<providers>
<use-service-loader/>
</providers>
</configuration>
</authentication-configurations>
</authentication-client>
</configuration>
{code}
Maven dependency:
{code:xml}
<dependency>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-ejb-client-bom</artifactId>
<version>20.0.0.Final</version>
<type>pom</type>
</dependency>
{code}
was:
Java SE code:
{code:java}
public class Application {
private static final String REMOTE_CALC = "ejb:/remote-ejb/RemoteCalc!" + RemoteCalc.class.getName();
/**
* Lookup remote \{@link RemoteCalc}.
*
* @return a \{@link RemoteCalc} object
* @throws NamingException Something is wrong
*/
public static RemoteCalc getRemoteCalc() throws NamingException {
Hashtable<String, Object> jndiProps = new Hashtable<>();
jndiProps.put(Context.INITIAL_CONTEXT_FACTORY, "org.wildfly.naming.client.WildFlyInitialContextFactory");
// remote+http connection (work fine)
//jndiProps.put(Context.PROVIDER_URL, "remote+http://127.0.0.1:8080/remote-ejb");
// http connection (fail)
jndiProps.put(Context.PROVIDER_URL, "http://127.0.0.1:8080/wildfly-services");
Context context = new InitialContext(jndiProps);
return (RemoteCalc) context.lookup(REMOTE_CALC);
}
/**
* Call to run (main).
*
* @param args parameters (not used)
* @throws NamingException Something is wrong
*/
public static void main(String[] args) throws NamingException {
RemoteCalc remoteCalc = getRemoteCalc();
System.out.println("Remote calc 95 + 76: " + remoteCalc.add(95, 76));
}
}
{code}
Exception:
Exception in thread "main" javax.naming.InvalidNameException: WFNAM00007: Invalid URL scheme name "http"
at org.wildfly.naming.client.WildFlyRootContext.getProviderContext(WildFlyRootContext.java:808)
at org.wildfly.naming.client.WildFlyRootContext.lookup(WildFlyRootContext.java:140)
at javax.naming.InitialContext.lookup(Unknown Source)
at com.bosch.emea.bpart.remoteejbclient.Application.getRemoteCalc(Application.java:34)
at com.bosch.emea.bpart.remoteejbclient.Application.main(Application.java:47)
Lib:
{code:java}
@Remote
public interface RemoteCalc {
/**
* Add two integer.
*
* @param a an integer
* @param b an integer
* @return a + b
*/
public int add(int a, int b);
}
{code}
Config:
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<authentication-client xmlns="urn:elytron:1.0">
<authentication-rules>
<rule use-configuration="default" />
</authentication-rules>
<authentication-configurations>
<configuration name="default">
<sasl-mechanism-selector selector="#ALL" />
<set-mechanism-properties>
<property key="wildfly.sasl.local-user.quiet-auth" value="true" />
</set-mechanism-properties>
<providers>
<use-service-loader/>
</providers>
</configuration>
</authentication-configurations>
</authentication-client>
</configuration>
{code}
Maven dependency:
{code:xml}
<dependency>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-ejb-client-bom</artifactId>
<version>18.0.1.Final</version>
<type>pom</type>
</dependency>
{code}
> EJB client over HTTP Fail on Java SE
> ------------------------------------
>
> Key: WFLY-13600
> URL: https://issues.redhat.com/browse/WFLY-13600
> Project: WildFly
> Issue Type: Bug
> Components: Application Client
> Affects Versions: 20.0.0.Final
> Reporter: Gergely Molnár
> Assignee: Brian Stansberry
> Priority: Major
>
> Java SE code:
> {code:java}
> public class Application {
> private static final String REMOTE_CALC = "ejb:/remote-ejb/RemoteCalc!" + RemoteCalc.class.getName();
> /**
> * Lookup remote \{@link RemoteCalc}.
> *
> * @return a \{@link RemoteCalc} object
> * @throws NamingException Something is wrong
> */
> public static RemoteCalc getRemoteCalc() throws NamingException {
> Hashtable<String, Object> jndiProps = new Hashtable<>();
> jndiProps.put(Context.INITIAL_CONTEXT_FACTORY, "org.wildfly.naming.client.WildFlyInitialContextFactory");
> // remote+http connection (work fine)
> //jndiProps.put(Context.PROVIDER_URL, "remote+http://127.0.0.1:8080/remote-ejb");
> // http connection (fail)
> jndiProps.put(Context.PROVIDER_URL, "http://127.0.0.1:8080/wildfly-services");
> Context context = new InitialContext(jndiProps);
> return (RemoteCalc) context.lookup(REMOTE_CALC);
> }
> /**
> * Call to run (main).
> *
> * @param args parameters (not used)
> * @throws NamingException Something is wrong
> */
> public static void main(String[] args) throws NamingException {
>
> RemoteCalc remoteCalc = getRemoteCalc();
> System.out.println("Remote calc 95 + 76: " + remoteCalc.add(95, 76));
> }
> }
> {code}
> Exception:
> Exception in thread "main" javax.naming.InvalidNameException: WFNAM00007: Invalid URL scheme name "http"
> at org.wildfly.naming.client.WildFlyRootContext.getProviderContext(WildFlyRootContext.java:808)
> at org.wildfly.naming.client.WildFlyRootContext.lookup(WildFlyRootContext.java:140)
> at javax.naming.InitialContext.lookup(Unknown Source)
> at com.bosch.emea.bpart.remoteejbclient.Application.getRemoteCalc(Application.java:34)
> at com.bosch.emea.bpart.remoteejbclient.Application.main(Application.java:47)
> Lib:
> {code:java}
> @Remote
> public interface RemoteCalc {
> /**
> * Add two integer.
> *
> * @param a an integer
> * @param b an integer
> * @return a + b
> */
> public int add(int a, int b);
>
> }
> {code}
> Config:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <configuration>
> <authentication-client xmlns="urn:elytron:1.0">
> <authentication-rules>
> <rule use-configuration="default" />
> </authentication-rules>
> <authentication-configurations>
> <configuration name="default">
> <sasl-mechanism-selector selector="#ALL" />
> <set-mechanism-properties>
> <property key="wildfly.sasl.local-user.quiet-auth" value="true" />
> </set-mechanism-properties>
> <providers>
> <use-service-loader/>
> </providers>
> </configuration>
> </authentication-configurations>
> </authentication-client>
> </configuration>
> {code}
> Maven dependency:
> {code:xml}
> <dependency>
> <groupId>org.wildfly</groupId>
> <artifactId>wildfly-ejb-client-bom</artifactId>
> <version>20.0.0.Final</version>
> <type>pom</type>
> </dependency>
> {code}
>
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
More information about the jboss-jira
mailing list