Author: thomas.diesler(a)jboss.com
Date: 2007-03-22 12:39:27 -0400 (Thu, 22 Mar 2007)
New Revision: 2661
Added:
branches/jbossws-1.2.1/jbossws-core/src/resources/schema/soap-encoding_200206.xsd
Modified:
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/Constants.java
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/CommonSOAPBinding.java
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/jaxrpc/binding/CalendarDeserializer.java
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/jaxrpc/binding/CalendarSerializer.java
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/utils/JBossWSEntityResolver.java
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/tools/wsdl/WSDL11Reader.java
Log:
Fix j2ee1.4 interop issues
Modified: branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/Constants.java
===================================================================
--- branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/Constants.java 2007-03-22
15:55:41 UTC (rev 2660)
+++ branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/Constants.java 2007-03-22
16:39:27 UTC (rev 2661)
@@ -54,8 +54,6 @@
static final String NS_SCHEMA_XSD = "http://www.w3.org/2001/XMLSchema";
/** XMLSchema instance namespace
http://www.w3.org/2001/XMLSchema-instance */
static final String NS_SCHEMA_XSI =
"http://www.w3.org/2001/XMLSchema-instance";
- /** SOAP encoding namespace
http://schemas.xmlsoap.org/soap/encoding/ */
- static final String NS_SOAP_ENCODING =
"http://schemas.xmlsoap.org/soap/encoding/";
/** SOAP-1.1 namespace
http://schemas.xmlsoap.org/wsdl/soap/ */
static final String NS_SOAP11 = "http://schemas.xmlsoap.org/wsdl/soap/";
/** SOAP-1.1 envelope namespace
http://schemas.xmlsoap.org/soap/envelope/ */
Modified:
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/CommonSOAPBinding.java
===================================================================
---
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/CommonSOAPBinding.java 2007-03-22
15:55:41 UTC (rev 2660)
+++
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/CommonSOAPBinding.java 2007-03-22
16:39:27 UTC (rev 2661)
@@ -178,7 +178,7 @@
{
String envURI = soapEnvelope.getNamespaceURI();
String envPrefix = soapEnvelope.getPrefix();
- soapBodyElement.setAttributeNS(envURI, envPrefix +
":encodingStyle", Constants.NS_SOAP_ENCODING);
+ soapBodyElement.setAttributeNS(envURI, envPrefix +
":encodingStyle", Constants.URI_SOAP11_ENC);
}
}
@@ -396,7 +396,7 @@
{
String envURI = soapEnvelope.getNamespaceURI();
String envPrefix = soapEnvelope.getPrefix();
- soapBodyElement.setAttributeNS(envURI, envPrefix +
":encodingStyle", Constants.NS_SOAP_ENCODING);
+ soapBodyElement.setAttributeNS(envURI, envPrefix +
":encodingStyle", Constants.URI_SOAP11_ENC);
}
}
Modified:
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/jaxrpc/binding/CalendarDeserializer.java
===================================================================
---
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/jaxrpc/binding/CalendarDeserializer.java 2007-03-22
15:55:41 UTC (rev 2660)
+++
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/jaxrpc/binding/CalendarDeserializer.java 2007-03-22
16:39:27 UTC (rev 2661)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
package org.jboss.ws.core.jaxrpc.binding;
// $Id$
@@ -29,6 +29,7 @@
import javax.xml.transform.Source;
import org.jboss.logging.Logger;
+import org.jboss.ws.Constants;
import org.jboss.xb.binding.SimpleTypeBindings;
/**
@@ -41,20 +42,28 @@
// provide logging
private static final Logger log = Logger.getLogger(CalendarDeserializer.class);
- public Object deserialize(QName xmlName, QName xmlType, Source xmlFragment,
SerializationContext serContext) throws BindingException {
+ public Object deserialize(QName xmlName, QName xmlType, Source xmlFragment,
SerializationContext serContext) throws BindingException
+ {
return deserialize(xmlName, xmlType, sourceToString(xmlFragment), serContext);
}
private Object deserialize(QName xmlName, QName xmlType, String xmlFragment,
SerializationContext serContext) throws BindingException
{
- if(log.isDebugEnabled()) log.debug("deserialize: [xmlName=" + xmlName +
",xmlType=" + xmlType + "]");
+ if (log.isDebugEnabled())
+ log.debug("deserialize: [xmlName=" + xmlName + ",xmlType=" +
xmlType + "]");
Calendar value = null;
String valueStr = unwrapValueStr(xmlFragment);
if (valueStr != null)
{
- value = SimpleTypeBindings.unmarshalDateTime(valueStr);
+ if (Constants.TYPE_LITERAL_DATE.equals(xmlType))
+ value = SimpleTypeBindings.unmarshalDate(valueStr);
+ else if (Constants.TYPE_LITERAL_TIME.equals(xmlType))
+ value = SimpleTypeBindings.unmarshalTime(valueStr);
+ else if (Constants.TYPE_LITERAL_DATETIME.equals(xmlType))
+ value = SimpleTypeBindings.unmarshalDateTime(valueStr);
+ else throw new IllegalArgumentException("Invalid xmlType: " +
xmlType);
}
return value;
Modified:
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/jaxrpc/binding/CalendarSerializer.java
===================================================================
---
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/jaxrpc/binding/CalendarSerializer.java 2007-03-22
15:55:41 UTC (rev 2660)
+++
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/jaxrpc/binding/CalendarSerializer.java 2007-03-22
16:39:27 UTC (rev 2661)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
package org.jboss.ws.core.jaxrpc.binding;
// $Id$
@@ -29,6 +29,7 @@
import javax.xml.transform.Result;
import org.jboss.logging.Logger;
+import org.jboss.ws.Constants;
import org.jboss.xb.binding.NamespaceRegistry;
import org.jboss.xb.binding.SimpleTypeBindings;
import org.w3c.dom.NamedNodeMap;
@@ -45,9 +46,18 @@
public Result serialize(QName xmlName, QName xmlType, Object value,
SerializationContext serContext, NamedNodeMap attributes) throws BindingException
{
- if(log.isDebugEnabled()) log.debug("serialize: [xmlName=" + xmlName +
",xmlType=" + xmlType + "]");
+ if (log.isDebugEnabled())
+ log.debug("serialize: [xmlName=" + xmlName + ",xmlType=" +
xmlType + "]");
- String valueStr = SimpleTypeBindings.marshalDateTime((Calendar)value);
+ String valueStr;
+ if (Constants.TYPE_LITERAL_DATE.equals(xmlType))
+ valueStr = SimpleTypeBindings.marshalDate((Calendar)value);
+ else if (Constants.TYPE_LITERAL_TIME.equals(xmlType))
+ valueStr = SimpleTypeBindings.marshalTime((Calendar)value);
+ else if (Constants.TYPE_LITERAL_DATETIME.equals(xmlType))
+ valueStr = SimpleTypeBindings.marshalDateTime((Calendar)value);
+ else
+ throw new IllegalArgumentException("Invalid xmlType: " + xmlType);
NamespaceRegistry nsRegistry = serContext.getNamespaceRegistry();
String xmlFragment = wrapValueStr(xmlName, valueStr, nsRegistry, null, attributes,
true);
Modified:
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/utils/JBossWSEntityResolver.java
===================================================================
---
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/utils/JBossWSEntityResolver.java 2007-03-22
15:55:41 UTC (rev 2660)
+++
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/utils/JBossWSEntityResolver.java 2007-03-22
16:39:27 UTC (rev 2661)
@@ -51,6 +51,7 @@
registerEntity("http://java.sun.com/xml/ns/javaee",
"schema/javaee_web_services_1_2.xsd");
registerEntity("http://www.w3.org/2005/08/addressing",
"schema/ws-addr.xsd");
registerEntity("http://schemas.xmlsoap.org/ws/2004/08/eventing",
"eventing.xsd");
+
registerEntity("http://www.w3.org/2002/06/soap-encoding",
"soap-encoding_200206.xsd");
registerEntity("http://schemas.xmlsoap.org/soap/encoding/",
"soap-encoding_1_1.xsd");
registerEntity("http://www.ibm.com/webservices/xsd/j2ee_web_services...;,
"j2ee_web_services_client_1_1.xsd");
registerEntity("http://www.ibm.com/webservices/xsd/j2ee_web_services...;,
"j2ee_web_services_1_1.xsd");
Modified:
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/tools/wsdl/WSDL11Reader.java
===================================================================
---
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/tools/wsdl/WSDL11Reader.java 2007-03-22
15:55:41 UTC (rev 2660)
+++
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/tools/wsdl/WSDL11Reader.java 2007-03-22
16:39:27 UTC (rev 2661)
@@ -444,28 +444,19 @@
if (locationURL == null)
{
- String parentProtocol = parentURL.getProtocol();
- if (parentProtocol.indexOf("file") >= 0 &&
!location.startsWith("/"))
+ if (location.startsWith("/"))
+ location = location.substring(1);
+
+ String path = parentURL.toExternalForm();
+ path = path.substring(0, path.lastIndexOf("/"));
+
+ while (location.startsWith("../"))
{
- String path = parentURL.toExternalForm();
path = path.substring(0, path.lastIndexOf("/"));
- locationURL = new URL(path + "/" + location);
+ location = location.substring(3);
}
- else if (parentProtocol.startsWith("http") &&
location.startsWith("/"))
- {
- String path = parentProtocol + "://" + parentURL.getHost() +
":" + parentURL.getPort();
- locationURL = new URL(path + location);
- }
- else if (parentProtocol.equals("jar") &&
!location.startsWith("/"))
- {
- String path = parentURL.toExternalForm();
- path = path.substring(0, path.lastIndexOf("/"));
- locationURL = new URL(path + "/" + location);
- }
- else
- {
- throw new WSDLException(WSDLException.OTHER_ERROR, "Unsupported
schemaLocation: " + location);
- }
+
+ locationURL = new URL(path + "/" + location);
}
log.trace("Modified schemaLocation: " + locationURL);
@@ -504,8 +495,7 @@
WSDLInterfaceOperation destOperation = new WSDLInterfaceOperation(destInterface,
srcOperation.getName());
destOperation.setStyle(getOperationStyle(srcWsdl, srcPortType, srcOperation));
- if(srcOperation.getStyle()!=null
- && false ==
OperationType.NOTIFICATION.equals(srcOperation.getStyle()))
+ if (srcOperation.getStyle() != null && false ==
OperationType.NOTIFICATION.equals(srcOperation.getStyle()))
{
processOperationInput(srcWsdl, srcOperation, destOperation, srcPortType);
}
@@ -525,7 +515,7 @@
Message srcMessage = srcInput.getMessage();
if (srcMessage == null)
throw new WSDLException(WSDLException.INVALID_WSDL, "Cannot find input
message on operation " + srcOperation.getName() + " on port type: "
- + srcPortType.getQName());
+ + srcPortType.getQName());
log.trace("processOperationInput: " + srcMessage.getQName());
@@ -586,15 +576,16 @@
}
}
- private boolean ignorePart(PortType srcPortType, Part srcPart) {
+ private boolean ignorePart(PortType srcPortType, Part srcPart)
+ {
boolean canBeSkipped = false;
QName parentName = srcPortType.getQName();
- if(skippedSWAParts.containsKey(parentName))
+ if (skippedSWAParts.containsKey(parentName))
{
- if(skippedSWAParts.get(parentName).contains(srcPart.getName()))
+ if (skippedSWAParts.get(parentName).contains(srcPart.getName()))
{
- log.trace("Skip attachment part: " +
parentName+"->"+srcPart.getName());
+ log.trace("Skip attachment part: " + parentName + "->"
+ srcPart.getName());
canBeSkipped = true;
}
}
@@ -613,11 +604,8 @@
Message srcMessage = srcOutput.getMessage();
if (srcMessage == null)
- throw new WSDLException(
- WSDLException.INVALID_WSDL,
- "Cannot find output message on operation " + srcOperation.getName()
+
- " on port type: "+ srcPortType.getQName()
- );
+ throw new WSDLException(WSDLException.INVALID_WSDL, "Cannot find output
message on operation " + srcOperation.getName() + " on port type: "
+ + srcPortType.getQName());
log.trace("processOperationOutput: " + srcMessage.getQName());
@@ -645,7 +633,8 @@
for (Part srcPart : (List<Part>)srcMessage.getOrderedParts(null))
{
// Skip SWA attachment parts
- if(ignorePart(srcPortType, srcPart)) continue;
+ if (ignorePart(srcPortType, srcPart))
+ continue;
if (Constants.URI_STYLE_DOCUMENT == destOperation.getStyle())
{
@@ -913,47 +902,49 @@
* @param srcBinding
* @param srcWsdl
*/
- private void preProcessSWAParts(Binding srcBinding, Definition srcWsdl) {
+ private void preProcessSWAParts(Binding srcBinding, Definition srcWsdl)
+ {
Iterator opIt = srcBinding.getBindingOperations().iterator();
- while(opIt.hasNext())
+ while (opIt.hasNext())
{
BindingOperation bindingOperation = (BindingOperation)opIt.next();
// Input
- if(bindingOperation.getBindingInput()!=null)
- markSWAParts( bindingOperation.getBindingInput().getExtensibilityElements() ,
srcBinding, srcWsdl);
+ if (bindingOperation.getBindingInput() != null)
+ markSWAParts(bindingOperation.getBindingInput().getExtensibilityElements(),
srcBinding, srcWsdl);
// Output
- if(bindingOperation.getBindingOutput()!=null)
- markSWAParts( bindingOperation.getBindingOutput().getExtensibilityElements()
, srcBinding, srcWsdl);
+ if (bindingOperation.getBindingOutput() != null)
+ markSWAParts(bindingOperation.getBindingOutput().getExtensibilityElements(),
srcBinding, srcWsdl);
}
}
- private void markSWAParts(List extensions, Binding srcBinding, Definition srcWsdl) {
+ private void markSWAParts(List extensions, Binding srcBinding, Definition srcWsdl)
+ {
Iterator extIt = extensions.iterator();
- while(extIt.hasNext())
+ while (extIt.hasNext())
{
Object o = extIt.next();
- if(o instanceof MIMEMultipartRelated)
+ if (o instanceof MIMEMultipartRelated)
{
QName portTypeName = srcBinding.getPortType().getQName();
- if(log.isTraceEnabled())
+ if (log.isTraceEnabled())
log.trace("SWA found on portType" + portTypeName);
MIMEMultipartRelated mrel = (MIMEMultipartRelated)o;
Iterator mimePartIt = mrel.getMIMEParts().iterator();
- while(mimePartIt.hasNext())
+ while (mimePartIt.hasNext())
{
MIMEPart mimePartDesc = (MIMEPart)mimePartIt.next();
List mimePartExt = mimePartDesc.getExtensibilityElements();
- if(! mimePartExt.isEmpty() && (mimePartExt.get(0) instanceof
MIMEContent))
+ if (!mimePartExt.isEmpty() && (mimePartExt.get(0) instanceof
MIMEContent))
{
MIMEContent mimeContent = (MIMEContent)mimePartExt.get(0);
- if(skippedSWAParts.get(portTypeName)==null)
+ if (skippedSWAParts.get(portTypeName) == null)
skippedSWAParts.put(portTypeName, new ArrayList<String>());
skippedSWAParts.get(portTypeName).add(mimeContent.getPart());
}
@@ -1071,7 +1062,7 @@
}
private void processBindingInput(Definition srcWsdl, WSDLBindingOperation
destBindingOperation, final WSDLInterfaceOperation destIntfOperation,
- final BindingOperation srcBindingOperation,
BindingInput srcBindingInput) throws WSDLException
+ final BindingOperation srcBindingOperation, BindingInput srcBindingInput) throws
WSDLException
{
log.trace("processBindingInput");
@@ -1104,7 +1095,7 @@
}
private void processBindingOutput(Definition srcWsdl, WSDLBindingOperation
destBindingOperation, final WSDLInterfaceOperation destIntfOperation,
- final BindingOperation srcBindingOperation,
BindingOutput srcBindingOutput) throws WSDLException
+ final BindingOperation srcBindingOperation, BindingOutput srcBindingOutput)
throws WSDLException
{
log.trace("processBindingInput");
@@ -1138,7 +1129,8 @@
}
private void processBindingReference(Definition srcWsdl, WSDLBindingOperation
destBindingOperation, WSDLInterfaceOperation destIntfOperation, QName soap11Body,
- List<ExtensibilityElement> extList,
WSDLBindingMessageReference reference, BindingOperation srcBindingOperation,
ReferenceCallback callback) throws WSDLException
+ List<ExtensibilityElement> extList, WSDLBindingMessageReference reference,
BindingOperation srcBindingOperation, ReferenceCallback callback)
+ throws WSDLException
{
for (ExtensibilityElement extElement : extList)
{
Added: branches/jbossws-1.2.1/jbossws-core/src/resources/schema/soap-encoding_200206.xsd
===================================================================
--- branches/jbossws-1.2.1/jbossws-core/src/resources/schema/soap-encoding_200206.xsd
(rev 0)
+++
branches/jbossws-1.2.1/jbossws-core/src/resources/schema/soap-encoding_200206.xsd 2007-03-22
16:39:27 UTC (rev 2661)
@@ -0,0 +1,562 @@
+<!-- Schema defined in the SOAP Version 1.2 Part 2 specification
+ Last Call Working Draft:
+
http://www.w3.org/TR/2002/WD-soap12-part2-20020621/
+ $Id$
+
+ Copyright 2001 W3C (Massachusetts Institute of Technology,
+ Institut National de Recherche en Informatique et en Automatique,
+ Keio University). All Rights Reserved.
+
http://www.w3.org/Consortium/Legal/
+
+ This document is governed by the W3C Software License [1] as
+ described in the FAQ [2].
+
+ [1]
http://www.w3.org/Consortium/Legal/copyright-software-19980720
+ [2]
http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
+-->
+<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://www.w3.org/2002/06/soap-encoding"
targetNamespace="http://www.w3.org/2002/06/soap-encoding">
+
+ <xs:attribute name="root" type="xs:boolean"
default="0">
+ <xs:annotation>
+ <xs:documentation>
+ 'root' can be used to distinguish serialization roots from other
+ elements that are present in a serialization but are not roots of
+ a serialized value graph
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+
+ <xs:attributeGroup name="commonAttributes">
+ <xs:annotation>
+ <xs:documentation>
+ Attributes common to all elements that function as accessors or
+ represent independent (multi-ref) values. The ref attribute is
+ intended to be used in a manner like CONREF. That is, the element
+ content should be empty iff the ref attribute appears
+ </xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="ref" type="xs:IDREF"/>
+ <xs:anyAttribute namespace="##other"
processContents="lax"/>
+ </xs:attributeGroup>
+
+ <!-- Global Attributes. The following attributes are intended to be usable via
qualified attribute names on any complex type referencing them. -->
+
+ <!-- Array attributes. Needed to give the type and dimensions of an array's
contents, and the offset for partially-transmitted arrays. -->
+
+ <xs:simpleType name="arraySizeBase">
+ <xs:annotation>
+ <xs:documentation>
+ A list type that allows * and non negative integers. Used as the
+ base type for arraySize below.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:list>
+ <xs:simpleType>
+ <xs:union memberTypes="xs:nonNegativeInteger">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="*"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:list>
+ </xs:simpleType>
+
+
+ <xs:simpleType name="arraySize">
+ <xs:annotation>
+ <xs:documentation>
+ Pattern based restriction of the arraySizeBase list type. Used
+ as the type of the arraySize attribute. Restricts asterisk ( * )
+ to first list item only. Instances must contain at least an
+ asterisk ( * ) or a nonNegativeInteger. May contain other
+ nonNegativeIntegers as subsequent list items.
+ Valid instances include;
+
+ *
+ 1
+ * 2
+ 2 2
+ * 2 0
+
+ </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="tns:arraySizeBase">
+ <xs:pattern value="(\*|(\d+))(\s*\d+)*"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:attribute name="arraySize" type="tns:arraySize"/>
+ <xs:attribute name="itemType" type="xs:QName"/>
+
+ <xs:attributeGroup name="arrayAttributes">
+ <xs:attribute ref="tns:arraySize"/>
+ <xs:attribute ref="tns:itemType"/>
+ </xs:attributeGroup>
+
+ <xs:group name="Array">
+ <xs:sequence>
+ <xs:any namespace="##any" minOccurs="0"
maxOccurs="unbounded" processContents="lax"/>
+ </xs:sequence>
+ </xs:group>
+
+ <xs:element name="Array" type="tns:Array"/>
+ <xs:complexType name="Array">
+ <xs:annotation>
+ <xs:documentation>
+ 'Array' is a complex type for accessors identified by position
+ </xs:documentation>
+ </xs:annotation>
+ <xs:group ref="tns:Array" minOccurs="0"/>
+ <xs:attributeGroup ref="tns:arrayAttributes"/>
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:complexType>
+
+ <!-- 'Struct' is a complex type for accessors identified by name.
+ Constraint: No element may be have the same name as any other,
+ nor may any element have a maxOccurs > 1. -->
+
+ <xs:element name="Struct" type="tns:Struct"/>
+
+ <xs:group name="Struct">
+ <xs:sequence>
+ <xs:any namespace="##any" minOccurs="0"
maxOccurs="unbounded" processContents="lax"/>
+ </xs:sequence>
+ </xs:group>
+
+ <xs:complexType name="Struct">
+ <xs:group ref="tns:Struct" minOccurs="0"/>
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:complexType>
+
+ <!-- 'Base64' can be used to serialize binary data using base64 encoding
+ as defined in RFC2045 but without the MIME line length limitation. -->
+
+ <xs:simpleType name="base64">
+ <xs:restriction base="xs:base64Binary"/>
+ </xs:simpleType>
+
+ <!-- Element declarations corresponding to each of the simple types in the
+ XML Schemas Specification. -->
+
+ <xs:element name="duration" type="tns:duration"/>
+ <xs:complexType name="duration">
+ <xs:simpleContent>
+ <xs:extension base="xs:duration">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="dateTime" type="tns:dateTime"/>
+ <xs:complexType name="dateTime">
+ <xs:simpleContent>
+ <xs:extension base="xs:dateTime">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="time" type="tns:time"/>
+ <xs:complexType name="time">
+ <xs:simpleContent>
+ <xs:extension base="xs:time">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="date" type="tns:date"/>
+ <xs:complexType name="date">
+ <xs:simpleContent>
+ <xs:extension base="xs:date">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="gYearMonth" type="tns:gYearMonth"/>
+ <xs:complexType name="gYearMonth">
+ <xs:simpleContent>
+ <xs:extension base="xs:gYearMonth">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="gYear" type="tns:gYear"/>
+ <xs:complexType name="gYear">
+ <xs:simpleContent>
+ <xs:extension base="xs:gYear">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="gMonthDay" type="tns:gMonthDay"/>
+ <xs:complexType name="gMonthDay">
+ <xs:simpleContent>
+ <xs:extension base="xs:gMonthDay">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="gDay" type="tns:gDay"/>
+ <xs:complexType name="gDay">
+ <xs:simpleContent>
+ <xs:extension base="xs:gDay">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="gMonth" type="tns:gMonth"/>
+ <xs:complexType name="gMonth">
+ <xs:simpleContent>
+ <xs:extension base="xs:gMonth">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="boolean" type="tns:boolean"/>
+ <xs:complexType name="boolean">
+ <xs:simpleContent>
+ <xs:extension base="xs:boolean">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="base64Binary" type="tns:base64Binary"/>
+ <xs:complexType name="base64Binary">
+ <xs:simpleContent>
+ <xs:extension base="xs:base64Binary">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="hexBinary" type="tns:hexBinary"/>
+ <xs:complexType name="hexBinary">
+ <xs:simpleContent>
+ <xs:extension base="xs:hexBinary">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="float" type="tns:float"/>
+ <xs:complexType name="float">
+ <xs:simpleContent>
+ <xs:extension base="xs:float">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="double" type="tns:double"/>
+ <xs:complexType name="double">
+ <xs:simpleContent>
+ <xs:extension base="xs:double">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="anyURI" type="tns:anyURI"/>
+ <xs:complexType name="anyURI">
+ <xs:simpleContent>
+ <xs:extension base="xs:anyURI">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="QName" type="tns:QName"/>
+ <xs:complexType name="QName">
+ <xs:simpleContent>
+ <xs:extension base="xs:QName">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="string" type="tns:string"/>
+ <xs:complexType name="string">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="normalizedString"
type="tns:normalizedString"/>
+ <xs:complexType name="normalizedString">
+ <xs:simpleContent>
+ <xs:extension base="xs:normalizedString">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="token" type="tns:token"/>
+ <xs:complexType name="token">
+ <xs:simpleContent>
+ <xs:extension base="xs:token">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="language" type="tns:language"/>
+ <xs:complexType name="language">
+ <xs:simpleContent>
+ <xs:extension base="xs:language">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="Name" type="tns:Name"/>
+ <xs:complexType name="Name">
+ <xs:simpleContent>
+ <xs:extension base="xs:Name">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="NMTOKEN" type="tns:NMTOKEN"/>
+ <xs:complexType name="NMTOKEN">
+ <xs:simpleContent>
+ <xs:extension base="xs:NMTOKEN">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="NCName" type="tns:NCName"/>
+ <xs:complexType name="NCName">
+ <xs:simpleContent>
+ <xs:extension base="xs:NCName">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <!--
+ For compatibility with XML 1.0 the following element declaration and
+ associated complex type definition should NOT be used. It is
+ provided here for completenes.
+ -->
+ <xs:element name="NMTOKENS" type="tns:NMTOKENS"/>
+ <xs:complexType name="NMTOKENS">
+ <xs:simpleContent>
+ <xs:extension base="xs:NMTOKENS">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <!--
+ For compatibility with XML 1.0 the following element declaration and
+ associated complex type definition should NOT be used. It is
+ provided here for completenes.
+ -->
+ <xs:element name="ID" type="tns:ID"/>
+ <xs:complexType name="ID">
+ <xs:simpleContent>
+ <xs:extension base="xs:ID">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <!--
+ For compatibility with XML 1.0 the following element declaration and
+ associated complex type definition should NOT be used. It is
+ provided here for completenes.
+ -->
+ <xs:element name="IDREF" type="tns:IDREF"/>
+ <xs:complexType name="IDREF">
+ <xs:simpleContent>
+ <xs:extension base="xs:IDREF">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <!--
+ For compatibility with XML 1.0 the following element declaration and
+ associated complex type definition should NOT be used. It is
+ provided here for completenes.
+ -->
+ <xs:element name="ENTITY" type="tns:ENTITY"/>
+ <xs:complexType name="ENTITY">
+ <xs:simpleContent>
+ <xs:extension base="xs:ENTITY">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <!--
+ For compatibility with XML 1.0 the following element declaration and
+ associated complex type definition should NOT be used. It is
+ provided here for completenes.
+ -->
+ <xs:element name="IDREFS" type="tns:IDREFS"/>
+ <xs:complexType name="IDREFS">
+ <xs:simpleContent>
+ <xs:extension base="xs:IDREFS">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <!--
+ For compatibility with XML 1.0 the following element declaration and
+ associated complex type definition should NOT be used. It is
+ provided here for completenes.
+ -->
+ <xs:element name="ENTITIES" type="tns:ENTITIES"/>
+ <xs:complexType name="ENTITIES">
+ <xs:simpleContent>
+ <xs:extension base="xs:ENTITIES">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="decimal" type="tns:decimal"/>
+ <xs:complexType name="decimal">
+ <xs:simpleContent>
+ <xs:extension base="xs:decimal">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="integer" type="tns:integer"/>
+ <xs:complexType name="integer">
+ <xs:simpleContent>
+ <xs:extension base="xs:integer">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="nonPositiveInteger"
type="tns:nonPositiveInteger"/>
+ <xs:complexType name="nonPositiveInteger">
+ <xs:simpleContent>
+ <xs:extension base="xs:nonPositiveInteger">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="negativeInteger"
type="tns:negativeInteger"/>
+ <xs:complexType name="negativeInteger">
+ <xs:simpleContent>
+ <xs:extension base="xs:negativeInteger">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="long" type="tns:long"/>
+ <xs:complexType name="long">
+ <xs:simpleContent>
+ <xs:extension base="xs:long">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="int" type="tns:int"/>
+ <xs:complexType name="int">
+ <xs:simpleContent>
+ <xs:extension base="xs:int">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="short" type="tns:short"/>
+ <xs:complexType name="short">
+ <xs:simpleContent>
+ <xs:extension base="xs:short">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="byte" type="tns:byte"/>
+ <xs:complexType name="byte">
+ <xs:simpleContent>
+ <xs:extension base="xs:byte">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="nonNegativeInteger"
type="tns:nonNegativeInteger"/>
+ <xs:complexType name="nonNegativeInteger">
+ <xs:simpleContent>
+ <xs:extension base="xs:nonNegativeInteger">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="unsignedLong" type="tns:unsignedLong"/>
+ <xs:complexType name="unsignedLong">
+ <xs:simpleContent>
+ <xs:extension base="xs:unsignedLong">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="unsignedInt" type="tns:unsignedInt"/>
+ <xs:complexType name="unsignedInt">
+ <xs:simpleContent>
+ <xs:extension base="xs:unsignedInt">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="unsignedShort" type="tns:unsignedShort"/>
+ <xs:complexType name="unsignedShort">
+ <xs:simpleContent>
+ <xs:extension base="xs:unsignedShort">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="unsignedByte" type="tns:unsignedByte"/>
+ <xs:complexType name="unsignedByte">
+ <xs:simpleContent>
+ <xs:extension base="xs:unsignedByte">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="positiveInteger"
type="tns:positiveInteger"/>
+ <xs:complexType name="positiveInteger">
+ <xs:simpleContent>
+ <xs:extension base="xs:positiveInteger">
+ <xs:attributeGroup ref="tns:commonAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="anyType"/>
+</xs:schema>
\ No newline at end of file
Property changes on:
branches/jbossws-1.2.1/jbossws-core/src/resources/schema/soap-encoding_200206.xsd
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF