Remove now unused module

git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@820556 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
antelder 2009-10-01 07:56:30 +00:00
parent 180698f2b0
commit 9db2a07b1f
19 changed files with 0 additions and 1610 deletions

View file

@ -1,223 +0,0 @@
/*
* 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.
*/
package org.apache.tuscany.sca.binding.ws.xml;
import static javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI;
import javax.xml.namespace.QName;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;
import javax.xml.transform.dom.DOMSource;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
/**
* Helper methods to read and write a wsa:endpointReference
* TODO: almost direct copy of code for Assembly properties
* must be able to move to a common utility
*
* @version $Rev$ $Date$
*/
public class EndPointReferenceHelper {
/**
* Read a wsa:endpointReference into a DOM Element
*/
public static Element readEndPointReference(XMLStreamReader reader) {
try {
return loadElement(reader);
} catch (XMLStreamException e) {
throw new RuntimeException(e);
} catch (ParserConfigurationException e) {
throw new RuntimeException(e);
}
}
/**
* Write a wsa:endpointReference from a DOM Element
*/
public static void writeEndPointReference(Element element, XMLStreamWriter writer) {
try {
saveElement(element, writer);
} catch (XMLStreamException e) {
throw new RuntimeException(e);
}
}
private static Element loadElement(XMLStreamReader reader) throws XMLStreamException, ParserConfigurationException {
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
Node root = document;
Node current = root;
while (true) {
switch (reader.getEventType()) {
case XMLStreamConstants.START_ELEMENT:
QName name = reader.getName();
Element child = createElement(document, name);
// push the new element and make it the current one
current.appendChild(child);
current = child;
int count = reader.getNamespaceCount();
for (int i = 0; i < count; i++) {
String prefix = reader.getNamespacePrefix(i);
String ns = reader.getNamespaceURI(i);
declareNamespace(child, prefix, ns);
}
if(!"".equals(name.getNamespaceURI()))
declareNamespace(child, name.getPrefix(), name.getNamespaceURI());
// add the attributes for this element
count = reader.getAttributeCount();
for (int i = 0; i < count; i++) {
String ns = reader.getAttributeNamespace(i);
String prefix = reader.getAttributePrefix(i);
String qname = reader.getAttributeLocalName(i);
String value = reader.getAttributeValue(i);
if (prefix != null && prefix.length() != 0) {
qname = prefix + ":" + qname;
}
child.setAttributeNS(ns, qname, value);
if (ns != null) {
declareNamespace(child, prefix, ns);
}
}
break;
case XMLStreamConstants.CDATA:
current.appendChild(document.createCDATASection(reader.getText()));
break;
case XMLStreamConstants.CHARACTERS:
current.appendChild(document.createTextNode(reader.getText()));
break;
case XMLStreamConstants.END_ELEMENT:
// if we are back at the root then we are done
if ("EndpointReference".equals(reader.getName().getLocalPart())) {
return document.getDocumentElement();
}
// pop the element off the stack
current = current.getParentNode();
}
if ( reader.hasNext()) reader.next();
}
}
private static Element createElement(Document document, QName name) {
String prefix = name.getPrefix();
String qname =
(prefix != null && prefix.length() > 0) ? prefix + ":" + name.getLocalPart() : name.getLocalPart();
return document.createElementNS(name.getNamespaceURI(), qname);
}
private static void declareNamespace(Element element, String prefix, String ns) {
if (ns == null) {
ns = "";
}
if (prefix == null) {
prefix = "";
}
String qname = null;
if ("".equals(prefix)) {
qname = "xmlns";
} else {
qname = "xmlns:" + prefix;
}
Node node = element;
boolean declared = false;
while (node != null && node.getNodeType() == Node.ELEMENT_NODE) {
NamedNodeMap attrs = node.getAttributes();
if (attrs == null) {
break;
}
Node attr = attrs.getNamedItem(qname);
if (attr != null) {
declared = ns.equals(attr.getNodeValue());
break;
}
node = node.getParentNode();
}
if (!declared) {
org.w3c.dom.Attr attr = element.getOwnerDocument().createAttributeNS(XMLNS_ATTRIBUTE_NS_URI, qname);
attr.setValue(ns);
element.setAttributeNodeNS(attr);
}
}
private static void saveElement(Element element, XMLStreamWriter writer) throws XMLStreamException{
XMLStreamReader reader =
XMLInputFactory.newInstance().createXMLStreamReader(new DOMSource(element));
while (reader.hasNext()) {
switch (reader.next()) {
case XMLStreamConstants.START_ELEMENT:
QName name = reader.getName();
writer.writeStartElement(name.getPrefix(), name.getLocalPart(), name.getNamespaceURI());
int namespaces = reader.getNamespaceCount();
for (int i = 0; i < namespaces; i++) {
String prefix = reader.getNamespacePrefix(i);
String ns = reader.getNamespaceURI(i);
writer.writeNamespace(prefix, ns);
}
if (!"".equals(name.getNamespaceURI())) {
writer.writeNamespace(name.getPrefix(), name.getNamespaceURI());
}
// add the attributes for this element
namespaces = reader.getAttributeCount();
for (int i = 0; i < namespaces; i++) {
String ns = reader.getAttributeNamespace(i);
String prefix = reader.getAttributePrefix(i);
String qname = reader.getAttributeLocalName(i);
String value = reader.getAttributeValue(i);
writer.writeAttribute(prefix, ns, qname, value);
}
break;
case XMLStreamConstants.CDATA:
writer.writeCData(reader.getText());
break;
case XMLStreamConstants.CHARACTERS:
writer.writeCharacters(reader.getText());
break;
case XMLStreamConstants.END_ELEMENT:
writer.writeEndElement();
break;
}
}
}
}

