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]

Reply via email to