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:
parent
180698f2b0
commit
9db2a07b1f
19 changed files with 0 additions and 1610 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
|
@ -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";
|
||||
|
||||
|
||||
}
|
|
@ -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
|
|
@ -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
|
||||
|
||||
|
|
@ -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"));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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());
|
||||
}
|
||||
|
||||
}
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
||||
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
||||
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
||||
|
|
@ -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>
|
|
@ -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>
|
Loading…
Add table
Reference in a new issue