Handler Example: Logging

See Also 

The default message handler created in the IDE provides code for logging a message in the Output window whenever the handleRequest method is called. On the client-side, this happens before the client's request is sent to the web service. On the service-side, this happens before a client's request is delivered to the service.

The code for logging a message is shown below:

   public boolean handleRequest(MessageContext context) {
        try{
            SOAPMessageContext smc = (SOAPMessageContext) context;
            SOAPMessage msg = smc.getMessage();
            SOAPPart sp = msg.getSOAPPart();
            SOAPEnvelope se = sp.getEnvelope();
            SOAPHeader shd = se.getHeader();
            
            SOAPBody sb = se.getBody();
            java.util.Iterator childElems = sb.getChildElements();
            SOAPElement child;
            StringBuffer message = new StringBuffer();
            while (childElems.hasNext()) {
                child = (SOAPElement) childElems.next();
                message.append(new Date().toString() + "--");
                formLogMessage(child, message);
            }
            
            System.out.println("Log message: " + message.toString());
        } catch(Exception e){
            e.printStackTrace();
        }
        return true;
    }

    private void formLogMessage(SOAPElement child, StringBuffer message) {
        message.append(child.getElementName().getLocalName());
        message.append(child.getValue() != null ? ":" + child.getValue() + " " : " ");
        
        try{
            java.util.Iterator childElems = child.getChildElements();
            while (childElems.hasNext()) {
                Object c = childElems.next();
                if(c instanceof SOAPElement)
                    formLogMessage((SOAPElement)c, message);
            }
        }catch(Exception e){
            e.printStackTrace();
        }
    }
See Also
About Web Services
About Web Service Clients
About Message Handlers
Creating a Message Handler
Configuring a Message Handler

Legal Notices