View file

@ -1,389 +0,0 @@
/*
* 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.
*/
package org.apache.tuscany.sca.binding.ws.xml;
import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
import java.util.Map;
import javax.wsdl.Binding;
import javax.wsdl.Port;
import javax.wsdl.PortType;
import javax.wsdl.Service;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;
import org.apache.tuscany.sca.assembly.xml.PolicySubjectProcessor;
import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory;
import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
import org.apache.tuscany.sca.contribution.processor.ContributionResolveException;
import org.apache.tuscany.sca.contribution.processor.ContributionWriteException;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
import org.apache.tuscany.sca.core.UtilityExtensionPoint;
import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException;
import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition;
import org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory;
import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface;
import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterfaceContract;
import org.apache.tuscany.sca.interfacedef.wsdl.WSDLObject;
import org.apache.tuscany.sca.monitor.Monitor;
import org.apache.tuscany.sca.monitor.MonitorFactory;
import org.apache.tuscany.sca.monitor.Problem;
import org.apache.tuscany.sca.monitor.Problem.Severity;
import org.apache.tuscany.sca.policy.PolicyFactory;
/**
* This is the StAXArtifactProcessor for the Web Services Binding.
*
* @version $Rev$ $Date$
*/
public class WebServiceBindingProcessor implements StAXArtifactProcessor<WebServiceBinding>, WebServiceConstants {
private ExtensionPointRegistry extensionPoints;
private WSDLFactory wsdlFactory;
private WebServiceBindingFactory wsFactory;
private PolicyFactory policyFactory;
private PolicySubjectProcessor policyProcessor;
//private PolicyFactory intentAttachPointTypeFactory;
private Monitor monitor;
public WebServiceBindingProcessor(ExtensionPointRegistry extensionPoints) {
this.extensionPoints = extensionPoints;
FactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class);
this.policyFactory = modelFactories.getFactory(PolicyFactory.class);
this.wsFactory = modelFactories.getFactory(WebServiceBindingFactory.class);
this.wsdlFactory = modelFactories.getFactory(WSDLFactory.class);
this.policyProcessor = new PolicySubjectProcessor(policyFactory);
//this.intentAttachPointTypeFactory = modelFactories.getFactory(PolicyFactory.class);
UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
if (monitorFactory != null) {
this.monitor = monitorFactory.createMonitor();
}
}
/**
* Report a warning.
*
* @param problems
* @param message
* @param model
*/
private void warning(String message, Object model, Object... messageParameters) {
if (monitor != null) {
Problem problem = monitor.createProblem(this.getClass().getName(), "binding-wsxml-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters);
monitor.problem(problem);
}
}
/**
* Report a error.
*
* @param problems
* @param message
* @param model
*/
private void error(String message, Object model, Object... messageParameters) {
if (monitor != null) {
Problem problem = monitor.createProblem(this.getClass().getName(), "binding-wsxml-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters);
monitor.problem(problem);
}
}
public WebServiceBinding read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
// Read a <binding.ws>
WebServiceBinding wsBinding = wsFactory.createWebServiceBinding();
/*ExtensionType bindingType = intentAttachPointTypeFactory.createBindingType();
bindingType.setName(getArtifactType());
bindingType.setUnresolved(true);
((PolicySubject)wsBinding).setType(bindingType);*/
wsBinding.setUnresolved(true);
// Read policies
policyProcessor.readPolicies(wsBinding, reader);
// Read the binding name
String name = reader.getAttributeValue(null, NAME);
if (name != null) {
wsBinding.setName(name);
}
// Read URI
String uri = reader.getAttributeValue(null, URI);
if (uri != null) {
wsBinding.setURI(uri);
}
// Read a qname in the form:
// namespace#wsdl.???(name)
Boolean wsdlElementIsBinding = null;
String wsdlElement = reader.getAttributeValue(null, WSDL_ELEMENT);
if (wsdlElement != null) {
int index = wsdlElement.indexOf('#');
if (index == -1) {
error("InvalidWsdlElementAttr", reader, wsdlElement);
//throw new ContributionReadException("Invalid WebService binding wsdlElement attribute: " + wsdlElement);
return wsBinding;
}
String namespace = wsdlElement.substring(0, index);
wsBinding.setNamespace(namespace);
String localName = wsdlElement.substring(index + 1);
if (localName.startsWith("wsdl.service")) {
// Read a wsdl.service
localName = localName.substring("wsdl.service(".length(), localName.length() - 1);
wsBinding.setServiceName(new QName(namespace, localName));
} else if (localName.startsWith("wsdl.port")) {
// Read a wsdl.port
localName = localName.substring("wsdl.port(".length(), localName.length() - 1);
int s = localName.indexOf('/');
if (s == -1) {
error("InvalidWsdlElementAttr", reader, wsdlElement);
//throw new ContributionReadException("Invalid WebService binding wsdlElement attribute: " + wsdlElement);
} else {
wsBinding.setServiceName(new QName(namespace, localName.substring(0, s)));
wsBinding.setPortName(localName.substring(s + 1));
}
} else if (localName.startsWith("wsdl.endpoint")) {
// Read a wsdl.endpoint
localName = localName.substring("wsdl.endpoint(".length(), localName.length() - 1);
int s = localName.indexOf('/');
if (s == -1) {
error("InvalidWsdlElementAttr", reader, wsdlElement);
//throw new ContributionReadException("Invalid WebService binding wsdlElement attribute: " + wsdlElement);
} else {
wsBinding.setServiceName(new QName(namespace, localName.substring(0, s)));
wsBinding.setEndpointName(localName.substring(s + 1));
}
} else if (localName.startsWith("wsdl.binding")) {
// Read a wsdl.binding
localName = localName.substring("wsdl.binding(".length(), localName.length() - 1);
wsBinding.setBindingName(new QName(namespace, localName));
wsdlElementIsBinding = true;
} else {
error("InvalidWsdlElementAttr", reader, wsdlElement);
//throw new ContributionReadException("Invalid WebService binding wsdlElement attribute: " + wsdlElement);
}
}
// Read wsdlLocation
wsBinding.setLocation(reader.getAttributeValue(WSDLI_NS, WSDL_LOCATION));
// Skip to end element
while (reader.hasNext()) {
int event = reader.next();
switch (event) {
case START_ELEMENT: {
if (END_POINT_REFERENCE.equals(reader.getName().getLocalPart())) {
if (wsdlElement != null && (wsdlElementIsBinding == null || !wsdlElementIsBinding)) {
error("MustUseWsdlBinding", reader, wsdlElement);
throw new ContributionReadException(wsdlElement + " must use wsdl.binding when using wsa:EndpointReference");
}
wsBinding.setEndPointReference(EndPointReferenceHelper.readEndPointReference(reader));
}
}
break;
}
if (event == END_ELEMENT && BINDING_WS_QNAME.equals(reader.getName())) {
break;
}
}
return wsBinding;
}
protected void processEndPointReference(XMLStreamReader reader, WebServiceBinding wsBinding) {
}
public void write(WebServiceBinding wsBinding, XMLStreamWriter writer) throws ContributionWriteException,
XMLStreamException {
// Write a <binding.ws>
writer.writeStartElement(SCA11_NS, BINDING_WS);
policyProcessor.writePolicyAttributes(wsBinding, writer);
// Write binding name
if (wsBinding.getName() != null) {
writer.writeAttribute(NAME, wsBinding.getName());
}
// Write binding URI
if (wsBinding.getURI() != null) {
writer.writeAttribute(URI, wsBinding.getURI());
}
// Write wsdlElement attribute
if (wsBinding.getPortName() != null) {
// Write namespace#wsdl.port(service/port)
String wsdlElement =
wsBinding.getServiceName().getNamespaceURI() + "#wsdl.port("
+ wsBinding.getServiceName().getLocalPart()
+ "/"
+ wsBinding.getPortName()
+ ")";
writer.writeAttribute(WSDL_ELEMENT, wsdlElement);
} else if (wsBinding.getEndpointName() != null) {
// Write namespace#wsdl.endpoint(service/endpoint)
String wsdlElement =
wsBinding.getServiceName().getNamespaceURI() + "#wsdl.endpoint("
+ wsBinding.getServiceName().getLocalPart()
+ "/"
+ wsBinding.getEndpointName()
+ ")";
writer.writeAttribute(WSDL_ELEMENT, wsdlElement);
} else if (wsBinding.getBindingName() != null) {
// Write namespace#wsdl.binding(binding)
String wsdlElement =
wsBinding.getBindingName().getNamespaceURI() + "#wsdl.binding("
+ wsBinding.getBindingName().getLocalPart()
+ ")";
writer.writeAttribute(WSDL_ELEMENT, wsdlElement);
} else if (wsBinding.getServiceName() != null) {
// Write namespace#wsdl.service(service)
String wsdlElement =
wsBinding.getServiceName().getNamespaceURI() + "#wsdl.service("
+ wsBinding.getServiceName().getLocalPart()
+ ")";
writer.writeAttribute(WSDL_ELEMENT, wsdlElement);
}
// Write location
if (wsBinding.getLocation() != null) {
writer.writeAttribute(WSDLI_NS, WSDL_LOCATION, wsBinding.getLocation());
}
if (wsBinding.getEndPointReference() != null) {
EndPointReferenceHelper.writeEndPointReference(wsBinding.getEndPointReference(), writer);
}
writer.writeEndElement();
}
public void resolve(WebServiceBinding model, ModelResolver resolver) throws ContributionResolveException {
if (model == null || !model.isUnresolved())
return;
WSDLDefinition wsdlDefinition = wsdlFactory.createWSDLDefinition();
wsdlDefinition.setUnresolved(true);
wsdlDefinition.setNamespace(model.getNamespace());
WSDLDefinition resolved = resolver.resolveModel(WSDLDefinition.class, wsdlDefinition);
if (!resolved.isUnresolved()) {
wsdlDefinition.setDefinition(resolved.getDefinition());
wsdlDefinition.setLocation(resolved.getLocation());
wsdlDefinition.setURI(resolved.getURI());
wsdlDefinition.getImportedDefinitions().addAll(resolved.getImportedDefinitions());
wsdlDefinition.getXmlSchemas().addAll(resolved.getXmlSchemas());
wsdlDefinition.setUnresolved(false);
model.setDefinition(wsdlDefinition);
if (model.getBindingName() != null) {
WSDLObject<Binding> binding = wsdlDefinition.getWSDLObject(Binding.class, model.getBindingName());
if (binding != null) {
wsdlDefinition.setDefinition(binding.getDefinition());
model.setBinding(binding.getElement());
} else {
warning("WsdlBindingDoesNotMatch", wsdlDefinition, model.getBindingName());
}
}
if (model.getServiceName() != null) {
WSDLObject<Service> service = wsdlDefinition.getWSDLObject(Service.class, model.getServiceName());
if (service != null) {
wsdlDefinition.setDefinition(service.getDefinition());
model.setService(service.getElement());
if (model.getPortName() != null) {
Port port = service.getElement().getPort(model.getPortName());
if (port != null) {
model.setPort(port);
model.setBinding(port.getBinding());
} else {
warning("WsdlPortTypeDoesNotMatch", wsdlDefinition, model.getPortName());
}
}
} else {
warning("WsdlServiceDoesNotMatch", wsdlDefinition, model.getServiceName());
}
}
PortType portType = getPortType(model);
if (portType != null) {
WSDLInterfaceContract interfaceContract = wsdlFactory.createWSDLInterfaceContract();
WSDLInterface wsdlInterface = null;
try {
wsdlInterface = wsdlFactory.createWSDLInterface(portType, wsdlDefinition, resolver);
} catch (InvalidInterfaceException e) {
warning("InvalidInterfaceException", wsdlFactory, model.getName());
}
interfaceContract.setInterface(wsdlInterface);
model.setBindingInterfaceContract(interfaceContract);
}
}
}
private PortType getPortType(WebServiceBinding model) {
PortType portType = null;
if (model.getPort() != null) {
portType = model.getPort().getBinding().getPortType();
} else if (model.getEndpoint() != null) {
portType = model.getPort().getBinding().getPortType();
} else if (model.getBinding() != null) {
portType = model.getBinding().getPortType();
} else if (model.getService() != null) {
// FIXME: How to find the compatible port?
Map ports = model.getService().getPorts();
if (!ports.isEmpty()) {
Port port = (Port)ports.values().iterator().next();
portType = port.getBinding().getPortType();
}
}
return portType;
}
public QName getArtifactType() {
return WebServiceConstants.BINDING_WS_QNAME;
}
public Class<WebServiceBinding> getModelType() {
return WebServiceBinding.class;
}
}

