CXF 2.3.1, Jetty 7.1.5

Hello,

We have an application using CXF for RESTful web services.  It has been
working correctly on a IPv4 network for a long time.

I am trying to verify our application on IPv6.  It works ok if I use a
nameservice hostname (/etc/hosts, DNS, etc.) in the URL, but I get a 404 if
I use the numeric IP address, using the convention of enclosing the IPv6
address in brackets.  Using verbose cURL, I see this when it works:

[root@localhost local]# curl --verbose --basic --user xxxxx:xxxxxxxx --ipv6
'http://visionserver6/rws/mobile/devices'
* About to connect() to visionserver6 port 80
*   Trying fd4f:6e92:48ef:1:20c:29ff:fe9a:4b0... connected
* Connected to visionserver6 (fd4f:6e92:48ef:1:20c:29ff:fe9a:4b0) port 80
* Server auth using Basic with user 'xxxxx'
> GET /rws/mobile/devices HTTP/1.1
> Authorization: Basic YWRtaW46cGFzc3dvcmQ=
> User-Agent: curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5
> OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
> Host: visionserver6
> Accept: */*
> 
< HTTP/1.1 200 OK
< Content-Type: application/json
< Date: Thu, 02 Jun 2011 22:01:27 GMT
< Transfer-Encoding: chunked
< Server: Jetty(7.x.y-SNAPSHOT)

[ snip -- returned JSON body deleted ]

* Connection #0 to host visionserver6 left intact
* Closing connection #0


and this when it fails:

[root@localhost local]# curl --verbose --basic --user xxxxx:xxxxxxxx --ipv6
'http://\[fd4f:6e92:48ef:1:20c:29ff:fe9a:4b0\]/rws/mobile/devices'
* About to connect() to fd4f:6e92:48ef:1:20c:29ff:fe9a:4b0 port 80
*   Trying fd4f:6e92:48ef:1:20c:29ff:fe9a:4b0... connected
* Connected to fd4f:6e92:48ef:1:20c:29ff:fe9a:4b0
(fd4f:6e92:48ef:1:20c:29ff:fe9a:4b0) port 80
* Server auth using Basic with user 'xxxxx'
> GET /rws/mobile/devices HTTP/1.1
> Authorization: Basic YWRtaW46cGFzc3dvcmQ=
> User-Agent: curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5
> OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
> Host: [fd4f:6e92:48ef:1:20c:29ff:fe9a:4b0]
> Accept: */*
> 
< HTTP/1.1 404 Not Found
< Content-Type: text/xml
< Date: Thu, 02 Jun 2011 21:58:40 GMT
< Content-Length: 0
< Server: Jetty(7.x.y-SNAPSHOT)
* Connection #0 to host fd4f:6e92:48ef:1:20c:29ff:fe9a:4b0 left intact
* Closing connection #0


It looks like connection to the web server is succeeding, and the GET
command is the same in both cases.  The only thing obviously different in
the request is the value of the Host header, and I believe that is correct
per RFC 2732.

I turned on CXF debug logging.  In the successful case, nothing is logged;
when it fails, I get this:

Jun 2, 2011 3:58:39 PM org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor
processRequest
WARNING: No root resource matching request path /rws/mobile/devices has been
found.
Jun 2, 2011 3:58:40 PM
org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper toResponse
WARNING: WebApplicationException has been caught : no cause is available


Any ideas?

Thanks,
Brian


--
View this message in context: 
http://cxf.547215.n5.nabble.com/404-with-numeric-IPv6-address-in-URL-tp4449661p4449661.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to