第一种:返回XMLpublicvoidXXX(ActionMappingmapping,ActionFormactionForm,HttpServletRequestr
第一,返回XML
公共语音映射映射(XXX ),
ActionForm actionForm,http servlet请求请求,
httpservletresponseresponse (throws exception {
stringlimitstr=URL decoder.decode (request.getparameter ),) utf-8 );
stringoffsetstr=URL decoder.decode (request.getparameter ),) utf-8 );
string projectno=URL decoder.decode (request.getparameter ) ' project no ',' utf-8 ' );
if(null ).equals ) (项目否) ) ) ) ) ) ) ) )。
项目no=' ';
int limit=integer.parseint (limitstr );
int offset=integer.parseint (offsetstr );
string start=string.value of ((限制-1) *offset 1);
string end=string.value of (limit * offset;
//intstart=(limit-1 ) *offset 1;
//int end=limit*offset;
//httpclientutilhttpclientutil=newhttpclientutil (;
//map创建图=new hashmap (;
//createmap.put(method,) GetAdviceData );
//create map.put (开始)、start );
//createmap.put('end ',end );
//createmap.put('projectno ','');
//
//stringreturnjson=http客户端util.dopost (advicedataurl,createMap,
//'UTF-8 ';
//response JSON.writejsontoresponse (return JSON,response );
String endpoint=”XXX.asmx ";
stringtargetnamespace=' http://tempuri.org/';
//调用的接口的方法method
String method='XXX ';
//创建服务呼叫(呼叫)
服务服务=new服务(
呼叫呼叫=(呼叫)服务. create call ); 从服务创建呼叫对象
//设置服务所在的URL
call.settargetendpointaddress (new Java.net.URL ) endpoint );
call.setoperationname(newqname ) targetnamespace,method );
//变量最好只使用String型。 其他类型报告错误
call.addparameter(newqname ) targetnamespace,' projectNo ',
Constants.XSD_STRING,javax.xml.rpc.ParameterMode.IN;
call.addparameter(newqname ) targetnamespace,' start ',
Constants.XSD_STRING,javax.xml.rpc.ParameterMode.IN;
call.addparameter(newqname ) targetnamespace,' end ',
Constants.XSD_STRING,javax.xml.rpc.ParameterMode.IN;
call.setusesoapaction(true;
//call.set returntype (org.Apache.axis.encoding.xmltype.xsd _ string ); //设定返回类型
call.set returntype (constants.xsd _ string );
call.setencodingstyle(endpoint );
call.setsoapactionuri (targetnamespacemethod;
String jsOnString=(String ) call.invoke (new object [ ] {项目no,start,end } ); //这里是数组,有几个变量传递几个变量
jsOnobjectobj=JSON object.from object (JSON字符串);
string obj1=obj.getstring (' table );
字符串CNT='0';
if(obj.Has('table1' ) )
{
string obj2=obj.getstring (' table1);
jsOnobjectobjcnt=JSON object.from object (obj2);
CNT=objcnt.getstring('number );
}
string JSON=' {\' rows\' : ' obj1','\'total\':' cnt '};
response JSON.writejsontoresponse (JSON,response;
}
第二,返回字符串
publicstaticstringsendpost (字符串URL,字符串参数)。
打印机写入器out=null;
缓冲读取程序in=null;
字符串结果=' ';
try {
URLrealurl=newURL(URL;
打开与//URL的连接
urlcOnnectionconn=realurl.open connection (;
//设置通用请求属性
conn.setrequestproperty (' accept ',' */* ' );
conn.setrequestproperty (' connection ',' Keep-Alive ' );
conn.setrequestproperty (' user-agent ',
' Mozilla/4.0 (兼容; MSIE 6.0; Windows NT 5.1; SV1 () );
发送POST请求需要设定以下两行
Conn.setdooutput(true;
Conn.setdoinput(true;
获取与URLConnection对象相对应的输出流
//out=new printwriter (conn.get output stream ();
out=new printwriter (newoutputstreamwriter (conn.get output stream )、' UTF-8 ' );
//发送请求参数
out.print(param;
//flush输出流的缓冲
out.flush (;
定义缓冲读取器输入流以读取URL响应
in=new BufferedReader (
newinputstreamreader (conn.get inputstream )、' UTF-8 ' ); //流的编码格式
字符串线;
while((line=in.readline ) )!=空) {
结果=line;
}
}catch(exceptione ) {
system.out.println ('发送开机自检请求时出现异常!' e;
e .打印堆栈跟踪(;
}
使用finally块关闭输出流、输入流
法瑞{
try{
if (出局!=空) {
out.close (;
}
if (入!=空) {
in.close (;
}
}
catch(ioexceptionex ) {
ex.printStackTrace (;
}
}
返回结果;
}
//调用
Stirng url=xxx.asmx/XXX;
string para=' ';
发送开机自检(URL,para );