View file

@ -1,47 +0,0 @@
/*
* 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.
*/
package org.apache.tuscany.sca.binding.ws.xml;
import javax.xml.namespace.QName;
/**
* Constants for the Web Services Binding.
*
* @version $Rev$ $Date$
*/
public interface WebServiceConstants {
String SCA11_NS = "http://docs.oasis-open.org/ns/opencsa/sca/200903";
String BINDING_WS = "binding.ws";
QName BINDING_WS_QNAME = new QName(SCA11_NS, BINDING_WS);
String WSDL_ELEMENT = "wsdlElement";
QName WSDL_ELEMENT_QNAME = new QName(SCA11_NS, WSDL_ELEMENT);
String WSDL_LOCATION = "wsdlLocation";
String WSDLI_NS = "http://www.w3.org/2004/08/wsdl-instance";
QName WSDL_LOCATION_QNAME = new QName(WSDLI_NS, WSDL_LOCATION);
String NAME = "name";
String URI = "uri";
String END_POINT_REFERENCE = "EndpointReference";
}

View file

@ -1,19 +0,0 @@
# 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.
# Implementation class for the artifact processor extension
org.apache.tuscany.sca.binding.ws.xml.WebServiceBindingProcessor;qname=http://docs.oasis-open.org/ns/opencsa/sca/200903#binding.ws,model=org.apache.tuscany.sca.binding.ws.WebServiceBinding

View file

@ -1,28 +0,0 @@
#
#
# 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.
#
#
InvalidWsdlElementAttr = Invalid WebService binding wsdlElement attribute: {0}
MustUseWsdlBinding = {0} must use wsdl.binding when using wsa:EndpointReference
InvalidInterfaceException = Exception creating interface from WSDL for binding: {0}
WsdlBindingDoesNotMatch = The #wsdl.binding({0}) does not match with the WSDL Definitions
WsdlServiceDoesNotMatch = The #wsdl.service({0}) does not match with the WSDL Definitions
WsdlPortTypeDoesNotMatch = The #wsdl.port({0}) does not match with the WSDL Definitions

View file

@ -1,103 +0,0 @@
/*
* 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.
*/
package org.apache.tuscany.sca.binding.ws.xml;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNotSame;
import static org.junit.Assert.fail;
import java.io.InputStream;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamReader;
import org.apache.tuscany.sca.assembly.ComponentType;
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
import org.junit.BeforeClass;
import org.junit.Test;
/**
* Test reading WSDL interfaces.
*
* @version $Rev$ $Date$
*/
public class ReadTestCase {
private static XMLInputFactory inputFactory;
private static StAXArtifactProcessor<Object> staxProcessor;
@BeforeClass
public static void setUp() throws Exception {
DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
inputFactory = XMLInputFactory.newInstance();
StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null);
}
@Test
public void testReadComponentType() throws Exception {
InputStream is = getClass().getResourceAsStream("CalculatorImpl.componentType");
XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
ComponentType componentType = (ComponentType)staxProcessor.read(reader);
assertNotNull(componentType);
}
@Test
public void testReadComposite() throws Exception {
InputStream is = getClass().getResourceAsStream("Calculator.composite");
XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
Composite composite = (Composite)staxProcessor.read(reader);
assertNotNull(composite);
}
@Test
public void testReadPolicies() throws Exception {
InputStream is = getClass().getResourceAsStream("PoliciedCalculator.composite");
XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
Composite composite = (Composite)staxProcessor.read(reader);
assertNotNull(composite);
}
/**
* This test makes sure that an exception is thrown when a bad wsdlElement is present along with EndpointReference.
*
* Ref: Web Service Binding Specification v1.0 - Sec 2.1 - Lines 61 to 65.
* When an EndpointReference is present along with the wsdlElement attribute on the parent element, the wsdlElement attribute value MUST
* be of the 'Binding' form.
*/
@Test
public void testReadBadWsdlElement() throws Exception {
InputStream is = getClass().getResourceAsStream("Calculator-bad-wsdlElement.composite");
XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
try {
staxProcessor.read(reader);
fail("ContributionReadException expected.");
} catch(ContributionReadException e) {
// Expected
assertNotSame(-1, e.getMessage().indexOf("must use wsdl.binding when using wsa:EndpointReference"));
}
}
}

