You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2007/03/26 22:31:02 UTC
svn commit: r522619 - in /incubator/cxf/trunk:
integration/jbi/src/main/java/org/apache/cxf/jbi/transport/
rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/
rt/core/src/main/java/org/apache/cxf/service/
rt/core/src/main/java/org/apache/cxf/ws...
Author: dkulp
Date: Mon Mar 26 13:31:01 2007
New Revision: 522619
URL: http://svn.apache.org/viewvc?view=rev&rev=522619
Log:
First part of CXF-460
* Update wsdl parsing to return a List<ServiceInfo> instead of a single one.
* If more than one portType is used, more than one ServiceInfo is returned
* Still need to get the rest of the runtime/etc... to then select the correct one
Added:
incubator/cxf/trunk/rt/core/src/test/resources/org/apache/cxf/wsdl11/hello_world_multiporttype.wsdl (with props)
Modified:
incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/JBIConduitOutputStream.java
incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/ServiceModelUtilTest.java
incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/SoapBindingFactoryTest.java
incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/TestBase.java
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceModelVisitor.java
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceFactory.java
incubator/cxf/trunk/rt/core/src/test/java/org/apache/cxf/wsdl11/ServiceWSDLBuilderTest.java
incubator/cxf/trunk/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLServiceBuilderTest.java
incubator/cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java
incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/JaxWsServiceConfigurationTest.java
incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProviderTest.java
incubator/cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java
Modified: incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/JBIConduitOutputStream.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/JBIConduitOutputStream.java?view=diff&rev=522619&r1=522618&r2=522619
==============================================================================
--- incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/JBIConduitOutputStream.java (original)
+++ incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/JBIConduitOutputStream.java Mon Mar 26 13:31:01 2007
@@ -94,8 +94,8 @@
if (target != null) {
serviceName = EndpointReferenceUtils.getServiceName(target);
} else {
- serviceName = message.getExchange().get(org.apache.cxf.service.Service.class).
- getServiceInfo().getName();
+ serviceName = message.getExchange().get(org.apache.cxf.service.Service.class)
+ .getName();
}
Modified: incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/ServiceModelUtilTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/ServiceModelUtilTest.java?view=diff&rev=522619&r1=522618&r2=522619
==============================================================================
--- incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/ServiceModelUtilTest.java (original)
+++ incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/ServiceModelUtilTest.java Mon Mar 26 13:31:01 2007
@@ -81,7 +81,7 @@
expect(bus.getExtension(DestinationFactoryManager.class)).andStubReturn(dfm);
control.replay();
- serviceInfo = wsdlServiceBuilder.buildService(def, service);
+ serviceInfo = wsdlServiceBuilder.buildServices(def, service).get(0);
}
public void tearDown() throws Exception {
Modified: incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/SoapBindingFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/SoapBindingFactoryTest.java?view=diff&rev=522619&r1=522618&r2=522619
==============================================================================
--- incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/SoapBindingFactoryTest.java (original)
+++ incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/SoapBindingFactoryTest.java Mon Mar 26 13:31:01 2007
@@ -88,7 +88,8 @@
WSDLServiceBuilder builder = new WSDLServiceBuilder(bus);
ServiceInfo serviceInfo = builder
- .buildService(d, new QName("http://apache.org/hello_world_soap_http", "SOAPService"));
+ .buildServices(d, new QName("http://apache.org/hello_world_soap_http", "SOAPService"))
+ .get(0);
BindingInfo bi = serviceInfo.getBindings().iterator().next();
@@ -132,7 +133,8 @@
WSDLServiceBuilder builder = new WSDLServiceBuilder(bus);
ServiceInfo serviceInfo = builder
- .buildService(d, new QName("http://apache.org/hello_world_soap12_http", "SOAPService"));
+ .buildServices(d, new QName("http://apache.org/hello_world_soap12_http", "SOAPService"))
+ .get(0);
BindingInfo bi = serviceInfo.getBindings().iterator().next();
Modified: incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/TestBase.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/TestBase.java?view=diff&rev=522619&r1=522618&r2=522619
==============================================================================
--- incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/TestBase.java (original)
+++ incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/TestBase.java Mon Mar 26 13:31:01 2007
@@ -132,7 +132,7 @@
EasyMock.expect(bus.getExtension(DestinationFactoryManager.class)).andStubReturn(dfm);
control.replay();
- ServiceInfo serviceInfo = wsdlServiceBuilder.buildService(def, service);
+ ServiceInfo serviceInfo = wsdlServiceBuilder.buildServices(def, service).get(0);
serviceInfo.setProperty(WSDLServiceBuilder.WSDL_DEFINITION, null);
serviceInfo.setProperty(WSDLServiceBuilder.WSDL_SERVICE, null);
return serviceInfo;
Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceModelVisitor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceModelVisitor.java?view=diff&rev=522619&r1=522618&r2=522619
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceModelVisitor.java (original)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceModelVisitor.java Mon Mar 26 13:31:01 2007
@@ -31,7 +31,7 @@
*
*/
public class ServiceModelVisitor {
- private ServiceInfo serviceInfo;
+ protected ServiceInfo serviceInfo;
public ServiceModelVisitor(ServiceInfo serviceInfo) {
super();
Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java?view=diff&rev=522619&r1=522618&r2=522619
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java (original)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java Mon Mar 26 13:31:01 2007
@@ -23,6 +23,7 @@
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -126,7 +127,7 @@
}
- public List<ServiceInfo> buildService(Definition d) {
+ public List<ServiceInfo> buildServices(Definition d) {
DescriptionInfo description = new DescriptionInfo();
description.setProperty(WSDL_DEFINITION, d);
description.setName(d.getQName());
@@ -138,24 +139,24 @@
for (java.util.Iterator<QName> ite =
CastUtils.cast(d.getServices().keySet().iterator()); ite.hasNext();) {
QName qn = ite.next();
- serviceList.add(buildService(d, qn, description));
+ serviceList.addAll(buildServices(d, qn, description));
}
return serviceList;
}
- public ServiceInfo buildService(Definition d, QName name) {
- return buildService(d, name, null);
+ public List<ServiceInfo> buildServices(Definition d, QName name) {
+ return buildServices(d, name, null);
}
- private ServiceInfo buildService(Definition d, QName name, DescriptionInfo description) {
+ private List<ServiceInfo> buildServices(Definition d, QName name, DescriptionInfo description) {
Service service = d.getService(name);
- return buildService(d, service, description);
+ return buildServices(d, service, description);
}
- public ServiceInfo buildService(Definition def, Service serv) {
- return buildService(def, serv, null);
+ public List<ServiceInfo> buildServices(Definition def, Service serv) {
+ return buildServices(def, serv, null);
}
@@ -199,7 +200,9 @@
}
- private ServiceInfo buildService(Definition def, Service serv, DescriptionInfo d) {
+ private List<ServiceInfo> buildServices(Definition def, Service serv, DescriptionInfo d) {
+ Map<QName, ServiceInfo> services = new LinkedHashMap<QName, ServiceInfo>();
+
DescriptionInfo description = d;
if (null == description) {
description = new DescriptionInfo();
@@ -209,32 +212,30 @@
copyExtensors(description, def.getExtensibilityElements());
copyExtensionAttributes(description, def);
}
- ServiceInfo service = new ServiceInfo();
- service.setDescription(description);
- description.getDescribed().add(service);
- service.setProperty(WSDL_DEFINITION, def);
- service.setProperty(WSDL_SERVICE, serv);
-
- XmlSchemaCollection schemas = getSchemas(def, service);
- service.setProperty(WSDL_SCHEMA_ELEMENT_LIST, this.schemaList);
- service.setProperty(WSDL_SCHEMA_LIST, schemas);
- service.setTargetNamespace(def.getTargetNamespace());
- service.setName(serv.getQName());
- copyExtensors(service, serv.getExtensibilityElements());
- copyExtensionAttributes(service, serv);
-
- PortType portType = null;
- for (Port port : cast(serv.getPorts().values(), Port.class)) {
- if (portType == null) {
- portType = port.getBinding().getPortType();
- } else if (port.getBinding().getPortType() != portType) {
- throw new IllegalStateException("All endpoints must share the same portType");
- }
- }
-
- buildInterface(service, portType);
+
for (Port port : cast(serv.getPorts().values(), Port.class)) {
Binding binding = port.getBinding();
+ PortType pt = binding.getPortType();
+ ServiceInfo service = services.get(pt.getQName());
+ if (service == null) {
+ service = new ServiceInfo();
+ service.setDescription(description);
+ description.getDescribed().add(service);
+ service.setProperty(WSDL_DEFINITION, def);
+ service.setProperty(WSDL_SERVICE, serv);
+
+ XmlSchemaCollection schemas = getSchemas(def, service);
+ service.setProperty(WSDL_SCHEMA_ELEMENT_LIST, this.schemaList);
+ service.setProperty(WSDL_SCHEMA_LIST, schemas);
+ service.setTargetNamespace(def.getTargetNamespace());
+ service.setName(serv.getQName());
+ copyExtensors(service, serv.getExtensibilityElements());
+ copyExtensionAttributes(service, serv);
+
+ buildInterface(service, pt);
+
+ services.put(pt.getQName(), service);
+ }
BindingInfo bi = service.getBinding(binding.getQName());
if (bi == null) {
@@ -243,7 +244,7 @@
buildEndpoint(service, bi, port);
}
- return service;
+ return new ArrayList<ServiceInfo>(services.values());
}
private XmlSchemaCollection getSchemas(Definition def, ServiceInfo serviceInfo) {
Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceFactory.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceFactory.java?view=diff&rev=522619&r1=522618&r2=522619
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceFactory.java (original)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceFactory.java Mon Mar 26 13:31:01 2007
@@ -76,10 +76,11 @@
public Service create() {
ServiceInfo serviceInfo;
if (serviceName == null) {
- List<ServiceInfo> services = new WSDLServiceBuilder(getBus()).buildService(definition);
+ List<ServiceInfo> services = new WSDLServiceBuilder(getBus()).buildServices(definition);
if (services.size() == 0) {
throw new ServiceConstructionException(new Message("NO_SERVICE_EXC", LOG));
} else {
+ //@@TODO - this isn't good, need to return all the services
serviceInfo = services.get(0);
serviceName = serviceInfo.getName();
}
@@ -88,7 +89,7 @@
if (wsdlService == null) {
throw new ServiceConstructionException(new Message("NO_SUCH_SERVICE_EXC", LOG, serviceName));
}
- serviceInfo = new WSDLServiceBuilder(getBus()).buildService(definition, wsdlService);
+ serviceInfo = new WSDLServiceBuilder(getBus()).buildServices(definition, wsdlService).get(0);
}
ServiceImpl service = new ServiceImpl(serviceInfo);
setService(service);
Modified: incubator/cxf/trunk/rt/core/src/test/java/org/apache/cxf/wsdl11/ServiceWSDLBuilderTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/test/java/org/apache/cxf/wsdl11/ServiceWSDLBuilderTest.java?view=diff&rev=522619&r1=522618&r2=522619
==============================================================================
--- incubator/cxf/trunk/rt/core/src/test/java/org/apache/cxf/wsdl11/ServiceWSDLBuilderTest.java (original)
+++ incubator/cxf/trunk/rt/core/src/test/java/org/apache/cxf/wsdl11/ServiceWSDLBuilderTest.java Mon Mar 26 13:31:01 2007
@@ -96,7 +96,7 @@
control.replay();
- serviceInfo = wsdlServiceBuilder.buildService(def, service);
+ serviceInfo = wsdlServiceBuilder.buildServices(def, service).get(0);
serviceInfo.setProperty(WSDLServiceBuilder.WSDL_DEFINITION, null);
serviceInfo.setProperty(WSDLServiceBuilder.WSDL_SERVICE, null);
newDef = new ServiceWSDLBuilder(serviceInfo).build();
Modified: incubator/cxf/trunk/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLServiceBuilderTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLServiceBuilderTest.java?view=diff&rev=522619&r1=522618&r2=522619
==============================================================================
--- incubator/cxf/trunk/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLServiceBuilderTest.java (original)
+++ incubator/cxf/trunk/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLServiceBuilderTest.java Mon Mar 26 13:31:01 2007
@@ -22,6 +22,7 @@
import java.io.File;
import java.io.FileOutputStream;
import java.net.URI;
+import java.net.URL;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.Collection;
@@ -41,8 +42,6 @@
import org.w3c.dom.Document;
import org.w3c.dom.Element;
-import junit.framework.TestCase;
-
import org.apache.cxf.Bus;
import org.apache.cxf.binding.BindingFactoryManager;
import org.apache.cxf.helpers.CastUtils;
@@ -66,13 +65,17 @@
import org.apache.ws.commons.schema.XmlSchemaElement;
import org.easymock.classextension.EasyMock;
import org.easymock.classextension.IMocksControl;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
-public class WSDLServiceBuilderTest extends TestCase {
+public class WSDLServiceBuilderTest extends Assert {
// TODO: reuse the wsdl in testutils and add the parameter order into one of the wsdl
private static final Logger LOG = Logger.getLogger(WSDLServiceBuilderTest.class.getName());
private static final String WSDL_PATH = "hello_world.wsdl";
private static final String BARE_WSDL_PATH = "hello_world_bare.wsdl";
private static final String IMPORT_WSDL_PATH = "hello_world_schema_import.wsdl";
+ private static final String MULTIPORT_WSDL_PATH = "hello_world_multiporttype.wsdl";
private static final String EXTENSION_NAMESPACE = "http://cxf.apache.org/extension/ns";
private static final QName EXTENSION_ATTR_BOOLEAN = new QName(EXTENSION_NAMESPACE, "booleanAttr");
@@ -84,6 +87,7 @@
private Service service;
private ServiceInfo serviceInfo;
+ private List<ServiceInfo> serviceInfos;
private IMocksControl control;
@@ -93,14 +97,15 @@
private DestinationFactoryManager destinationFactoryManager;
+ @Before
public void setUp() throws Exception {
setUpWSDL(WSDL_PATH, 0);
}
-
-
private void setUpWSDL(String wsdl, int serviceSeq) throws Exception {
- String wsdlUrl = getClass().getResource(wsdl).toString();
+ URL url = getClass().getResource(wsdl);
+ assertNotNull("could not find wsdl " + wsdl, url);
+ String wsdlUrl = url.toString();
LOG.info("the path of wsdl file is " + wsdlUrl);
WSDLFactory wsdlFactory = WSDLFactory.newInstance();
WSDLReader wsdlReader = wsdlFactory.newWSDLReader();
@@ -108,7 +113,6 @@
def = wsdlReader.readWSDL(new WSDLLocatorImpl(wsdlUrl));
- WSDLServiceBuilder wsdlServiceBuilder = new WSDLServiceBuilder(bus);
int seq = 0;
for (Service serv : CastUtils.cast(def.getServices().values(), Service.class)) {
if (serv != null) {
@@ -125,22 +129,28 @@
bus = control.createMock(Bus.class);
bindingFactoryManager = control.createMock(BindingFactoryManager.class);
destinationFactoryManager = control.createMock(DestinationFactoryManager.class);
- wsdlServiceBuilder = new WSDLServiceBuilder(bus);
+ WSDLServiceBuilder wsdlServiceBuilder = new WSDLServiceBuilder(bus);
EasyMock.expect(bus.getExtension(BindingFactoryManager.class))
.andReturn(bindingFactoryManager).anyTimes();
- EasyMock.expect(bus.getExtension(DestinationFactoryManager.class)).andReturn(
- destinationFactoryManager);
+
+ EasyMock.expect(bus.getExtension(DestinationFactoryManager.class))
+ .andReturn(destinationFactoryManager).atLeastOnce();
control.replay();
- serviceInfo = wsdlServiceBuilder.buildService(def, service);
+ serviceInfos = wsdlServiceBuilder.buildServices(def, service);
+ serviceInfo = serviceInfos.get(0);
}
- public void tearDown() throws Exception {
+ @Test
+ public void testMultiPorttype() throws Exception {
+ setUpWSDL(MULTIPORT_WSDL_PATH, 0);
+ assertEquals(2, serviceInfos.size());
control.verify();
}
+ @Test
public void testServiceInfo() throws Exception {
assertEquals("SOAPService", serviceInfo.getName().getLocalPart());
assertEquals("http://apache.org/hello_world_soap_http", serviceInfo.getName().getNamespaceURI());
@@ -154,12 +164,16 @@
assertNotNull(ei);
assertEquals("http://schemas.xmlsoap.org/wsdl/soap/", ei.getTransportId());
assertNotNull(ei.getBinding());
+ control.verify();
}
+ @Test
public void testInterfaceInfo() throws Exception {
assertEquals("Greeter", serviceInfo.getInterface().getName().getLocalPart());
+ control.verify();
}
+ @Test
public void testOperationInfo() throws Exception {
QName name = new QName(serviceInfo.getName().getNamespaceURI(), "sayHi");
assertEquals(serviceInfo.getInterface().getOperations().size(), 4);
@@ -233,8 +247,10 @@
assertTrue(pingMe.hasOutput());
assertNull(serviceInfo.getInterface().getOperation(new QName("what ever")));
+ control.verify();
}
+ @Test
public void testBindingInfo() throws Exception {
BindingInfo bindingInfo = null;
assertEquals(1, serviceInfo.getBindings().size());
@@ -243,8 +259,10 @@
assertEquals(bindingInfo.getInterface().getName().getLocalPart(), "Greeter");
assertEquals(bindingInfo.getName().getLocalPart(), "Greeter_SOAPBinding");
assertEquals(bindingInfo.getName().getNamespaceURI(), "http://apache.org/hello_world_soap_http");
+ control.verify();
}
+ @Test
public void testBindingOperationInfo() throws Exception {
BindingInfo bindingInfo = null;
bindingInfo = serviceInfo.getBindings().iterator().next();
@@ -272,8 +290,10 @@
BindingOperationInfo pingMe = bindingInfo.getOperation(name);
assertNotNull(pingMe);
assertEquals(pingMe.getName(), name);
+ control.verify();
}
+ @Test
public void testBindingMessageInfo() throws Exception {
BindingInfo bindingInfo = null;
bindingInfo = serviceInfo.getBindings().iterator().next();
@@ -328,8 +348,10 @@
elementName = fault.getFaultInfo().getMessageParts().get(0).getElementQName();
assertEquals(elementName.getLocalPart(), "faultDetail");
assertEquals(elementName.getNamespaceURI(), "http://apache.org/hello_world_soap_http/types");
+ control.verify();
}
+ @Test
public void testSchema() {
XmlSchemaCollection schemas = serviceInfo.getProperty(WSDLServiceBuilder.WSDL_SCHEMA_LIST,
XmlSchemaCollection.class);
@@ -344,8 +366,10 @@
// with schema in serviceInfo
Schema schema = EndpointReferenceUtils.getSchema(serviceInfo);
assertNotNull(schema);
+ control.verify();
}
+ @Test
public void testBare() throws Exception {
setUpWSDL(BARE_WSDL_PATH, 0);
BindingInfo bindingInfo = null;
@@ -361,8 +385,10 @@
assertFalse("greetMe should be a Unwrapped operation ", greetMe.isUnwrappedCapable());
assertNotNull(serviceInfo.getXmlSchemaCollection());
+ control.verify();
}
+ @Test
public void testImport() throws Exception {
// rewrite the schema1.xsd to import schema2.xsd with absolute path.
DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
@@ -404,14 +430,17 @@
assertNotNull(ele);
Schema schema = EndpointReferenceUtils.getSchema(serviceInfo);
assertNotNull(schema);
+ control.verify();
}
+ @Test
public void testDiffPortTypeNsImport() throws Exception {
setUpWSDL("/DiffPortTypeNs.wsdl", 0);
doDiffPortTypeNsImport();
setUpWSDL("/DiffPortTypeNs.wsdl", 1);
doDiffPortTypeNsImport();
+ control.verify();
}
private void doDiffPortTypeNsImport() {
@@ -432,6 +461,7 @@
}
}
+ @Test
public void testParameterOrder() throws Exception {
String ns = "http://apache.org/hello_world_xml_http/bare";
setUpWSDL("hello_world_xml_bare.wsdl", 0);
@@ -468,9 +498,11 @@
assertEquals(3, parts.size());
assertEquals("in3", parts.get(0).getName().getLocalPart());
assertEquals("in1", parts.get(1).getName().getLocalPart());
- assertEquals("in2", parts.get(2).getName().getLocalPart());
+ assertEquals("in2", parts.get(2).getName().getLocalPart());
+ control.verify();
}
+ @Test
public void testParameterOrder2() throws Exception {
setUpWSDL("header2.wsdl", 0);
String ns = "http://apache.org/header2";
@@ -481,8 +513,10 @@
assertEquals(2, parts.size());
assertEquals("header_info", parts.get(0).getName().getLocalPart());
assertEquals("the_request", parts.get(1).getName().getLocalPart());
+ control.verify();
}
+ @Test
public void testExtensions() throws Exception {
setUpWSDL("hello_world_ext.wsdl", 0);
@@ -547,6 +581,8 @@
assertBindingOperationMessageExtensions(boi, true, true, faultName);
assertBindingOperationMessageExtensions(bi.getOperation(greetMeOpName), false, true, null);
+ control.verify();
+
}
private void assertPortTypeOperationExtensions(OperationInfo oi, boolean expectExtensions) {
Added: incubator/cxf/trunk/rt/core/src/test/resources/org/apache/cxf/wsdl11/hello_world_multiporttype.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/test/resources/org/apache/cxf/wsdl11/hello_world_multiporttype.wsdl?view=auto&rev=522619
==============================================================================
--- incubator/cxf/trunk/rt/core/src/test/resources/org/apache/cxf/wsdl11/hello_world_multiporttype.wsdl (added)
+++ incubator/cxf/trunk/rt/core/src/test/resources/org/apache/cxf/wsdl11/hello_world_multiporttype.wsdl Mon Mar 26 13:31:01 2007
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<definitions name="HelloWorldService"
+ targetNamespace="http://cxf.apache.org/test/hello_world_multi"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://cxf.apache.org/test/hello_world_multi"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+
+ <message name="greetMe">
+ <part name="stringParam0" type="xsd:string"/>
+ </message>
+ <message name="greetMeResponse">
+ <part name="return" type="xsd:string"/>
+ </message>
+
+ <message name="greetMe2">
+ <part name="stringParam0" type="xsd:string"/>
+ </message>
+ <message name="greetMe2Response">
+ <part name="return" type="xsd:string"/>
+ </message>
+
+ <portType name="HelloWorldPortType">
+ <operation name="greetMe">
+ <input message="tns:greetMe" name="greetMe"/>
+ <output message="tns:greetMeResponse" name="greetMeResponse"/>
+ </operation>
+ </portType>
+ <portType name="HelloWorldPortType2">
+ <operation name="greetMe2">
+ <input message="tns:greetMe2" name="greetMe2"/>
+ <output message="tns:greetMe2Response" name="greetMe2Response"/>
+ </operation>
+ </portType>
+
+
+ <binding name="HelloWorldBinding" type="tns:HelloWorldPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="greetMe">
+ <soap:operation soapAction="" style="rpc"/>
+ <input name="greetMe">
+ <soap:body
+ namespace="http://cxf.apache.org/test/hello_world_multi" use="literal"/>
+ </input>
+ <output name="greetMeResponse">
+ <soap:body
+ namespace="http://cxf.apache.org/test/hello_world_multi" use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <binding name="HelloWorldBinding2" type="tns:HelloWorldPortType2">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="greetMe2">
+ <soap:operation soapAction="" style="rpc"/>
+ <input name="greetMe2">
+ <soap:body
+ namespace="http://cxf.apache.org/test/hello_world_multi" use="literal"/>
+ </input>
+ <output name="greetMe2Response">
+ <soap:body
+ namespace="http://cxf.apache.org/test/hello_world_multi" use="literal"/>
+ </output>
+ </operation>
+ </binding>
+
+ <service name="HelloWorldService">
+ <port binding="tns:HelloWorldBinding" name="HelloWorldPort">
+ <soap:address location="http://localhost:9000/SoapContext/SoapPort"/>
+ </port>
+ <port binding="tns:HelloWorldBinding2" name="HelloWorldPort2">
+ <soap:address location="http://localhost:9000/SoapContext/SoapPort"/>
+ </port>
+ </service>
+
+</definitions>
+
+
Propchange: incubator/cxf/trunk/rt/core/src/test/resources/org/apache/cxf/wsdl11/hello_world_multiporttype.wsdl
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/rt/core/src/test/resources/org/apache/cxf/wsdl11/hello_world_multiporttype.wsdl
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/cxf/trunk/rt/core/src/test/resources/org/apache/cxf/wsdl11/hello_world_multiporttype.wsdl
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: incubator/cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java?view=diff&rev=522619&r1=522618&r2=522619
==============================================================================
--- incubator/cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java (original)
+++ incubator/cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java Mon Mar 26 13:31:01 2007
@@ -104,7 +104,7 @@
}
}
- serviceInfo = wsdlServiceBuilder.buildService(def, service);
+ serviceInfo = wsdlServiceBuilder.buildServices(def, service).get(0);
List<String> schemas = new ArrayList<String>();
String schema1 = getClass().getResource(SCHEMA1).toString();
Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/JaxWsServiceConfigurationTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/JaxWsServiceConfigurationTest.java?view=diff&rev=522619&r1=522618&r2=522619
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/JaxWsServiceConfigurationTest.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/JaxWsServiceConfigurationTest.java Mon Mar 26 13:31:01 2007
@@ -97,7 +97,7 @@
EasyMock.expect(bus.getExtension(DestinationFactoryManager.class)).andStubReturn(dfm);
control.replay();
- ServiceInfo serviceInfo = wsdlServiceBuilder.buildService(def, service);
+ ServiceInfo serviceInfo = wsdlServiceBuilder.buildServices(def, service).get(0);
serviceInfo.setProperty(WSDLServiceBuilder.WSDL_DEFINITION, null);
serviceInfo.setProperty(WSDLServiceBuilder.WSDL_SERVICE, null);
return serviceInfo;
Modified: incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProviderTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProviderTest.java?view=diff&rev=522619&r1=522618&r2=522619
==============================================================================
--- incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProviderTest.java (original)
+++ incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProviderTest.java Mon Mar 26 13:31:01 2007
@@ -93,7 +93,7 @@
String resourceName = "/attachment/wsdl11/test" + i + ".wsdl";
URL url = Wsdl11AttachmentPolicyProviderTest.class.getResource(resourceName);
try {
- services[i] = builder.buildService(manager.getDefinition(url)).get(0);
+ services[i] = builder.buildServices(manager.getDefinition(url)).get(0);
} catch (WSDLException ex) {
ex.printStackTrace();
fail("Failed to build service from resource " + resourceName);
Modified: incubator/cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java?view=diff&rev=522619&r1=522618&r2=522619
==============================================================================
--- incubator/cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java (original)
+++ incubator/cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java Mon Mar 26 13:31:01 2007
@@ -136,11 +136,11 @@
String serviceName = (String)context.get(ToolConstants.CFG_SERVICENAME);
if (serviceName != null) {
- ServiceInfo service = serviceBuilder
- .buildService(definition, getServiceQName(definition));
- serviceList.add(service);
+ List<ServiceInfo> services = serviceBuilder
+ .buildServices(definition, getServiceQName(definition));
+ serviceList.addAll(services);
} else if (definition.getServices().size() > 0) {
- serviceList = serviceBuilder.buildService(definition);
+ serviceList = serviceBuilder.buildServices(definition);
} else {
serviceList = serviceBuilder.buildMockServices(definition);
}