Uploaded image for project: 'Woden'
  1. Woden
  2. WODEN-179

Remove WSDLReader.readWSDL methods that take an ErrorHandler parameter

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • M8
    • None
    • None

    Description

      Each type of readWSDL method (i.e. URI argument, WSDLSource arg) also offers a signature that takes an ErrorHandler object. ErrorHandler is just one type of user configuration that may be done via the WSDLReader. Others include setting the ExtensionRegistry and URIResolver. It seems inconsistent to offer ErrorHandler configuration via the readWSDL methods, while explicit setters are used for the others. I think I did this originally as a convenience method, but I prefer a programming model that preserves the encapsulation of ErrorReporter and maintains a consistent approach across the WSDLReader API.

      This means the client would code:
      reader.getErrorReporter().setErrorHandler(myErrHandler);
      reader.readWSDL(wsdlUri);

      rather than:

      reader.readWSDL(wsdlUri, myErrHandler);

      A slightly longer pgm model, but better encapsulation and with the improved scoping of share objects brought about by WODEN-177, it becomes more obvious that this configuration change is a persistent change to the ErrorReporter, hence scoped across Woden, not just a temporary change for the life if the readWSDL invocation.

      The readWSDL methods in question are not used by Axis2, so I'd prefer to remove them rather than deprecate across releases, but we should post to the woden-dev list to see if there are any objections.

      Attachments

        1. woden-179.patch
          60 kB
          Dan Harvey

        Activity

          People

            danharvey Dan Harvey
            jkaputin John Alan William Kaputin
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: