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

📄 messageconverter.java

📁 使用Axis1.4实现的webservice demo程序
💻 JAVA
字号:
package com.koalii.sdxp.ws.WSAxis;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPMessage;
import javax.xml.soap.MimeHeaders;
import javax.xml.soap.SOAPException;
import org.xml.sax.SAXException;
import org.w3c.dom.Document;
/**
 *把Document与SOAPMessage进行相互转换
 */
public class MessageConverter
{
        /**
         *把Document转换成SOAPMessage
         */
        public static SOAPMessage convertDocumentToSOAPMessage(Document doc) throws
                        TransformerConfigurationException, TransformerException,  SOAPException, IOException
         {
                TransformerFactory transformerFactory = TransformerFactory.newInstance();
                Transformer transformer = transformerFactory.newTransformer();

                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                transformer.transform(new DOMSource(doc), new StreamResult(byteArrayOutputStream));
                MessageFactory messageFactory = MessageFactory.newInstance();
        MimeHeaders header=new MimeHeaders();
                                header.addHeader("Content-Type","text/xml");
                SOAPMessage soapMsg = messageFactory.createMessage(header,new ByteArrayInputStream(byteArrayOutputStream.toByteArray(),0,byteArrayOutputStream.size()));
                return soapMsg;
        }
        /**
         *把SOAPMessage转换成Document
         */
        public static Document convertSoapMessageToDocument(SOAPMessage soapMsg) throws
                                ParserConfigurationException, SAXException, SOAPException, IOException
   {
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                soapMsg.writeTo(byteArrayOutputStream);
                ByteArrayInputStream bais = new ByteArrayInputStream(byteArrayOutputStream.toByteArray(),0,byteArrayOutputStream.size());
                DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
                documentBuilderFactory.setNamespaceAware(true);
                DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
                Document doc = documentBuilder.parse(bais);
                return doc;
        }
}

⌨️ 快捷键说明

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