The relevant config item should be in the remoting subsystem:
<http-connector name="http-remoting-connector"
connector-ref="default" security-realm="ApplicationRealm"/>
This is the bit that registers the HTTP upgrade handler with Undertow.
Stuart
On Mon, Feb 17, 2014 at 8:12 PM, Jeff Mesnil <jmesnil(a)redhat.com
<mailto:jmesnil@redhat.com>> wrote:
Hi,
Now we have an OpenShift cartridge for WildFly 8.0.0.Final (hanks
Farah!), I’m adding instructions to the JMS quickstarts to deploy
them on OpenShift.
The helloworld-mdb is working fine but I have an issue with the
helloworld-jms one[1].
In this quick start, the Java client makes a lookup to JNDI to
retrieve the JMS resources.
The quickstart uses the “http-remoting://localhost:8080” as the JNDI
provider URL for a local WildFly server.
When I host WildFly on OpenShift, that URL should translate to
http-remoting://<app>-<namespace>.rhcloud.com:80
<
http://rhcloud.com:80> (in my case
http-remoting://helloworldjms-jmesnil.rhcloud.com:80
<
http://helloworldjms-jmesnil.rhcloud.com:80>)
However this does not work:
$ mvn clean compile exec:java
-Djava.naming.provider.url=http-remoting://helloworldjms-jmesnil.rhcloud.com:80
<
http://helloworldjms-jmesnil.rhcloud.com:80>
…
Feb 17, 2014 3:28:46 PM org.xnio.Xnio <clinit>
INFO: XNIO version 3.2.0.Final
Feb 17, 2014 3:28:46 PM org.xnio.nio.NioXnio <clinit>
INFO: XNIO NIO Implementation Version 3.2.0.Final
Feb 17, 2014 3:28:46 PM org.jboss.remoting3.EndpointImpl <clinit>
INFO: JBoss Remoting version 4.0.0.Final
Feb 17, 2014 3:28:46 PM
org.jboss.as.quickstarts.jms.HelloWorldJMSClient main
INFO: Attempting to acquire connection factory
"jms/RemoteConnectionFactory"
Feb 17, 2014 3:28:47 PM
org.jboss.as.quickstarts.jms.HelloWorldJMSClient main
SEVERE: Failed to connect to any server. Servers tried:
[http-remoting://helloworldjms-jmesnil.rhcloud.com:80
<
http://helloworldjms-jmesnil.rhcloud.com:80> (java.io.IOException:
Invalid response code 200)]
Remote naming is correctly complaining that the HTTP Upgrade
handshake responded with a 200 OK instead of a 100 Continue.
Indeed, the deployed WildFly server does not upgrade my connection.
You can check by hand using curl:
$ curl -v
http://helloworldjms-jmesnil.rhcloud.com -H
'Connection:upgrade' -H 'Upgrade:jboss-remoting' -H
'Sec-JbossRemoting-Key: Xj8ZjttC3aixB1bAZ9w39A=='
...
* Connected to
helloworldjms-jmesnil.rhcloud.com
<
http://helloworldjms-jmesnil.rhcloud.com> (50.17.25.239) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.30.0
> Host:
helloworldjms-jmesnil.rhcloud.com
<
http://helloworldjms-jmesnil.rhcloud.com>
> Accept: */*
> Connection:upgrade
> Upgrade:jboss-remoting
> Sec-JbossRemoting-Key: Xj8ZjttC3aixB1bAZ9w39A==
>
< HTTP/1.1 200 OK
< Date: Mon, 17 Feb 2014 14:23:37 GMT
* Server Wildfly 8 is not blacklisted
< Server: Wildfly 8
< Last-Modified: Mon, 17 Feb 2014 14:20:22 GMT
< X-Powered-By: Undertow 1
< Content-Type: text/html
< Content-Length: 41708
< Vary: Accept-Encoding
…
[Home Page content follows]
The undertow’s http-listener is the default one;
<http-listener name="default" socket-binding="http"
proxy-address-forwarding="true”/>
I tried removing the proxy-address-forwarding attribute but that did
not change anything.
Has someone managed to use remote naming with WildFly on OpenShift?
Am I missing something obvious to make it run?
jeff
[1]
https://github.com/jmesnil/quickstart/blob/helloworld-jms-openshift/hello...
--
Jeff Mesnil
JBoss, a division of Red Hat
http://jmesnil.net/
_______________________________________________
wildfly-dev mailing list
wildfly-dev(a)lists.jboss.org <mailto:wildfly-dev@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/wildfly-dev
_______________________________________________
wildfly-dev mailing list
wildfly-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/wildfly-dev