View file

@ -1,79 +0,0 @@
/*
* 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.
*/
package org.apache.tuscany.sca.binding.ws.xml;
import static org.junit.Assert.assertNotNull;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLOutputFactory;
import org.apache.tuscany.sca.assembly.ComponentType;
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
import org.junit.BeforeClass;
import org.junit.Test;
/**
* Test reading/write WSDL interfaces.
*
* @version $Rev$ $Date$
*/
public class WriteTestCase {
private static XMLInputFactory inputFactory;
private static XMLOutputFactory outputFactory;
private static StAXArtifactProcessor<Object> staxProcessor;
@BeforeClass
public static void setUp() throws Exception {
DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
inputFactory = XMLInputFactory.newInstance();
outputFactory = XMLOutputFactory.newInstance();
StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, null);
}
@Test
public void testReadWriteComponentType() throws Exception {
InputStream is = getClass().getResourceAsStream("CalculatorImpl.componentType");
ComponentType componentType = (ComponentType)staxProcessor.read(inputFactory.createXMLStreamReader(is));
assertNotNull(componentType);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
staxProcessor.write(componentType, outputFactory.createXMLStreamWriter(bos));
}
@Test
public void testReadWriteComposite() throws Exception {
InputStream is = getClass().getResourceAsStream("Calculator.composite");
Composite composite = (Composite)staxProcessor.read(inputFactory.createXMLStreamReader(is));
assertNotNull(composite);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
staxProcessor.write(composite, outputFactory.createXMLStreamWriter(bos));
System.out.println(bos.toString());
}
}

View file

@ -1,59 +0,0 @@
<?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.
-->
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
xmlns:calc="http://sample.calculator"
targetNamespace="http://calc"
xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance"
name="Calculator-bad-wsdlElement">
<service name="CalculatorService" promote="CalculatorServiceComponent">
<interface.wsdl interface="http://sample/calculator#wsdl.interface(Calculator)"/>
<binding.ws wsdlElement="http://sample/calculator#wsdl.port(CalculatorService/CalculatorPort)">
<wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:Address>http://localhost:8085/Calculator</wsa:Address>
</wsa:EndpointReference>
</binding.ws>
</service>
<component name="CalculatorServiceComponent">
<implementation.java class="calculator.CalculatorServiceImpl"/>
<reference name="addService" target="AddServiceComponent"/>
<reference name="subtractService" target="SubtractServiceComponent"/>
<reference name="multiplyService" target="MultiplyServiceComponent"/>
<reference name="divideService" target="DivideServiceComponent"/>
</component>
<component name="AddServiceComponent">
<implementation.java class="calculator.AddServiceImpl"/>
</component>
<component name="SubtractServiceComponent">
<implementation.java class="calculator.SubtractServiceImpl"/>
</component>
<component name="MultiplyServiceComponent">
<implementation.java class="calculator.MultiplyServiceImpl"/>
</component>
<component name="DivideServiceComponent">
<implementation.java class="calculator.DivideServiceImpl"/>
</component>
</composite>

