Index: modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsdd/WSDiscoveryTestCase.java =================================================================== --- modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsdd/WSDiscoveryTestCase.java 2013-09-18 17:03:33.924242459 +0200 +++ modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsdd/WSDiscoveryTestCase.java 2013-09-23 16:14:53.077481724 +0200 @@ -21,6 +21,7 @@ */ package org.jboss.test.ws.jaxws.samples.wsdd; +import java.util.ArrayList; import java.util.LinkedList; import java.util.List; @@ -33,7 +34,6 @@ import org.apache.cxf.BusFactory; import org.apache.cxf.ws.discovery.WSDiscoveryClient; import org.apache.cxf.ws.discovery.wsdl.ProbeMatchType; -import org.apache.cxf.ws.discovery.wsdl.ProbeMatchesType; import org.apache.cxf.ws.discovery.wsdl.ProbeType; import org.apache.cxf.ws.discovery.wsdl.ResolveMatchType; import org.apache.cxf.ws.discovery.wsdl.ScopesType; @@ -63,11 +63,10 @@ ProbeType pt = new ProbeType(); ScopesType scopes = new ScopesType(); pt.setScopes(scopes); - ProbeMatchesType pmts = client.probe(pt); - assertNotNull(pmts); - assertEquals(3, pmts.getProbeMatch().size()); + List pmts = filterProbeMatchesForHost(client.probe(pt).getProbeMatch(), getServerHost()); + assertEquals(3, pmts.size()); List rmts = new LinkedList(); - for (ProbeMatchType pmt : pmts.getProbeMatch()) { + for (ProbeMatchType pmt : pmts) { rmts.add(client.resolve(pmt.getEndpointReference())); } @@ -81,6 +80,37 @@ } } + private List filterProbeMatchesForHost(List probes, String serverHost) + { + List filtered = new ArrayList(); + for (ProbeMatchType probeMatchType : probes) + { + if (isProbeMatchTypeFromServer(probeMatchType, serverHost)) { + filtered.add(probeMatchType); + } + } + return filtered; + } + + private boolean isProbeMatchTypeFromServer(ProbeMatchType probeMatchType, String serverHost) + { + List addresses = probeMatchType.getXAddrs(); + boolean found = false; + int other = 0; + for (String address : addresses) + { + if (address.startsWith("http://" + serverHost + ":8080/jaxws-samples-wsdd")) + found = true; + else { + other++; + log.error("WSDiscoveryTestCase probeMatchType address " + address); + } + } + if (other != 0) + log.error("WSDiscoveryTestCase probeMatchType other addresses " + other); + return found; + } + public void testInvocation() throws Exception { Bus bus = null; @@ -91,11 +121,10 @@ ProbeType pt = new ProbeType(); ScopesType scopes = new ScopesType(); pt.setScopes(scopes); - ProbeMatchesType pmts = client.probe(pt); - assertNotNull(pmts); - assertEquals(3, pmts.getProbeMatch().size()); + List pmts = filterProbeMatchesForHost(client.probe(pt).getProbeMatch(), getServerHost()); + assertEquals(3, pmts.size()); List rmts = new LinkedList(); - for (ProbeMatchType pmt : pmts.getProbeMatch()) { + for (ProbeMatchType pmt : pmts) { rmts.add(client.resolve(pmt.getEndpointReference())); }