soapiqprovider.java

来自「Xfire文件 用于开发web service 的一个开源工具 很好用的」· Java 代码 · 共 53 行

JAVA
53
字号
package org.codehaus.xfire.xmpp;import java.util.Iterator;import org.codehaus.xfire.soap.SoapVersion;import org.codehaus.xfire.soap.SoapVersionFactory;import org.codehaus.xfire.util.jdom.StaxBuilder;import org.codehaus.xfire.util.stax.FragmentStreamReader;import org.jdom.Document;import org.jivesoftware.smack.packet.IQ;import org.jivesoftware.smack.provider.IQProvider;import org.jivesoftware.smack.provider.ProviderManager;import org.xmlpull.v1.XmlPullParser;/** * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse </a> */public class SoapIQProvider    implements IQProvider{    static    {        /* Register an IQ Provider for each soap namespace */        SoapIQProvider provider = new SoapIQProvider();        for (Iterator itr = SoapVersionFactory.getInstance().getVersions(); itr.hasNext();)        {            SoapVersion version = (SoapVersion) itr.next();                        ProviderManager.addIQProvider(version.getEnvelope().getLocalPart(),                                           version.getEnvelope().getNamespaceURI(),                                          provider);        }    }    /**     * @param parser     * @return     * @throws java.lang.Exception     */    public IQ parseIQ(XmlPullParser parser)        throws Exception    {        StaxBuilder builder = new StaxBuilder();        FragmentStreamReader reader = new FragmentStreamReader(new XmlPullStreamReader(parser));        reader.setAdvanceAtEnd(false);                Document doc = builder.build(reader);        return new SoapEnvelopePacket(doc);    }}

⌨️ 快捷键说明

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