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;
                               }





Reply via email to