⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serverhandler.java

📁 Java有关XML编程需要用到axis 的源代码 把里面bin下的包导入相应的Java工程 进行使用
💻 JAVA
字号:
package test.wsdl.jaxrpchandler;import javax.xml.namespace.QName;import javax.xml.rpc.handler.Handler;import javax.xml.rpc.handler.HandlerInfo;import javax.xml.rpc.handler.MessageContext;import javax.xml.rpc.handler.soap.SOAPMessageContext;import javax.xml.soap.Name;import javax.xml.soap.SOAPEnvelope;import javax.xml.soap.SOAPHeader;import javax.xml.soap.SOAPHeaderElement;import javax.xml.soap.SOAPMessage;import javax.xml.soap.SOAPPart;import java.util.Iterator;/** */public class ServerHandler implements Handler {	private int _counter = 0;	private int _faultCounter = 0;	public final static String _actorURI = "myActorURI";	/**	 * Constructor for ClientHandler.	 */	public ServerHandler() {		super();	}	/**	 * @see javax.xml.rpc.handler.Handler#handleRequest(MessageContext)	 */	public boolean handleRequest(MessageContext context) {		System.out.println("Hey - in Handle request");		try {			SOAPMessageContext smc = (SOAPMessageContext) context;			SOAPMessage msg = smc.getMessage();			SOAPPart sp = msg.getSOAPPart();			SOAPEnvelope se = sp.getEnvelope();			SOAPHeader sh = se.getHeader();			Name name = se.createName("HeaderTest", "AXIS",									  "http://xml.apache.org/axis");			Iterator iter = sh.extractHeaderElements(_actorURI);			while (iter.hasNext()) {				SOAPHeaderElement she = (SOAPHeaderElement) iter.next();				String counter = she.getAttributeValue(se.createName("counter","",""));				_counter = Integer.parseInt(counter) + 1;				String faultCounter = she.getAttributeValue(se.createName("faultCounter","",""));				_faultCounter = Integer.parseInt(faultCounter) + 1;			// Increment it to 2			}		} catch (Exception e) {			e.printStackTrace();		}		return true;	}	/**	 * @see javax.xml.rpc.handler.Handler#handleResponse(MessageContext)	 */	public boolean handleResponse(MessageContext context) {		System.out.println("Hey - in Handle response");		try {			SOAPMessageContext smc = (SOAPMessageContext) context;			SOAPMessage msg = smc.getMessage();			SOAPPart sp = msg.getSOAPPart();			SOAPEnvelope se = sp.getEnvelope();			SOAPHeader sh = se.getHeader();			Name name = se.createName("HeaderTest", "AXIS",									  "http://xml.apache.org/axis");			SOAPHeaderElement she = sh.addHeaderElement(name);			she.addAttribute(se.createName("counter","",""), new Integer(_counter +1).toString());			she.setActor(_actorURI);		} catch (Exception e) {			e.printStackTrace();		}		return true;	}	/**	 * @see javax.xml.rpc.handler.Handler#handleFault(MessageContext)	 */	public boolean handleFault(MessageContext context) {		try {			SOAPMessageContext smc = (SOAPMessageContext) context;			SOAPMessage msg = smc.getMessage();			SOAPPart sp = msg.getSOAPPart();			SOAPEnvelope se = sp.getEnvelope();			SOAPHeader sh = se.getHeader();			Name name = se.createName("HeaderTest", "AXIS",									  "http://xml.apache.org/axis");			SOAPHeaderElement she = sh.addHeaderElement(name);			she.addAttribute(se.createName("faultCounter","",""), new Integer(_faultCounter +1).toString());			she.setActor(_actorURI);		} catch (Exception e) {			e.printStackTrace();		}		return true;	}	/**	 * @see javax.xml.rpc.handler.Handler#init(HandlerInfo)	 */	public void init(HandlerInfo config) {	}	/**	 * @see javax.xml.rpc.handler.Handler#destroy()	 */	public void destroy() {	}	/**	 * @see javax.xml.rpc.handler.Handler#getHeaders()	 */	public QName[] getHeaders() {		return null;	}}

⌨️ 快捷键说明

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