[
https://issues.jboss.org/browse/JBWS-3778?page=com.atlassian.jira.plugin....
]
Alessio Soldano updated JBWS-3778:
----------------------------------
Description:
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}
was:
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:
{code}
[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
{code}
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
Fix For: jbossws-cxf-4.4
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