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
ache-tomcat-5.5.15/webapps/account-SNAPSHOT/WEB.wsdl'.
Logged In: YES
user_id=1269087
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.
Logged In: YES
user_id=1208590
Code example:
WSDLReader reader = factory.newWSDLReader();
reader.setFeature("javax.wsdl.verbose", false);
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.
Logged In: YES
user_id=1208590
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 -
http://sourceforge.net/tracker/?func=detail&atid=712792&aid=1465972&group_id=128811
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
software.
Logged In: YES
user_id=1454646
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.
Logged In: YES
user_id=1208590
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.
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