View file

@ -1,63 +0,0 @@
<?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.
-->
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
xmlns:calc="http://sample.calculator"
targetNamespace="http://calc"
xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance"
name="Calculator">
<service name="CalculatorService" promote="CalculatorServiceComponent">
<interface.wsdl interface="http://sample/calculator#wsdl.interface(Calculator)"/>
<binding.ws uri="http://localhost:8085/Calculator" wsdlElement="http://sample/calculator#wsdl.service(CalculatorService)"/>
<binding.ws wsdli:wsdlLocation="http://tempuri.org" wsdlElement="http://sample/calculator#wsdl.binding(CalculatorBinding)"/>
<binding.ws wsdlElement="http://sample/calculator#wsdl.port(CalculatorService/CalculatorPort)"/>
<binding.ws wsdlElement="http://sample/calculator#wsdl.endpoint(CalculatorService/CalculatorEndpoint)"/>
<binding.ws wsdlElement="http://sample/calculator#wsdl.binding(CalculatorBinding)">
<wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:Address>http://localhost:8085/services/HelloWorldWebService</wsa:Address>
</wsa:EndpointReference>
</binding.ws>
</service>
<component name="CalculatorServiceComponent">
<implementation.java class="calculator.CalculatorServiceImpl"/>
<reference name="addService" target="AddServiceComponent"/>
<reference name="subtractService" target="SubtractServiceComponent"/>
<reference name="multiplyService" target="MultiplyServiceComponent"/>
<reference name="divideService" target="DivideServiceComponent"/>
</component>
<component name="AddServiceComponent">
<implementation.java class="calculator.AddServiceImpl"/>
</component>
<component name="SubtractServiceComponent">
<implementation.java class="calculator.SubtractServiceImpl"/>
</component>
<component name="MultiplyServiceComponent">
<implementation.java class="calculator.MultiplyServiceImpl"/>
</component>
<component name="DivideServiceComponent">
<implementation.java class="calculator.DivideServiceImpl"/>
</component>
</composite>

View file

@ -1,45 +0,0 @@
<?xml version="1.0" encoding="ASCII"?>
<!--
* 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.
-->
<componentType xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance">
<service name="CalculatorService">
<interface.wsdl interface="http://sample/calculator#wsdl.interface(Calculator)"/>
<binding.ws uri="http://localhost:8085/Calculator" wsdlElement="http://sample/calculator#wsdl.service(CalculatorService)"/>
<binding.ws wsdli:wsdlLocation="http://tempuri.org" wsdlElement="http://sample/calculator#wsdl.binding(CalculatorBinding)"/>
<binding.ws wsdlElement="http://sample/calculator#wsdl.port(CalculatorService/CalculatorPort)"/>
<binding.ws wsdlElement="http://sample/calculator#wsdl.endpoint(CalculatorService/CalculatorEndpoint)"/>
</service>
<reference name="divideService">
<interface.wsdl interface="http://sample/calculator#wsdl.interface(Divide)"/>
<binding.ws uri="tempuri.org" wsdlElement="http://sample/calculator#wsdl.service(DivideService)"/>
<binding.ws uri="tempuri.org" wsdlElement="http://sample/calculator#wsdl.binding(DivideBinding)"/>
<binding.ws uri="tempuri.org" wsdlElement="http://sample/calculator#wsdl.port(DivideService/DividePort)"/>
<binding.ws uri="tempuri.org" wsdlElement="http://sample/calculator#wsdl.endpoint(DivideService/DivideEndpoint)"/>
<binding.ws>
<wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:Address>myURI</wsa:Address>
</wsa:EndpointReference>
</binding.ws>
</reference>
</componentType>

View file

@ -1,60 +0,0 @@
<?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.
-->
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
xmlns:calc="http://sample.calculator"
targetNamespace="http://calc"
xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance"
name="Calculator">
<service name="CalculatorService" promote="CalculatorServiceComponent">
<interface.wsdl interface="http://sample/calculator#wsdl.interface(Calculator)"/>
<binding.ws uri="http://localhost:8085/Calculator" wsdlElement="http://sample/calculator#wsdl.service(CalculatorService)">
<operation name="add" requires="IntentOne IntentTwo"/>
</binding.ws>
<binding.ws wsdli:wsdlLocation="http://tempuri.org" wsdlElement="http://sample/calculator#wsdl.binding(CalculatorBinding)"/>
<binding.ws wsdlElement="http://sample/calculator#wsdl.port(CalculatorService/CalculatorPort)"/>
<binding.ws wsdlElement="http://sample/calculator#wsdl.endpoint(CalculatorService/CalculatorEndpoint)"/>
</service>
<component name="CalculatorServiceComponent">
<implementation.java class="calculator.CalculatorServiceImpl"/>
<reference name="addService" target="AddServiceComponent"/>
<reference name="subtractService" target="SubtractServiceComponent"/>
<reference name="multiplyService" target="MultiplyServiceComponent"/>
<reference name="divideService" target="DivideServiceComponent"/>
</component>
<component name="AddServiceComponent">
<implementation.java class="calculator.AddServiceImpl"/>
</component>
<component name="SubtractServiceComponent">
<implementation.java class="calculator.SubtractServiceImpl"/>
</component>
<component name="MultiplyServiceComponent">
<implementation.java class="calculator.MultiplyServiceImpl"/>
</component>
<component name="DivideServiceComponent">
<implementation.java class="calculator.DivideServiceImpl"/>
</component>
</composite>

View file

@ -1,26 +0,0 @@
<?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.
-->
<wsdl:definitions targetNamespace="http://www.example.org"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
name="example">
<wsdl:portType name="HelloWorld">
</wsdl:portType>
</wsdl:definitions>

View file

@ -1,58 +0,0 @@
<?xml version="1.0"?>
<!--
* 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="StockQuote" targetNamespace="http://example.com/stockquote.wsdl"
xmlns:tns="http://example.com/stockquote.wsdl" xmlns:xsd1="http://example.com/stockquote.xsd"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema targetNamespace="http://example.com/stockquote.xsd" xmlns="http://www.w3.org/2001/XMLSchema">
<element name="getLastTradePrice1">
<complexType>
<sequence>
<element name="tickerSymbol" type="string" />
</sequence>
</complexType>
</element>
<element name="getLastTradePriceResponse">
<complexType>
<sequence>
<element name="price" type="float" />
</sequence>
</complexType>
</element>
</schema>
</types>
<message name="GetLastTradePriceInput">
<part name="body" element="xsd1:getLastTradePrice" />
</message>
<message name="GetLastTradePriceOutput">
<part name="body" element="xsd1:getLastTradePriceResponse" />
</message>
<portType name="StockQuotePortType">
<operation name="getLastTradePrice">
<input message="tns:GetLastTradePriceInput" />
<output message="tns:GetLastTradePriceOutput" />
</operation>
</portType>
</definitions>

View file

@ -1,136 +0,0 @@
<!--
* 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.
-->
<schema targetNamespace="http://www.example.com/IPO"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:ipo="http://www.example.com/IPO">
<annotation>
<documentation xml:lang="en">
International Purchase order schema for Example.com
Copyright 2000 Example.com. All rights reserved.
</documentation>
</annotation>
<element name="purchaseOrder" type="ipo:PurchaseOrderType" />
<element name="comment" type="string" />
<complexType name="PurchaseOrderType">
<sequence>
<element name="shipTo" type="ipo:Address" />
<element name="billTo" type="ipo:Address" />
<element ref="ipo:comment" minOccurs="0" />
<element name="items" type="ipo:Items" />
</sequence>
<attribute name="orderDate" type="date" />
</complexType>
<complexType name="Items">
<sequence>
<element name="item" minOccurs="0" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="productName" type="string" />
<element name="quantity">
<simpleType>
<restriction base="positiveInteger">
<maxExclusive value="100" />
</restriction>
</simpleType>
</element>
<element name="USPrice" type="decimal" />
<element ref="ipo:comment" minOccurs="0" />
<element name="shipDate" type="date"
minOccurs="0" />
</sequence>
<attribute name="partNum" type="ipo:SKU"
use="required" />
</complexType>
</element>
</sequence>
</complexType>
<simpleType name="SKU">
<restriction base="string">
<pattern value="\d{3}-[A-Z]{2}" />
</restriction>
</simpleType>
<complexType name="Address">
<sequence>
<element name="name" type="string" />
<element name="street" type="string" />
<element name="city" type="string" />
</sequence>
</complexType>
<complexType name="USAddress">
<complexContent>
<extension base="ipo:Address">
<sequence>
<element name="state" type="ipo:USState" />
<element name="zip" type="positiveInteger" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="UKAddress">
<complexContent>
<extension base="ipo:Address">
<sequence>
<element name="postcode" type="ipo:UKPostcode" />
</sequence>
<attribute name="exportCode" type="positiveInteger"
fixed="1" />
</extension>
</complexContent>
</complexType>
<!-- other Address derivations for more countries -->
<simpleType name="USState">
<restriction base="string">
<enumeration value="AK" />
<enumeration value="AL" />
<enumeration value="AR" />
<enumeration value="CA" />
<enumeration value="PA" />
<!-- and so on ... -->
</restriction>
</simpleType>
<simpleType name="Postcode">
<restriction base="string">
<length value="7" fixed="true" />
</restriction>
</simpleType>
<simpleType name="UKPostcode">
<restriction base="ipo:Postcode">
<pattern value="[A-Z]{2}\d\s\d[A-Z]{2}" />
</restriction>
</simpleType>
</schema>

View file

