package com.jcdm.main.webservice.service;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.RequestEntity;
import org.apache.commons.httpclient.methods.StringRequestEntity;
import org.apache.commons.io.IOUtils;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
public class ReportingForWork {
public static void main(String[] args) throws IOException {
String serviceUrl = "http://podqapp.cfmoto.com.cn:50200/XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_MES&receiverParty=&receiverService=&interface=SI_ZPP_CF_BC_001_SYN_OUT&interfaceNamespace=http://cfmoto.com/xi/MES";
// String content = "\n" +
// " \n" +
// " \n" +
// " \n" +
// " \n" +
// " 1000\n" +
// " \n" +
// " A0055577\n" +
// " \n" +
// " \n" +
// "";
String content = "\n" +
" \n" +
" \n" +
" \n" +
" 000010569212\n" +
" 0010\n" +
" 1\n" +
" 0 \n" +
" 1 \n" +
" \n" +
" \n" +
"";
// HttpClient发送SOAP请求
int timeout = 10000;
HttpClient client = new HttpClient();
//如果需要用户名密码验证;不需要验证登录则不需要以下4行
String username = "POMESUSER";
String password = "12345tgb";
UsernamePasswordCredentials creds = new UsernamePasswordCredentials(username, password);
client.getState().setCredentials(AuthScope.ANY, creds);
PostMethod postMethod = new PostMethod(serviceUrl);
// 设置连接超时
client.getHttpConnectionManager().getParams().setConnectionTimeout(timeout);
// 设置读取时间超时
client.getHttpConnectionManager().getParams().setSoTimeout(timeout);
// 然后把Soap请求数据添加到PostMethod中
RequestEntity requestEntity = new StringRequestEntity(content, "text/xml", "UTF-8");
// 设置请求头部,否则可能会报 “no SOAPAction header” 的错误
postMethod.setRequestHeader("SOAPAction", "");
// 设置请求体
postMethod.setRequestEntity(requestEntity);
int status = client.executeMethod(postMethod);
if (status == 200) {// 成功
InputStream is = postMethod.getResponseBodyAsStream();
// 获取请求结果字符串
String result = IOUtils.toString(is);
// String jsonStr = xmlToJSON2(result);
// Gson gson = new Gson();
// // 将json字符串转换成对象
// ItemList itemList = gson.fromJson(jsonStr, ItemList.class);
System.out.println("返回结果:" + result);
} else {
System.out.println("错误代码:" + status + ":" + postMethod.getResponseBodyAsString());
}
}
}