Ich lese viele Tutorial für die Protokollierung der Web-Service-Anfrage/Antwort und festgestellt, dass sie alle das gleiche tun, aber ich bin nicht in der Lage protokollieren Sie die Anfrage, aber die Sache scheint korrekt zu sein, es wirft nicht einmal den Fehler. hier habe ich meinen Beispielcode gegeben, es wäre toll, wenn mir jemand sagen könnte, wo und was der Fehler ist.Handler keine Logging-Sache von Web-Service nicht einmal werfen Fehler (auf Kater mit U-Bahn)
My web service
@WebService(endpointInterface = "com.sample.ws.SampleWS", serviceName = "SampleWS")
@HandlerChain(file="/com/sample/ws/handler.xml")
public class SampleWSImpl implements SampleWS {
public SampleWSImpl() {}
public String hello(String s) {
return "Hello "+s;
}
}
my handler.xml.
<?xml version="1.0" encoding="UTF-8"?>
<handler-chains xmlns="http://java.sun.com/xml/ns/javaee">
<handler-chain>
<handler>
<handler-class>com.sample.LoggingHandler</handler-class>
</handler>
</handler-chain>
</handler-chains>
my log handler class .
public class LoggingHandler implements SOAPHandler<SOAPMessageContext> {
@Override
public Set<QName> getHeaders() {
return null;
}
@Override
public void close(MessageContext context) {
}
@Override
public boolean handleFault(SOAPMessageContext context) {
logToSystemOut(context);
return true;
}
@Override
public boolean handleMessage(SOAPMessageContext context) {
logToSystemOut(context);
return true;
}
private void logToSystemOut(SOAPMessageContext smc) {
Boolean outboundProperty = (Boolean) smc.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
try {
if (!outboundProperty.booleanValue()) {
SOAPMessage message = smc.getMessage();
System.out.println("Incoming message:");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
message.writeTo(stream);
System.out.println(stream.toString());
System.out.println("=====================================");
}
}
catch (Exception e) {
System.out.println("Exception in handler: " + e);
}
}
}
com.sun.metro.samples.tubeinterceptor.tube -> INFO javax.enterprise.resource.webservices.assembler -> FINER javax.enterprise.resource.webservices -> INFO Konfigurieren Sie diese Protokollparameter und überprüfen Sie. – Phani