#13 Unessary messages being produced to stdout

Rick R

WSDLReaderImpl.java in several places is producing
unnecessary messages to directly to stdout. Can this
be turned off by default and use some logging
infrastructure or if that is not preferred have it
turned on by a system property? Thanks

Retrieving document
at 'file:/E:/dev/tuscany/java/testing/tomcat/target/ap


  • Jeremy Hughes

    Jeremy Hughes - 2006-04-07

    Logged In: YES

    All output to System.out is protected by a check on the
    verbose feature which is turned on by default. You can turn
    it off by doing setting the javax.wsdl.verbose system
    property to false.

  • John Kaputin

    John Kaputin - 2006-04-07

    Logged In: YES

    Code example:

    WSDLReader reader = factory.newWSDLReader();
    reader.setFeature("javax.wsdl.verbose", false);

  • John Kaputin

    John Kaputin - 2006-04-07
    • assigned_to: nobody --> kaputin
    • status: open --> pending
  • Nobody/Anonymous

    Logged In: NO

    Yes but if you're using code that has it embedded this is
    hard to change. I think having it off is a much better choice.

  • John Kaputin

    John Kaputin - 2006-04-07

    Logged In: YES

    Posted the following message to the WSDL4J mailing list
    (jsr110-eg-disc@yahoogroups.com) as this issue should be
    discussed with the WSDL4J community to determine consensus.
    We are considering a request to turn the feature
    javax.wsdl.verbose OFF by default. Please vote or comment on
    this mailing list if you have any views on this.

    See tracker -

    A new SourceForge WSDL4J tracker requests that the
    javax.wsdl.verbose feature be turned off by default.
    Currently, this feature is on by default. When it's turned
    on, WSDLReaderImpl will output error messages to System.out.

    It is possible to set this feature via the API, using
    WSDLReader.setFeature. However, the tracker comment states
    that this is hard when WSDL4J is being used as a component
    embedded within some other software (i.e. the user's
    application is not using WSDL4J directly). Hence the
    request to set if OFF by default.

    The tracker comments also suggest either using a logging
    infrastructure or making this feature configurable via a
    system property. We will not be implementing a logging
    infrastructure in WSDL4J any time soon. Likewise, features
    are supported via the API and we don't plan in the short
    term to add support via system properties.

    In fact, in the scenario above it's probably up to the
    intermediary software that embeds WSDL4J to set any WSDL4J
    features or to expose some mechanism (API or properties) to
    allow the user application to specify the feature settings
    so the intermediary software can then call
    WSDLReader.setFeature to set them accordingly. If we were to
    provide WSDL4J feature setting via system properties it
    might be possible for a user application to modify the
    behaviour of WSDL4J in ways not expected by the intermediary

  • Rick R

    Rick R - 2006-04-07
    • status: pending --> open
  • Rick R

    Rick R - 2006-04-07

    Logged In: YES

    I don't see a means to vote.. guess I'm an obvious +1 to
    make the default off. My opinion is that libraries or
    utilities should be silent unless something is explicitly
    enabled be it logging or to stdout. It's very uncommon to
    see supporting or utility type libraries to do otherwise
    from my experience.

  • John Kaputin

    John Kaputin - 2006-10-12

    Logged In: YES

    One solution to this is to make the feature
    javax.wsdl.verbose default to false instead of true.
    This changes the JSR110 spec so it needs to be done as part
    of a formal Maintenance Release under JCP 2.1. This issue
    was accidentally missed during the recent JSR110 Maintenance
    Release (JWSDL 1.2 / WSDL4J 1.6). However, this fix (default
    false) will be applied at the next maintenance release.

    Another fix is to enable WSDL4J to determine feature
    settings at start up from properties specified either as
    Java System properties or in the [JRE]/lib/wsdl.properties
    file or in individual property files in the
    /META-INF/services directory. We will consider this too and
    if it does not change the JSR110 spec, whether it can be
    done prior to the next JSR110 Maintenance Release.

  • Nobody/Anonymous

    Logged In: NO

    hughesjp>You can turn it off by doing setting the javax.wsdl.verbose system property to false.

    This doesn't seem to be the case.
    Sure you can do

    System.setProperty("javax.wsdl.verbose", "false");

    But this value in never read by WSDLReaderImpl.
    For this to work, something like this should be added (f.e. in the constructor)

    Code Example :

    if (System.getProperty(Constants.FEATURE_VERBOSE).equals("false"))
    setFeature(Constants.FEATURE_VERBOSE, false);

    Wim V