test api mis

 Project A    controller

    /**
     * 同步企业信息
     *
     * @param secretBO
     * @param corpBO
     * @return
     */
    @RequestMapping("/syncCorpInfo.json")
    @ResponseBody
    public ResponseResultBO syncCorpInfo(@JsonPathParam("$.secretBO") SecretBO secretBO, @JsonPathParam("$.data") MisCorpBO corpBO) {
        ResponseResultBO resultBO = MisSyncUtil.validateSyncSecret(secretBO);
        if (!resultBO.isSuccess()) {
            return resultBO;
        }
        try {
            corpService.syncCorpInfo(corpBO);
            resultBO.setSuccess(true);
            resultBO.setInfo("同步企业信息成功!");
        } catch (BusinessException e) {
            logger.error("syncCorpInfo.json 同步企业信息失败! bizErr:{}", e.getMessage(), e);
            resultBO.setSuccess(false);
            resultBO.setInfo(e.getMessage());
        } catch (Exception e) {
            logger.error("syncCorpInfo.json 同步企业信息失败! err:{}", e.getMessage(), e);
            resultBO.setSuccess(false);
            resultBO.setInfo("同步失败,系统错误!");
        }
        return resultBO;
    }

 

Project B   test

 

package httpurl.onlyou.mis;

import java.io.IOException;
import java.net.URLDecoder;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;

import net.sf.json.JSONObject;

import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.alibaba.fastjson.JSON;

/**
 * 
 * 
 * 
D:\ideaIU-2017.3.2.win_workspace\onlyou-mis\mis-web\src\main\java\com\onlyou\mis\sas\web\MisSyncController.java

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/E:/PRJ_J2EE/PrjFlexJava/WebContent/WEB-INF/lib/activemq-all-5.14.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/E:/PRJ_J2EE/PrjFlexJava/WebContent/WEB-INF/lib/slf4j-log4j12-1.4.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
2018-10-08 18:55:45,098 DEBUG org.apache.http.impl.conn.SingleClientConnManager - Get connection for route HttpRoute[{}->http://localhost:8082]
2018-10-08 18:55:45,107 DEBUG org.apache.http.impl.conn.DefaultClientConnectionOperator - Connecting to localhost:8082
2018-10-08 18:55:46,122 DEBUG org.apache.http.impl.conn.DefaultClientConnectionOperator - Connect to localhost:8082 timed out. Connection will be retried using another IP address
2018-10-08 18:55:46,122 DEBUG org.apache.http.impl.conn.DefaultClientConnectionOperator - Connecting to localhost:8082
2018-10-08 18:55:47,123 DEBUG org.apache.http.impl.conn.DefaultClientConnection - Connection closed
2018-10-08 18:55:47,124 DEBUG org.apache.http.impl.conn.DefaultClientConnection - Connection shut down
2018-10-08 18:55:47,124 DEBUG org.apache.http.impl.conn.SingleClientConnManager - Releasing connection org.apache.http.impl.conn.SingleClientConnManager$ConnAdapter@61a2d734
2018-10-08 18:55:47,126 ERROR httpurl.onlyou.mis.TestMisApi - post请求提交失败:http://localhost:8082/misSync/syncOrg.json
org.apache.http.conn.HttpHostConnectException: Connection to http://localhost:8082 refused
	at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:158)
	at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149)
	at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121)
	at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:573)
	at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:425)
	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:732)
	at httpurl.onlyou.mis.TestMisApi.httpPost(TestMisApi.java:44)
	at httpurl.onlyou.mis.TestMisApi.main(TestMisApi.java:102)
Caused by: java.net.ConnectException: Connection refused: connect
	at java.net.DualStackPlainSocketImpl.connect0(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:579)
	at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:123)
	at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148)
	... 9 more




 *
 * @author ZengWenfeng
 * @date 2018.10.08
 */
public class TestMisApi
{
	private static Logger logger = LoggerFactory.getLogger(TestMisApi.class);    //日志记录
	
	public static JSONObject httpPost(String url, String jsonParam, boolean noNeedResponse)
	{
		//post请求返回结果
		DefaultHttpClient httpClient = new DefaultHttpClient();
		JSONObject jsonResult = null;
		HttpPost method = new HttpPost(url);
		try
		{
			if (null != jsonParam)
			{
				//解决中文乱码问题
				StringEntity entity = new StringEntity(jsonParam, "utf-8");
				entity.setContentEncoding("UTF-8");
				entity.setContentType("application/json");
				method.setEntity(entity);
			}
			HttpResponse result = httpClient.execute(method);
			url = URLDecoder.decode(url, "UTF-8");
			/** 请求发送成功,并得到响应 **/
			if (result.getStatusLine().getStatusCode() == 200)
			{
				String str = "";
				try
				{
					/** 读取服务器返回过来的json字符串数据 **/
					str = EntityUtils.toString(result.getEntity());
					if (noNeedResponse)
					{
						return null;
					}
					/** 把json字符串转换成json对象 **/
					jsonResult = JSONObject.fromObject(str);
				}
				catch (Exception e)
				{
					logger.error("post请求提交失败:" + url, e);
				}
			}
		}
		catch (IOException e)
		{
			logger.error("post请求提交失败:" + url, e);
		}
		return jsonResult;
	}
	
	/**
	 * test function
	 * 
	 * @author ZengWenfeng
	 * @date 2018.10.11
	 * @param args
	 */
	public static void main(String[] args)
	{
		//
		MisCorpBO misOrgBO = new MisCorpBO();
		misOrgBO.setId("test");
		misOrgBO.setName("test");

		//
		Random random = new Random();
		String nonce = String.valueOf(random.nextInt(9999999));
		String tamp = String.valueOf(System.currentTimeMillis());
		String sign = SHA1.encode("testAppSecret" + nonce + tamp);
		
		SecretBO secretBO = new SecretBO();
		secretBO.setAppKey("testAppSecret");
		secretBO.setNonce(nonce);
		secretBO.setSignature(sign);
		secretBO.setTamp(tamp);

		//
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("secretBO", secretBO);
		params.put("data", misOrgBO);
		

		//
		String str = JSON.toJSONString(params);
		System.out.println("str : " + str);

		//http://misdev.onlyou.com:8892/misSync/syncCorpInfo.json
		//172.16.135.201
		String url = "http://172.16.135.201:8892/misSync/syncCorpInfo.json";

		//
		JSONObject result01 = httpPost(url, str, false);
		System.out.println(result01);
	}
}

 

测试,进来了

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

spencer_tseng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值