[jbossws-issues] [JBoss JIRA] (JBWS-3778) WS-Discovery and IPv6

Alessio Soldano (JIRA) issues at jboss.org
Wed Mar 26 11:25:13 EDT 2014


     [ https://issues.jboss.org/browse/JBWS-3778?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

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}
06: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}
06: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}
> 06: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



More information about the jbossws-issues mailing list