报文收发几种方式简介

[align=center][size=x-large]报文收发几种方式总结[/size][/align]

[align=right]注:权且记录开发过程中遇到的各种报文发送方式[/align]

[size=large]一、web service post方式[/size]

[size=large]1.1 代码示例:[/size]
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.HashMap;
import java.util.Map;

import org.apache.log4j.Logger;
import org.dom4j.Document;
import org.dom4j.io.SAXReader;

public class SendWebserivceMsg {
private static Logger logger = Logger.getLogger(SendWebserivceMsg.class);

public String getWebserivceMsgDocument(String soap, String portalURL) {
Document document = null;
SAXReader reader = new SAXReader();
String str = "";
Map map = new HashMap();
reader.getDocumentFactory().setXPathNamespaceURIs(map);
try {
InputStream inputStream = getSoapInputStream(soap, portalURL); // 得到输入流
document = reader.read(inputStream); // 将输入流转化为document
} catch (Exception e) {
e.printStackTrace();
}
str = document.asXML();
return str;
}

public static InputStream getSoapInputStream(String soap, String portalURL) throws Exception {
try {
if (soap == null) {
return null;
}

// post方式,走soap协议
URL url = new URL(portalURL);
URLConnection conn1 = url.openConnection();
HttpURLConnection conn = (HttpURLConnection) conn1;
// conn.setUseCaches(false);
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestProperty("Content-Length", Integer.toString(soap.length()));
conn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
conn.setRequestProperty("SOAPAction", "sendSms");
conn.setRequestMethod("POST");
OutputStream outputStream = conn.getOutputStream();
OutputStreamWriter outputSW = new OutputStreamWriter(outputStream, "utf-8");
outputSW.write(soap);
outputSW.flush();
outputSW.close();
InputStream inputStream = conn.getInputStream();
return inputStream;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}

public static String getSoap(String destPhones, String msgs, String chargePhones, String ispNo,
String providerType, String sendDate, String serviceCode, String reserve) {
String soap = "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:m0=\"http://schemas.xmlsoap.org/soap/encoding/\">"
[color=red][size=medium]备注:此处是完整的带soap协议的完整报文[/size][/color]
return soap;
}
[size=large]1.2 引用的jar[/size]
[color=red]见附件log4j-1.2.14.jar以及dom3j-1.6.1.jar[/color]

[align=left][size=large]二、web service get 方式[/size][/align]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值