butek 02/03/20 05:36:47
Modified: java/src/org/apache/axis/utils resources.properties
java/src/org/apache/axis/wsdl/toJava SymbolTable.java
Log:
Throw a useful exception if the use attribute is missing from a
soap:operation. It used to throw NullPointerException.
Revision Changes Path
1.78 +2 -0 xml-axis/java/src/org/apache/axis/utils/resources.properties
Index: resources.properties
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/utils/resources.properties,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -r1.77 -r1.78
--- resources.properties 19 Mar 2002 22:51:14 -0000 1.77
+++ resources.properties 20 Mar 2002 13:36:47 -0000 1.78
@@ -775,3 +775,5 @@
noElemOrType=Error: Message part {0} of operation {1} should have either an element
or a type attribute
badTypeNode=Error: Missing type resolution for element {2}, in WSDL message part
{0} of operation {1}
+# NOTE: in noUse, do no translate "soap:operation", "binding operation", "use".
+noUse=The soap:operation for binding operation {0} must have a "use" attribute.
1.48 +12 -0 xml-axis/java/src/org/apache/axis/wsdl/toJava/SymbolTable.java
Index: SymbolTable.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/SymbolTable.java,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -r1.47 -r1.48
--- SymbolTable.java 19 Mar 2002 23:29:28 -0000 1.47
+++ SymbolTable.java 20 Mar 2002 13:36:47 -0000 1.48
@@ -1236,6 +1236,10 @@
Object obj = inIter.next();
if (obj instanceof SOAPBody) {
String use = ((SOAPBody) obj).getUse();
+ if (use == null) {
+ throw new IOException(JavaUtils.getMessage(
+ "noUse", bindOp.getName()));
+ }
if (use.equalsIgnoreCase("literal")) {
inputBodyType = BindingEntry.USE_LITERAL;
}
@@ -1253,6 +1257,10 @@
Object obj = outIter.next();
if (obj instanceof SOAPBody) {
String use = ((SOAPBody) obj).getUse();
+ if (use == null) {
+ throw new IOException(JavaUtils.getMessage(
+ "noUse", bindOp.getName()));
+ }
if (use.equalsIgnoreCase("literal")) {
outputBodyType = BindingEntry.USE_LITERAL;
}
@@ -1278,6 +1286,10 @@
Object obj = faultIter.next();
if (obj instanceof SOAPBody) {
String use = ((SOAPBody) obj).getUse();
+ if (use == null) {
+ throw new IOException(JavaUtils.getMessage(
+ "noUse", bindOp.getName()));
+ }
if (use.equalsIgnoreCase("literal")) {
faultBodyType = BindingEntry.USE_LITERAL;
}