Author: ips
Date: Thu Mar 10 13:45:22 2005
New Revision: 156996
URL: http://svn.apache.org/viewcvs?view=rev&rev=156996
Log:
improved error handling of invalid syntax in RP doc schema def
Modified:
incubator/apollo/trunk/src/java/org/apache/ws/util/WsrfWsdlUtils.java
Modified: incubator/apollo/trunk/src/java/org/apache/ws/util/WsrfWsdlUtils.java
URL:
http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/util/WsrfWsdlUtils.java?view=diff&r1=156995&r2=156996
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/util/WsrfWsdlUtils.java
(original)
+++ incubator/apollo/trunk/src/java/org/apache/ws/util/WsrfWsdlUtils.java Thu
Mar 10 13:45:22 2005
@@ -15,16 +15,14 @@
*=============================================================================*/
package org.apache.ws.util;
-
+import org.apache.ws.resource.InvalidWsrfWsdlException;
import org.apache.xml.utils.PrefixResolver;
import org.apache.xml.utils.PrefixResolverDefault;
-import org.apache.ws.resource.InvalidWsrfWsdlException;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.xml.sax.SAXException;
import javax.wsdl.Definition;
import javax.wsdl.Operation;
@@ -32,17 +30,13 @@
import javax.wsdl.extensions.ExtensibilityElement;
import javax.wsdl.extensions.UnknownExtensibilityElement;
import javax.xml.namespace.QName;
-import javax.xml.parsers.ParserConfigurationException;
+import java.net.URL;
+import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.lang.reflect.Array;
-import java.net.URL;
-import java.io.IOException;
/**
* Utility methods for working with a WSRF WSDL definition.
@@ -174,7 +168,14 @@
{
Element propElem = (Element) propElems.item( i );
String ref = propElem.getAttribute( "ref" );
+ if ( "".equals( ref ) ) {
+ throw new InvalidWsrfWsdlException( "All element defs within
the resource property document def must have a 'ref' attribute that points at a
global element def." );
+ }
StringTokenizer tokenizer = new StringTokenizer( ref, ":" );
+ if ( tokenizer.countTokens() != 2 )
+ {
+ throw new InvalidWsrfWsdlException( "Value for 'ref' attribute
must be qualified via a namespace prefix." );
+ }
String propPrefix = tokenizer.nextToken();
String propLocalName = tokenizer.nextToken();
// TODO: write our own prefix resolver to eliminate dep on Xalan
@@ -207,7 +208,6 @@
{
elems.add(includes.item(i));
}
-
String[] locations = new String[elems.size()];
for (int i = 0; i < elems.size(); i++)
{
@@ -315,7 +315,6 @@
}
}
}
-
return schemaElem;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]