You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ke...@apache.org on 2008/01/12 08:31:45 UTC

svn commit: r611383 - /webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java

Author: keithc
Date: Fri Jan 11 23:31:44 2008
New Revision: 611383

URL: http://svn.apache.org/viewvc?rev=611383&view=rev
Log:
Handling a possible NPE here. Throwing a readable exception instead.


Modified:
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java?rev=611383&r1=611382&r2=611383&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java Fri Jan 11 23:31:44 2008
@@ -80,6 +80,7 @@
 import org.apache.woden.wsdl20.xml.DocumentableElement;
 import org.apache.woden.wsdl20.xml.DocumentationElement;
 import org.apache.woden.wsdl20.xml.TypesElement;
+import org.apache.woden.wsdl20.xml.InterfaceMessageReferenceElement;
 import org.apache.woden.xml.XMLAttr;
 import org.apache.ws.commons.schema.XmlSchema;
 import org.apache.ws.commons.schema.utils.NamespaceMap;
@@ -1083,7 +1084,14 @@
         QName elementQName = null;
 
         if (WSDL2Constants.NMTOKEN_ELEMENT.equals(messageContentModelName)) {
-            elementQName = messageReference.getElementDeclaration().getName();
+            ElementDeclaration elementDeclaration = messageReference.getElementDeclaration();
+            if (elementDeclaration == null) {
+                InterfaceMessageReferenceElement messageReferenceElement =
+                        messageReference.toElement();
+                QName qName = messageReferenceElement.getElement().getQName();
+                throw new AxisFault("Unable to find element " + qName.toString() + " reffered to by operation " + axisOperation.getName().getLocalPart());
+            }
+            elementQName = elementDeclaration.getName();
         } else if (WSDL2Constants.NMTOKEN_ANY.equals(messageContentModelName)) {
             elementQName = Constants.XSD_ANY;
         } else



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org