ciao

ho costruito un handler per poter leggere il messaggio soap:

ma nella ricezione del fault,
classe SOAPListener.LoggingHandler metodo handleFault:

public boolean handleFault(SOAPMessageContext c) {
try {
SOAPMessage msg = c.getMessage();
msg.writeTo(System.out);
} catch (SOAPException ex) {
...

ottengo un errore dovuto alla ricezione del soap che contiene nell'xml dei caratteri non quotati
che sono la e commerciale seguita da cancelletto e dal numero 28
per cui mi genera l'eccezzione di cui sotto..visto che il webservices è da un pc remoto ed il messaggio soap di fault contiene un codice che conterrà sempre quei caratteri perchè è lo standard per quel webservices cè un modo per impedire l'eccezzione o cercare di formattare in modo che l'eccezzione non si verifichi e mi stampi il soap fault di risposta, in modo così da evitare l'uso di uno sniffer?


grazie

javax.xml.ws.WebServiceException: javax.xml.soap.SOAPException: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,2059]
Message: Character reference "&#28" is an invalid XML character.
at com.sun.xml.ws.handler.SOAPMessageContextImpl.getM essage(SOAPMessageContextImpl.java:81)
at it.xx.SOAPListener.LoggingHandler.handleFault(Logg ingHandler.java:77)
at it.xx.SOAPListener.LoggingHandler.handleFault(Logg ingHandler.java:32)
at com.sun.xml.ws.handler.HandlerProcessor.callHandle Fault(HandlerProcessor.java:378)
at com.sun.xml.ws.handler.HandlerProcessor.callHandle rsResponse(HandlerProcessor.java:202)
at com.sun.xml.ws.handler.ClientSOAPHandlerTube.callH andlersOnResponse(ClientSOAPHandlerTube.java:159)
at com.sun.xml.ws.handler.HandlerTube.processResponse (HandlerTube.java:160)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:6 05)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:55 4)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539 )
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:4 36)
at com.sun.xml.ws.client.Stub.process(Stub.java:248)
at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStu b.java:135)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke (SyncMethodHandler.java:109)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke (SyncMethodHandler.java:89)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.j ava:118)
at $Proxy38.m01(Unknown Source)
ecc...