servicehandler1.java

来自「Java有关XML编程需要用到axis 的源代码 把里面bin下的包导入相应」· Java 代码 · 共 104 行

JAVA
104
字号
package test.wsdl.jaxrpchandlereval;import javax.xml.rpc.handler.*;import javax.xml.soap.*;import javax.xml.namespace.*;import javax.xml.rpc.handler.soap.SOAPMessageContext;import javax.xml.rpc.JAXRPCException;public class ServiceHandler1 implements javax.xml.rpc.handler.Handler{    public ServiceHandler1() {        System.out.println("ServiceHandler1:Constructor");    }    public boolean handleRequest(MessageContext context) {        System.out.println("ServiceHandler1:handleRequest");         try {            SOAPMessageContext soapMsgCtx = (SOAPMessageContext)context;            SOAPMessage soapMsg = soapMsgCtx.getMessage();            SOAPPart sp = soapMsg.getSOAPPart();            SOAPEnvelope se = sp.getEnvelope();            SOAPBody sb = se.getBody();            SOAPHeader sh = se.getHeader();            Name xmlServicesHandler1HdrName =                se.createName("ServiceHandler1-handleRequest", "", "");                SOAPHeaderElement xmlServicesHandler1Hdr =                    sh.addHeaderElement(xmlServicesHandler1HdrName);                xmlServicesHandler1Hdr.addTextNode(                    "Processed by ServiceHandler1Hdr1.handleRequest");         } catch (Exception ex) {             throw new JAXRPCException(ex);         }        return true;    }    public boolean handleResponse(MessageContext context) {        System.out.println("ServiceHandler1:handleResponse");          try {            SOAPMessageContext soapMsgCtx = (SOAPMessageContext)context;            SOAPMessage soapMsg = soapMsgCtx.getMessage();            SOAPPart sp = soapMsg.getSOAPPart();            SOAPEnvelope se = sp.getEnvelope();            SOAPBody sb = se.getBody();            SOAPHeader sh = se.getHeader();            Name xmlServicesHandler1HdrName =                se.createName("ServiceHandler1-handleResponse", "", "");                SOAPHeaderElement xmlServicesHandler1Hdr =                    sh.addHeaderElement(xmlServicesHandler1HdrName);                xmlServicesHandler1Hdr.addTextNode(                    "Processed by ServiceHandler1Hdr1.handleResponse");           sp.addMimeHeader("MY_MIME_HEADER", "ADDING A NEW HEADER IN SOAPPART");         } catch (Exception ex) {             throw new JAXRPCException(ex);         }        return true;    }    public boolean handleFault(MessageContext context) {        System.out.println("\nServiceHandler1:handleFault");        try {            SOAPMessageContext soapMsgCtx = (SOAPMessageContext)context;            SOAPMessage soapMsg = soapMsgCtx.getMessage();            SOAPPart sp = soapMsg.getSOAPPart();            SOAPEnvelope se = sp.getEnvelope();            SOAPBody sb = se.getBody();            SOAPHeader sh = se.getHeader();            Name xmlServicesHandler1HdrName =                se.createName("ServiceHandler1-handleFault", "", "");            SOAPHeaderElement xmlServicesHandler1Hdr =                sh.addHeaderElement(xmlServicesHandler1HdrName);            xmlServicesHandler1Hdr.addTextNode(                "Processed by ServiceHandler1Hdr1.handleFault");                    soapMsgCtx.setMessage(soapMsg);         } catch (Exception ex) {             ex.printStackTrace();         }        return true;    }    public void init(HandlerInfo config) {        System.out.println("ServiceHandler1:init");    }     public void destroy() {        System.out.println("ServiceHandler1:destroy");    }    public QName[] getHeaders() {        System.out.println("ServiceHandler1:getHeaders");        return null;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?