@ -1,58 +0,0 @@
<?xml version="1.0"?>
<!--
* 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="StockQuote" targetNamespace="http://example.com/stockquote.wsdl"
xmlns:tns="http://example.com/stockquote.wsdl" xmlns:xsd1="http://example.com/stockquote.xsd"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema targetNamespace="http://example.com/stockquote.xsd" xmlns="http://www.w3.org/2001/XMLSchema">
<element name="getLastTradePrice">
<complexType>
<sequence>
<element name="tickerSymbol" type="string" />
</sequence>
</complexType>
</element>
<element name="getLastTradePriceResponse">
<complexType>
<sequence>
<element name="price" type="float" />
</sequence>
</complexType>
</element>
</schema>
</types>
<message name="GetLastTradePriceInput">
<part name="body" element="xsd1:getLastTradePrice" />
</message>
<message name="GetLastTradePriceOutput">
<part name="body" element="xsd1:getLastTradePriceResponse" />
</message>
<portType name="StockQuotePortType">
<operation name="getLastTradePrice">
<input message="tns:GetLastTradePriceInput" />
<output message="tns:GetLastTradePriceOutput" />
</operation>
</portType>
</definitions>

View file

@ -1,45 +0,0 @@
<?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.
-->
<wsdl:definitions targetNamespace="http://helloworld" xmlns:tns="http://helloworld"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="helloworld">
<wsdl:import location="test2.wsdl" namespace="http://helloworld"></wsdl:import>
<wsdl:binding name="HelloWorldSoapBinding" type="tns:HelloWorld">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="getGreetings">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="getGreetingsRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="getGreetingsResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="HelloWorldService">
<wsdl:port binding="tns:HelloWorldSoapBinding" name="HelloWorldSoapPort">
<wsdlsoap:address location="http://localhost:8085/sample-helloworldws-1.0-SNAPSHOT/services/HelloWorldWebService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

View file

@ -1,33 +0,0 @@
<!--
* 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.
-->
<schema targetNamespace="http://www.example.com/Customer" xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:ipo="http://www.example.com/IPO" xmlns:tns="http://www.example.com/Customer">
<import namespace="http://www.example.com/IPO" schemaLocation="ipo.xsd" />
<complexType name="Customer">
<sequence>
<element name="customerID" type="string"></element>
<element name="name" type="string"></element>
<element name="order" type="ipo:PurchaseOrderType" />
</sequence>
</complexType>
<element name="customer" type="tns:Customer"></element>
</schema>

View file

@ -1,63 +0,0 @@
<?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.
-->
<wsdl:definitions targetNamespace="http://helloworld" xmlns:tns="http://helloworld"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="helloworld">
<wsdl:types>
<schema elementFormDefault="qualified" targetNamespace="http://helloworld" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://www.example.com/IPO" schemaLocation="ipo.xsd" />
<element name="getGreetings">
<complexType>
<sequence>
<element name="name" type="xsd:string" />
</sequence>
</complexType>
</element>
<element name="getGreetingsResponse">
<complexType>
<sequence>
<element name="getGreetingsReturn" type="xsd:string" />
</sequence>
</complexType>
</element>
</schema>
</wsdl:types>
<wsdl:message name="getGreetingsRequest">
<wsdl:part element="tns:getGreetings" name="parameters" />
</wsdl:message>
<wsdl:message name="getGreetingsResponse">
<wsdl:part element="tns:getGreetingsResponse" name="parameters" />
</wsdl:message>
<wsdl:portType name="HelloWorld">
<wsdl:operation name="getGreetings">
<wsdl:input message="tns:getGreetingsRequest" name="getGreetingsRequest" />
<wsdl:output message="tns:getGreetingsResponse" name="getGreetingsResponse" />
</wsdl:operation>
</wsdl:portType>
</wsdl:definitions>

View file

@ -1,76 +0,0 @@
<?xml version="1.0"?>
<!--
* 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="StockQuote" targetNamespace="http://example.com/stockquote.wsdl"
xmlns:tns="http://example.com/stockquote.wsdl" xmlns:xsd1="http://example.com/stockquote.xsd"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema targetNamespace="http://example.com/stockquote.xsd" xmlns="http://www.w3.org/2001/XMLSchema">
<element name="getLastTradePrice">
<complexType>
<sequence>
<element name="tickerSymbol" type="string" />
</sequence>
</complexType>
</element>
<element name="getLastTradePriceResponse">
<complexType>
<sequence>
<element name="price" type="float" />
</sequence>
</complexType>
</element>
</schema>
</types>
<message name="GetLastTradePriceInput1">
<part name="body" element="xsd1:getLastTradePrice" />
</message>
<message name="GetLastTradePriceOutput1">
<part name="body" element="xsd1:getLastTradePriceResponse" />
</message>
<message name="GetLastTradePriceInput2">
<part name="body" element="xsd1:getLastTradePrice" />
<part name="other" type="xsd:string"/>
</message>
<message name="GetLastTradePriceOutput2">
<part name="body" element="xsd1:getLastTradePriceResponse" />
</message>
<portType name="StockQuotePortType">
<operation name="getLastTradePrice">
<input message="tns:GetLastTradePriceInput1" />
<output message="tns:GetLastTradePriceOutput1" />
</operation>
<operation name="getLastTradePrice1">
<input message="tns:GetLastTradePriceInput1" />
<output message="tns:GetLastTradePriceOutput1" />
</operation>
<operation name="getLastTradePrice2">
<input message="tns:GetLastTradePriceInput2" />
<output message="tns:GetLastTradePriceOutput2" />
</operation>
</portType>
</definitions>