[
https://issues.jboss.org/browse/JBWS-3778?page=com.atlassian.jira.plugin....
]
R Searls commented on JBWS-3778:
--------------------------------
I do not believe this is a bug but expected behavior. Section 4.4, Default Sending
Algorithm in RFC 1933, "Transition Mechanisms for IPv6 Hosts and Routers"
explains
the cause of the initial java.net.SocketException that is thrown.[1] Because this
is a IPv6 ONLY network the router has no record of any IPv4 addresses, even the
multicast address,239.255.255.250 is unknown. The router has algorithms for destination
address lookup. When an address can not be resolve, the router must treat it as
"unreachable", hence the SocketException.
There is no clean solution to this issue because there is no way for an application
to know if the network environment in which it is running is a mixed node (IPv4/IPv6)
network and the thrown error indicates a true failure in the env or if the app is
running in a single node type (IPv6 only nodes or UPv4 only nodes) network and the
failure is expected.
[4]
http://tools.ietf.org/html/rfc1933
WS-Discovery and IPv6
---------------------
Key: JBWS-3778
URL:
https://issues.jboss.org/browse/JBWS-3778
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: jbossws-cxf, jbossws-integration
Reporter: Alessio Soldano
Assignee: R Searls
Fix For: jbossws-cxf-5.0
Apache CXF WSDiscoveryServiceImpl does
{code}
udpEndpoint.publish("soap.udp://239.255.255.250:3702");
{code}
which is fine as long as an IPv4 network is available.
This can lead to the following exception when on a pure IPv6 network:
{noformat}
[0m[33m06:25:53,342 WARNING [org.apache.cxf.ws.discovery.WSDiscoveryService] (MSC
service thread 1-2) Could not start WS-Discovery Service.:
javax.xml.ws.WebServiceException: java.lang.RuntimeException: java.net.SocketException: No
such device
at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:371)
[cxf-rt-frontend-jaxws-2.7.10.redhat-1.jar:2.7.10.redhat-1]
at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:251)
[cxf-rt-frontend-jaxws-2.7.10.redhat-1.jar:2.7.10.redhat-1]
at
org.jboss.wsf.stack.cxf.client.ProviderImpl$DelegateEndpointImpl.publish(ProviderImpl.java:421)
[jbossws-cxf-client-4.3.0.Final.jar:4.3.0.Final]
at
org.apache.cxf.ws.discovery.internal.WSDiscoveryServiceImpl.startup(WSDiscoveryServiceImpl.java:247)
[cxf-services-ws-discovery-api-2.7.10.redhat-1.jar:2.7.10.redhat-1]
at
org.apache.cxf.ws.discovery.internal.WSDiscoveryServiceImpl.serverStarted(WSDiscoveryServiceImpl.java:153)
[cxf-services-ws-discovery-api-2.7.10.redhat-1.jar:2.7.10.redhat-1]
at
org.apache.cxf.ws.discovery.listeners.WSDiscoveryServerListener.startServer(WSDiscoveryServerListener.java:73)
[cxf-services-ws-discovery-api-2.7.10.redhat-1.jar:2.7.10.redhat-1]
at
org.apache.cxf.bus.managers.ServerLifeCycleManagerImpl.startServer(ServerLifeCycleManagerImpl.java:61)
[cxf-rt-core-2.7.10.redhat-1.jar:2.7.10.redhat-1]
at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:146)
[cxf-api-2.7.10.redhat-1.jar:2.7.10.redhat-1]
at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:362)
[cxf-rt-frontend-jaxws-2.7.10.redhat-1.jar:2.7.10.redhat-1]
at org.jboss.wsf.stack.cxf.deployment.EndpointImpl.doPublish(EndpointImpl.java:66)
[jbossws-cxf-server-4.3.0.Final.jar:4.3.0.Final]
at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:251)
[cxf-rt-frontend-jaxws-2.7.10.redhat-1.jar:2.7.10.redhat-1]
at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:539)
[cxf-rt-frontend-jaxws-2.7.10.redhat-1.jar:2.7.10.redhat-1]
at
org.jboss.wsf.stack.cxf.configuration.NonSpringBusHolder.configure(NonSpringBusHolder.java:118)
[jbossws-cxf-server-4.3.0.Final.jar:4.3.0.Final]
at
org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.startDeploymentBus(BusDeploymentAspect.java:137)
[jbossws-cxf-server-4.3.0.Final.jar:4.3.0.Final]
at
org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.start(BusDeploymentAspect.java:69)
[jbossws-cxf-server-4.3.0.Final.jar:4.3.0.Final]
at
org.jboss.as.webservices.deployers.AspectDeploymentProcessor.deploy(AspectDeploymentProcessor.java:74)
[jboss-as-webservices-server-integration-7.4.0.Final-redhat-6.jar:7.4.0.Final-redhat-6]
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1980)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1913)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[rt.jar:1.8.0]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[rt.jar:1.8.0]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.8.0]
Caused by: java.lang.RuntimeException: java.net.SocketException: No such device
at
org.jboss.wsf.stack.cxf.addons.transports.udp.UDPDestination.activate(UDPDestination.java:201)
[jbossws-cxf-transports-udp-4.3.0.Final.jar:4.3.0.Final]
at
org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:49)
[cxf-api-2.7.10.redhat-1.jar:2.7.10.redhat-1]
at
org.apache.cxf.binding.AbstractBaseBindingFactory.addListener(AbstractBaseBindingFactory.java:95)
[cxf-api-2.7.10.redhat-1.jar:2.7.10.redhat-1]
at
org.apache.cxf.binding.soap.SoapBindingFactory.addListener(SoapBindingFactory.java:893)
[cxf-rt-bindings-soap-2.7.10.redhat-1.jar:2.7.10.redhat-1]
at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:131)
[cxf-api-2.7.10.redhat-1.jar:2.7.10.redhat-1]
at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:362)
[cxf-rt-frontend-jaxws-2.7.10.redhat-1.jar:2.7.10.redhat-1]
... 21 more
Caused by: java.net.SocketException: No such device
at java.net.PlainDatagramSocketImpl.join(Native Method) [rt.jar:1.8.0]
at
java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:178)
[rt.jar:1.8.0]
at java.net.MulticastSocket.joinGroup(MulticastSocket.java:323) [rt.jar:1.8.0]
at
org.jboss.wsf.stack.cxf.addons.transports.udp.UDPDestination.activate(UDPDestination.java:185)
[jbossws-cxf-transports-udp-4.3.0.Final.jar:4.3.0.Final]
... 26 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