You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2005/02/14 03:34:42 UTC
svn commit: r153695 -
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java
Author: djencks
Date: Sun Feb 13 18:34:42 2005
New Revision: 153695
URL: http://svn.apache.org/viewcvs?view=rev&rev=153695
Log:
work with RC3 wsdl4j which has a schema extension element not mentioned in the spec
Modified:
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java
Modified: geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java?view=diff&r1=153694&r2=153695
==============================================================================
--- geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java (original)
+++ geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java Sun Feb 13 18:34:42 2005
@@ -51,6 +51,7 @@
import javax.wsdl.WSDLException;
import javax.wsdl.extensions.ExtensibilityElement;
import javax.wsdl.extensions.UnknownExtensibilityElement;
+import javax.wsdl.extensions.schema.Schema;
import javax.wsdl.extensions.soap.SOAPAddress;
import javax.wsdl.extensions.soap.SOAPBinding;
import javax.wsdl.extensions.soap.SOAPBody;
@@ -784,7 +785,7 @@
Map faultMap = operation.getFaults();
for (Iterator iterator = faultMap.entrySet().iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
+ Map.Entry entry = (Map.Entry) iterator.next();
String faultName = (String) entry.getKey();
Fault fault = (Fault) entry.getValue();
Message message = fault.getMessage();
@@ -802,9 +803,9 @@
String headerFaultMessagePartName = exceptionMapping.getWsdlMessagePartName().getStringValue();
part = message.getPart(headerFaultMessagePartName);
} else {
- part= (Part) message.getOrderedParts(null).iterator().next();
+ part = (Part) message.getOrderedParts(null).iterator().next();
}
- QName faultTypeQName = part.getElementName() == null? part.getTypeName(): part.getElementName();
+ QName faultTypeQName = part.getElementName() == null ? part.getTypeName() : part.getElementName();
boolean isComplex = part.getTypeName() != null && complexTypeMap.containsKey(part.getTypeName());
FaultDesc faultDesc = new FaultDesc(faultQName, className, faultTypeQName, isComplex);
@@ -882,7 +883,43 @@
List schemas = types.getExtensibilityElements();
for (Iterator iterator = schemas.iterator(); iterator.hasNext();) {
Object o = iterator.next();
- if (o instanceof UnknownExtensibilityElement) {
+ if (o instanceof Schema) {
+ Schema unknownExtensibilityElement = (Schema) o;
+ QName elementType = unknownExtensibilityElement.getElementType();
+ if (new QName("http://www.w3.org/2001/XMLSchema", "schema").equals(elementType)) {
+ Element element = unknownExtensibilityElement.getElement();
+ try {
+ XmlObject xmlObject = SchemaConversionUtils.parse(element);
+ XmlCursor cursor = xmlObject.newCursor();
+ try {
+ cursor.toFirstContentToken();
+ for (Iterator namespaces = namespaceMap.entrySet().iterator(); namespaces.hasNext();) {
+ Map.Entry entry = (Map.Entry) namespaces.next();
+ cursor.insertNamespace((String) entry.getKey(), (String) entry.getValue());
+ }
+ } finally {
+ cursor.dispose();
+ }
+ SchemaDocument schemaDoc = (SchemaDocument) xmlObject.changeType(SchemaDocument.type);
+ SchemaConversionUtils.validateDD(schemaDoc);
+ SchemaDocument.Schema schema = schemaDoc.getSchema();
+ String targetNamespace = schema.getTargetNamespace();
+ ComplexType[] complexTypes = schema.getComplexTypeArray();
+ for (int j = 0; j < complexTypes.length; j++) {
+ ComplexType complexType = complexTypes[j];
+ String complexTypeName = complexType.getName();
+ QName complexTypeQName = new QName(targetNamespace, complexTypeName);
+ complexTypeMap.put(complexTypeQName, complexType);
+ }
+ } catch (XmlException e) {
+ throw new DeploymentException("Invalid schema in wsdl", e);
+ }
+ } else {
+ //problems??
+ }
+ } else if (o instanceof UnknownExtensibilityElement) {
+ //This is apparently obsolete as of axis-wsdl4j-1.2-RC3.jar which includes the Schema extension above.
+ //I'm leaving this in in case this Schema class is not really part of a spec, even though its in javax.
UnknownExtensibilityElement unknownExtensibilityElement = (UnknownExtensibilityElement) o;
QName elementType = unknownExtensibilityElement.getElementType();
if (new QName("http://www.w3.org/2001/XMLSchema", "schema").equals(elementType)) {
Re: svn commit: r153695 - geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java
Posted by Davanum Srinivas <da...@gmail.com>.
djencks,
Schema stuff is part of JSR-110 (JWSDL 1.1)
-- dims
On Mon, 14 Feb 2005 02:34:42 -0000, djencks@apache.org
<dj...@apache.org> wrote:
> Author: djencks
> Date: Sun Feb 13 18:34:42 2005
> New Revision: 153695
>
> URL: http://svn.apache.org/viewcvs?view=rev&rev=153695
> Log:
> work with RC3 wsdl4j which has a schema extension element not mentioned in the spec
>
> Modified:
> geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java
>
> Modified: geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java
> URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java?view=diff&r1=153694&r2=153695
> ==============================================================================
> --- geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java (original)
> +++ geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java Sun Feb 13 18:34:42 2005
> @@ -51,6 +51,7 @@
> import javax.wsdl.WSDLException;
> import javax.wsdl.extensions.ExtensibilityElement;
> import javax.wsdl.extensions.UnknownExtensibilityElement;
> +import javax.wsdl.extensions.schema.Schema;
> import javax.wsdl.extensions.soap.SOAPAddress;
> import javax.wsdl.extensions.soap.SOAPBinding;
> import javax.wsdl.extensions.soap.SOAPBody;
> @@ -784,7 +785,7 @@
>
> Map faultMap = operation.getFaults();
> for (Iterator iterator = faultMap.entrySet().iterator(); iterator.hasNext();) {
> - Map.Entry entry = (Map.Entry) iterator.next();
> + Map.Entry entry = (Map.Entry) iterator.next();
> String faultName = (String) entry.getKey();
> Fault fault = (Fault) entry.getValue();
> Message message = fault.getMessage();
> @@ -802,9 +803,9 @@
> String headerFaultMessagePartName = exceptionMapping.getWsdlMessagePartName().getStringValue();
> part = message.getPart(headerFaultMessagePartName);
> } else {
> - part= (Part) message.getOrderedParts(null).iterator().next();
> + part = (Part) message.getOrderedParts(null).iterator().next();
> }
> - QName faultTypeQName = part.getElementName() == null? part.getTypeName(): part.getElementName();
> + QName faultTypeQName = part.getElementName() == null ? part.getTypeName() : part.getElementName();
> boolean isComplex = part.getTypeName() != null && complexTypeMap.containsKey(part.getTypeName());
> FaultDesc faultDesc = new FaultDesc(faultQName, className, faultTypeQName, isComplex);
>
> @@ -882,7 +883,43 @@
> List schemas = types.getExtensibilityElements();
> for (Iterator iterator = schemas.iterator(); iterator.hasNext();) {
> Object o = iterator.next();
> - if (o instanceof UnknownExtensibilityElement) {
> + if (o instanceof Schema) {
> + Schema unknownExtensibilityElement = (Schema) o;
> + QName elementType = unknownExtensibilityElement.getElementType();
> + if (new QName("http://www.w3.org/2001/XMLSchema", "schema").equals(elementType)) {
> + Element element = unknownExtensibilityElement.getElement();
> + try {
> + XmlObject xmlObject = SchemaConversionUtils.parse(element);
> + XmlCursor cursor = xmlObject.newCursor();
> + try {
> + cursor.toFirstContentToken();
> + for (Iterator namespaces = namespaceMap.entrySet().iterator(); namespaces.hasNext();) {
> + Map.Entry entry = (Map.Entry) namespaces.next();
> + cursor.insertNamespace((String) entry.getKey(), (String) entry.getValue());
> + }
> + } finally {
> + cursor.dispose();
> + }
> + SchemaDocument schemaDoc = (SchemaDocument) xmlObject.changeType(SchemaDocument.type);
> + SchemaConversionUtils.validateDD(schemaDoc);
> + SchemaDocument.Schema schema = schemaDoc.getSchema();
> + String targetNamespace = schema.getTargetNamespace();
> + ComplexType[] complexTypes = schema.getComplexTypeArray();
> + for (int j = 0; j < complexTypes.length; j++) {
> + ComplexType complexType = complexTypes[j];
> + String complexTypeName = complexType.getName();
> + QName complexTypeQName = new QName(targetNamespace, complexTypeName);
> + complexTypeMap.put(complexTypeQName, complexType);
> + }
> + } catch (XmlException e) {
> + throw new DeploymentException("Invalid schema in wsdl", e);
> + }
> + } else {
> + //problems??
> + }
> + } else if (o instanceof UnknownExtensibilityElement) {
> + //This is apparently obsolete as of axis-wsdl4j-1.2-RC3.jar which includes the Schema extension above.
> + //I'm leaving this in in case this Schema class is not really part of a spec, even though its in javax.
> UnknownExtensibilityElement unknownExtensibilityElement = (UnknownExtensibilityElement) o;
> QName elementType = unknownExtensibilityElement.getElementType();
> if (new QName("http://www.w3.org/2001/XMLSchema", "schema").equals(elementType)) {
>
>
--
Davanum Srinivas - http://webservices.apache.org/~dims/
Re: svn commit: r153695 - geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java
Posted by Davanum Srinivas <da...@gmail.com>.
djencks,
Schema stuff is part of JSR-110 (JWSDL 1.1)
-- dims
On Mon, 14 Feb 2005 02:34:42 -0000, djencks@apache.org
<dj...@apache.org> wrote:
> Author: djencks
> Date: Sun Feb 13 18:34:42 2005
> New Revision: 153695
>
> URL: http://svn.apache.org/viewcvs?view=rev&rev=153695
> Log:
> work with RC3 wsdl4j which has a schema extension element not mentioned in the spec
>
> Modified:
> geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java
>
> Modified: geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java
> URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java?view=diff&r1=153694&r2=153695
> ==============================================================================
> --- geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java (original)
> +++ geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java Sun Feb 13 18:34:42 2005
> @@ -51,6 +51,7 @@
> import javax.wsdl.WSDLException;
> import javax.wsdl.extensions.ExtensibilityElement;
> import javax.wsdl.extensions.UnknownExtensibilityElement;
> +import javax.wsdl.extensions.schema.Schema;
> import javax.wsdl.extensions.soap.SOAPAddress;
> import javax.wsdl.extensions.soap.SOAPBinding;
> import javax.wsdl.extensions.soap.SOAPBody;
> @@ -784,7 +785,7 @@
>
> Map faultMap = operation.getFaults();
> for (Iterator iterator = faultMap.entrySet().iterator(); iterator.hasNext();) {
> - Map.Entry entry = (Map.Entry) iterator.next();
> + Map.Entry entry = (Map.Entry) iterator.next();
> String faultName = (String) entry.getKey();
> Fault fault = (Fault) entry.getValue();
> Message message = fault.getMessage();
> @@ -802,9 +803,9 @@
> String headerFaultMessagePartName = exceptionMapping.getWsdlMessagePartName().getStringValue();
> part = message.getPart(headerFaultMessagePartName);
> } else {
> - part= (Part) message.getOrderedParts(null).iterator().next();
> + part = (Part) message.getOrderedParts(null).iterator().next();
> }
> - QName faultTypeQName = part.getElementName() == null? part.getTypeName(): part.getElementName();
> + QName faultTypeQName = part.getElementName() == null ? part.getTypeName() : part.getElementName();
> boolean isComplex = part.getTypeName() != null && complexTypeMap.containsKey(part.getTypeName());
> FaultDesc faultDesc = new FaultDesc(faultQName, className, faultTypeQName, isComplex);
>
> @@ -882,7 +883,43 @@
> List schemas = types.getExtensibilityElements();
> for (Iterator iterator = schemas.iterator(); iterator.hasNext();) {
> Object o = iterator.next();
> - if (o instanceof UnknownExtensibilityElement) {
> + if (o instanceof Schema) {
> + Schema unknownExtensibilityElement = (Schema) o;
> + QName elementType = unknownExtensibilityElement.getElementType();
> + if (new QName("http://www.w3.org/2001/XMLSchema", "schema").equals(elementType)) {
> + Element element = unknownExtensibilityElement.getElement();
> + try {
> + XmlObject xmlObject = SchemaConversionUtils.parse(element);
> + XmlCursor cursor = xmlObject.newCursor();
> + try {
> + cursor.toFirstContentToken();
> + for (Iterator namespaces = namespaceMap.entrySet().iterator(); namespaces.hasNext();) {
> + Map.Entry entry = (Map.Entry) namespaces.next();
> + cursor.insertNamespace((String) entry.getKey(), (String) entry.getValue());
> + }
> + } finally {
> + cursor.dispose();
> + }
> + SchemaDocument schemaDoc = (SchemaDocument) xmlObject.changeType(SchemaDocument.type);
> + SchemaConversionUtils.validateDD(schemaDoc);
> + SchemaDocument.Schema schema = schemaDoc.getSchema();
> + String targetNamespace = schema.getTargetNamespace();
> + ComplexType[] complexTypes = schema.getComplexTypeArray();
> + for (int j = 0; j < complexTypes.length; j++) {
> + ComplexType complexType = complexTypes[j];
> + String complexTypeName = complexType.getName();
> + QName complexTypeQName = new QName(targetNamespace, complexTypeName);
> + complexTypeMap.put(complexTypeQName, complexType);
> + }
> + } catch (XmlException e) {
> + throw new DeploymentException("Invalid schema in wsdl", e);
> + }
> + } else {
> + //problems??
> + }
> + } else if (o instanceof UnknownExtensibilityElement) {
> + //This is apparently obsolete as of axis-wsdl4j-1.2-RC3.jar which includes the Schema extension above.
> + //I'm leaving this in in case this Schema class is not really part of a spec, even though its in javax.
> UnknownExtensibilityElement unknownExtensibilityElement = (UnknownExtensibilityElement) o;
> QName elementType = unknownExtensibilityElement.getElementType();
> if (new QName("http://www.w3.org/2001/XMLSchema", "schema").equals(elementType)) {
>
>
--
Davanum Srinivas - http://webservices.apache.org/~dims/