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

📄 documentbinding.java

📁 Xfire文件 用于开发web service 的一个开源工具 很好用的
💻 JAVA
字号:
package org.codehaus.xfire.service.binding;import java.util.Collection;import java.util.HashSet;import java.util.Iterator;import java.util.Set;import javax.xml.stream.XMLStreamException;import javax.xml.stream.XMLStreamWriter;import org.codehaus.xfire.MessageContext;import org.codehaus.xfire.exchange.InMessage;import org.codehaus.xfire.exchange.OutMessage;import org.codehaus.xfire.fault.XFireFault;import org.codehaus.xfire.service.MessageInfo;import org.codehaus.xfire.service.MessagePartInfo;import org.codehaus.xfire.service.OperationInfo;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.util.NamespaceHelper;public class DocumentBinding    extends AbstractBinding{    public DocumentBinding()    {    }    public void readMessage(InMessage inMessage, MessageContext context)        throws XFireFault    {        Service endpoint = context.getService();              Collection operations = endpoint.getServiceInfo().getOperations();        read(inMessage, context, operations);    }    public void writeMessage(OutMessage message, XMLStreamWriter writer, MessageContext context)        throws XFireFault    {        OperationInfo op = context.getExchange().getOperation();        Object[] values = (Object[]) message.getBody();        int i = 0;                MessageInfo msgInfo = null;        boolean client = isClientModeOn(context);        if (client)        {            msgInfo = op.getInputMessage();        }        else        {            msgInfo = op.getOutputMessage();        }        Set namespaces = new HashSet();        for(Iterator itr = msgInfo.getMessageParts().iterator(); itr.hasNext();){        	MessagePartInfo outParam = (MessagePartInfo) itr.next();        	String ns = getBoundNamespace(context, outParam);        	namespaces.add(ns);        }                for(Iterator iter = namespaces.iterator();iter.hasNext();){        	String ns = (String) iter.next();        	try {				NamespaceHelper.getUniquePrefix(writer,ns, true);			} catch (XMLStreamException e) {				 throw new XFireFault("Could not write to outgoing stream.", e, XFireFault.RECEIVER);			}        }        	                for(Iterator itr = msgInfo.getMessageParts().iterator(); itr.hasNext();)        {            MessagePartInfo outParam = (MessagePartInfo) itr.next();            try            {                Object value;                if (client)                     value = getClientParam(values, outParam, context);                else                     value = getParam(values, outParam, context);                                writeParameter(writer, context, value, outParam, getBoundNamespace(context, outParam));            }            catch (XMLStreamException e)            {                throw new XFireFault("Could not write to outgoing stream.", e, XFireFault.RECEIVER);            }                        i++;        }    }}

⌨️ 快捷键说明

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