package com.yq.test;
/**
* Created by yangqing on 2016/12/6.
*/
import java.util.Date;
import java.util.UUID;
import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONArray;
public class TestWs {
public static void main(String args[]) throws AxisFault,
InterruptedException {
yewujiantuisongM();
}
public static void yewujiantuisongM() {
try{
// 使用RPC方式调用WebService
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
// 指定调用WebService的URL
EndpointReference targetEPR = new EndpointReference(
"http://127.0.0.1:8090/datai/services/pubWebService");
options.setTo(targetEPR);
//String strJson = JSONArray.fromObject(list).toString();
//JsonObjecj jsonObject = new JsonObjecj();
//JSONArray.
JSONObject jsonObj = new JSONObject();
jsonObj.put("INCOME_CODE", "0019");
jsonObj.put("INCOME_NAME", "小明_test");
jsonObj.put("IS_STOP", "0");
jsonObj.put("INCOME_PROPERTY", "I");
jsonObj.put("INCOME_TYPE", "2");
JSONObject jsonObj2 = new JSONObject();
jsonObj2.put("INCOME_CODE", "0018");
jsonObj2.put("INCOME_NAME", "张三_test");
jsonObj2.put("IS_STOP", "0");
jsonObj2.put("INCOME_PROPERTY", "O");
jsonObj2.put("INCOME_TYPE", "1");
JSONArray jsonArray = new JSONArray();
jsonArray.add(jsonObj);
jsonArray.add(jsonObj2);
jsonArray.toString();
JSONObject jsonObj_row= new JSONObject();
jsonObj_row.put("ROW", jsonArray);
JSONObject jsonObj_data= new JSONObject();
jsonObj_data.put("DATA", jsonObj_row);
JSONObject jsonObj_root= new JSONObject();
jsonObj_root.put("ROOT", jsonObj_data);
//{"ROOT":{"DATA":{"ROW":[{"INCOME_CODE":"XXX","INCOME_NAME":"XXX","IS_STOP":"XXX","INCOME_PROPERTY":"XXX","INCOME_TYPE":"XXX"}]}}}
// 对xml进行拼接
StringBuffer sb = new StringBuffer();
sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
sb.append("<ROOT>");
sb.append("<HEAD>");
sb.append("</HEAD>");
sb.append("<DATA>");
sb.append("<ROW>");
sb.append("<INCOME_CODE>1050</INCOME_CODE>");
sb.append("<INCOME_NAME>胡歌</INCOME_NAME>");
sb.append("<IS_STOP>0</IS_STOP>");
sb.append("<INCOME_PROPERTY>30</INCOME_PROPERTY>");
sb.append("<INCOME_TYPE>30</INCOME_TYPE>");
sb.append("</ROW>");
sb.append("<ROW>");
sb.append("<INCOME_CODE>1060</INCOME_CODE>");
sb.append("<INCOME_NAME>胡歌1111</INCOME_NAME>");
sb.append("<IS_STOP>0</IS_STOP>");
sb.append("<INCOME_PROPERTY>60</INCOME_PROPERTY>");
sb.append("<INCOME_TYPE>5</INCOME_TYPE>");
sb.append("</ROW>");
sb.append("</DATA>");
sb.append("</ROOT>");
// 设定参数值:xml,访问标识名
Object[] opAddEntryArgs = new Object[] { jsonObj_root.toString(), "ts_int_test" };
//System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
//System.out.println(jsonObj_root.toString());
//Object[] opAddEntryArgs = new Object[] { sb.toString(), "ts_int_test" };
// 指定方法返回值的数据类型的Class对象
Class[] classes = new Class[] { String.class };
// 指定要调用的sayHelloToPerson方法及WSDL文件的命名空间
QName opAddEntry = new QName("http://ws.dc.viewhigh.com",
"dc_ws_command");
// 调用方法并输出该方法的返回值
System.out.println("vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv-------------------------------->");
System.out.println( serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs,
classes)[0]);
System.out.println("vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv222-------------------------------->");
/* System.out.println(DateUtil.convertDateToString(new Date(),
"yyyy-MM-dd HH:mm:ss")
+ "成功!!!!:"
+ serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs,
classes)[0]);*/
}catch(Exception e){
e.printStackTrace();
}
}
}