Yes, it's a required attribute. And since WSDL4J, unfortunately, claims
they're not a validator, we've got to validate it.
It would be nice for WSDL4J to get under the Apache umbrella. As users of
WSDL4J I think we all agree that it SHOULD validate WSDL. If it were under
Apache, we could probably convince the committers (or become committers
ourselves) that validation is necessary.
Russell Butek
[EMAIL PROTECTED]
Tom Jordahl <[EMAIL PROTECTED]> on 03/20/2002 08:47:16 AM
Please respond to [EMAIL PROTECTED]
To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
cc:
Subject: RE: cvs commit: xml-axis/java/src/org/apache/axis/wsdl/toJava
Sym bolTable.java
Hey Russell,
Isn't use a required attribute in the WSDL?
I guess WSDL4J doesn't require it.... :-(
--
Tom Jordahl
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, March 20, 2002 8:37 AM
To: [EMAIL PROTECTED]
Subject: cvs commit: xml-axis/java/src/org/apache/axis/wsdl/toJava
SymbolTable.java
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;
}