Je travaille sur un service Web basé sur SOAP, avec Sun's Metro.Rediriger les journaux de sortie de javax.xml.ws et com.sun.xml.ws
Je suis face à un bug gênant, chaque fois que j'envoyer un objet SOAP malformé à mon service Web, le spam api de soleil le System.out avec des bûches comme ceci:
javax.xml.ws.WebServiceException: com.sun.istack.XMLStreamException2: org.xml.sax.SAXParseException: cvc-complex-type.4: L'attribut 'type' doit apparaître sur l'élément 'objet'. à com.sun.xml.ws.util.pipe.AbstractSchemaValidationTube.doProcess (AbstractSchemaValidationTube.java:206) à com.sun.xml.ws.util.pipe.AbstractSchemaValidationTube.processRequest (AbstractSchemaValidationTube.java:175) à com.sun.xml.ws.api.pipe.Fiber .__ doRun (Fibre.java:595) à com.sun.xml.ws.api.pipe.Fiber._doRun (Fibre.java:554) à com. sun.xml.ws.api.pipe.Fiber.doRun (Fiber.java:539) à com.sun.xml.ws.api.pipe.Fiber.runSync (Fiber.java:436) à com.sun. xml.ws.server.WSEndpointImpl $ 2.process (WSEndpointImpl.java:243) à com.sun.xml.ws.transport.http.HttpAdapter $ HttpToolkit.handle (HttpAdapter.java:444) à com.sun.xml .ws.transport.http.HttpAdapter.handle (HttpAdapter.java:244) à l'adresse com.sun.xml.ws.transport.http.server.WSHttpHandler.handleExchange (WSHttpHandler.java:106) à l'adresse com.sun.xml.ws.transport.http.server.WSHttpHandler.handle (WSHttpHandler.java: 91) à com.sun.net.httpserver.Filter $ Chain.doFilter (Filter.java:65) à sun.net.httpserver.AuthFilter.doFilter (AuthFilter.java:54) à com.sun.net. httpserver.Filter $ Chain.doFilter (Filter.java:68) sur sun.net.httpserver.ServerImpl $ Échangez $ LinkHandler.handle (ServerImpl.java:555) sur com.sun.net.httpserver.Filter $ Chaîne. doFilter (Filter.java:65) à sun.net.httpserver.ServerImpl $ Exchange.run (ServerImpl.java:527) à sun.net.httpserver.ServerImpl $ DefaultExecutor.execute (ServerImpl.java:119) à sun.net.httpserver.ServerImpl $ Dispa tcher.handle (ServerImpl.java:349) à sun.net.httpserver.ServerImpl $ Dispatcher.run (ServerImpl.java:321) à java.lang.Thread.run (Thread.java:619) Causé par: com.sun.istack.XMLStreamException2: org.xml.sax.SAXParseException: cvc-complex-type.4: L'attribut 'type' doit apparaître sur l'élément 'objet'. à com.sun.xml.ws.util.xml.StAXSource $ 1.parse (StAXSource.java:185) à com.sun.xml.ws.util.xml.StAXSource $ 1.parse (StAXSource.java:170) à org.apache.xerces.jaxp.validation.ValidatorHandlerImpl.validate (source inconnue) à org.apache.xerces.jaxp.validation.ValidatorImpl.validate (source inconnue) à javax.xml.validation.Validator.validate (Validator.java:127) à com.sun.xml.ws.util.pipe.AbstractSchemaValidationTube.doProcess (AbstractSchemaValidationTube.java:204) ... 20 plus
Je voudrais désactiver ce journal ou le rediriger vers mon error/warn/debug.log fichiers utilisés par log4j.
J'ai essayé d'ajouter une règle dans mon log4j.xml fichier:
<category name="javax.xml.ws">
<priority value="error" />
</category>
Il n'a pas travaillé.
J'ai donc essayé l'astuce suivante:
java.util.logging.Logger.getLogger("javax.xml.ws.WebServiceException").setLevel(
java.util.logging.Level.OFF);
il n'a pas travaillé ni.
Des idées?
Il est pas un gros problème, mais il me fait catalina.log grossit & plus gros et ce n'est pas l'endroit approprié pour ce genre de journal.
Chris
J'étudie la source Metro pour un problème similaire. Il semble que la sortie vers System.out est codée en dur et ne peut pas être facilement modifiée. –