webservice传值并返回结果求教
代码一实例化:
public class Material_in
{
public string mtrl_prod_id { get; set; }
public string mtrl_prod_dsc { get; set; }
public string mtrl_cate { get; set; }
public string mtrl_erp_code { get; set; }
public string mtrl_unit { get; set; }
public string min_safe_qty { get; set; }
public string max_safe_qty { get; set; }
public string rtn_code { get; set; }
//此项为返回值
public string rtn_mesg { get; set; }
//此项为返回值
}
代码二 webservice调用方法:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetMaterial_in() {
string sql = "SELECT TOP 2 FNumber,FName,'HH无此定义' dalei,FModel,FUnitID,FQtyMin,FQtyMax FROM dbo.t_ICItem";
DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.GetConnection(),CommandType.Text,sql).Tables[0];
int 行数 = dt.Rows.Count;
Material_in[] 序列化内容=null;
if (行数 > 0) {
序列化内容 = new Material_in[行数];
}
int i = 0;
foreach (DataRow dr in dt.Rows)
{
序列化内容[i] = new Material_in();
Console.WriteLine(dr["FNumber"].ToString());
序列化内容[i].mtrl_prod_id = dr["FNumber"].ToString();
序列化内容[i].mtrl_prod_dsc = dr["FName"].ToString();
序列化内容[i].mtrl_cate = dr["dalei"].ToString();
序列化内容[i].mtrl_erp_code = dr["FModel"].ToString();
序列化内容[i].mtrl_unit = dr["FUnitID"].ToString();
序列化内容[i].min_safe_qty = dr["FQtyMin"].ToString();
序列化内容[i].max_safe_qty = dr["FQtyMax"].ToString();
i++;
}
return new JavaScriptSerializer().Serialize(序列化内容);
}
代码三,调用方法结果测试:
HHMESWEBSERVICE.HHMESWEBSERVICESoapClient HHMES= new HHMESWEBSERVICE.HHMESWEBSERVICESoapClient("HHMESWEBSERVICESoap");
string json = JsonConvert.SerializeObject(HHMES.GetMaterial_in());
MessageBox.Show(json);
JArray ja = (JArray)JsonConvert.DeserializeObject(HHMES.GetMaterial_in());
foreach (JObject item in ja)
{
MessageBox.Show(item["mtrl_prod_id"].ToString());
MessageBox.Show(item["mtrl_prod_dsc"].ToString());
}
结果:
以上处理后,能够完整调用接口,并输出相应的值
问题:
实例化中的:rtn_code 和rtn_mesg 需要给予一个返回值
这个如何写?
最多只能给400分了,分不够可以另开贴再加
望指教
public class Material_in
{
public string mtrl_prod_id { get; set; }
public string mtrl_prod_dsc { get; set; }
public string mtrl_cate { get; set; }
public string mtrl_erp_code { get; set; }
public string mtrl_unit { get; set; }
public string min_safe_qty { get; set; }
public string max_safe_qty { get; set; }
public string rtn_code { get; set; }
//此项为返回值
public string rtn_mesg { get; set; }
//此项为返回值
}
代码二 webservice调用方法:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetMaterial_in() {
string sql = "SELECT TOP 2 FNumber,FName,'HH无此定义' dalei,FModel,FUnitID,FQtyMin,FQtyMax FROM dbo.t_ICItem";
DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.GetConnection(),CommandType.Text,sql).Tables[0];
int 行数 = dt.Rows.Count;
Material_in[] 序列化内容=null;
if (行数 > 0) {
序列化内容 = new Material_in[行数];
}
int i = 0;
foreach (DataRow dr in dt.Rows)
{
序列化内容[i] = new Material_in();
Console.WriteLine(dr["FNumber"].ToString());
序列化内容[i].mtrl_prod_id = dr["FNumber"].ToString();
序列化内容[i].mtrl_prod_dsc = dr["FName"].ToString();
序列化内容[i].mtrl_cate = dr["dalei"].ToString();
序列化内容[i].mtrl_erp_code = dr["FModel"].ToString();
序列化内容[i].mtrl_unit = dr["FUnitID"].ToString();
序列化内容[i].min_safe_qty = dr["FQtyMin"].ToString();
序列化内容[i].max_safe_qty = dr["FQtyMax"].ToString();
i++;
}
return new JavaScriptSerializer().Serialize(序列化内容);
}
代码三,调用方法结果测试:
HHMESWEBSERVICE.HHMESWEBSERVICESoapClient HHMES= new HHMESWEBSERVICE.HHMESWEBSERVICESoapClient("HHMESWEBSERVICESoap");
string json = JsonConvert.SerializeObject(HHMES.GetMaterial_in());
MessageBox.Show(json);
JArray ja = (JArray)JsonConvert.DeserializeObject(HHMES.GetMaterial_in());
foreach (JObject item in ja)
{
MessageBox.Show(item["mtrl_prod_id"].ToString());
MessageBox.Show(item["mtrl_prod_dsc"].ToString());
}
结果:
以上处理后,能够完整调用接口,并输出相应的值
问题:
实例化中的:rtn_code 和rtn_mesg 需要给予一个返回值
这个如何写?
最多只能给400分了,分不够可以另开贴再加
望指教
...全文
相关推荐
动态调取webservice返回json数据并处理
动态调取webservice返回json数据,并把数据绑定到gridview中
使用WebService的方法返回xml格式的数据
使用webservice的方法调用数据库中的数据,然后返回的数据格式的xml.直接显示成xml格式
webservice远程调用,返回数据生成xml文件,并通过SAX解析出来
webservice远程调用,返回String数据并生成xml文件到本地工程,在通过SAX解析器把数据解析出来。这是webservice应用的一个简单的例子。根据该例子的思想,可以实现很多功能了。例如把client工程的sayHello方法改为查询数据库的数据,在返回给webservice工程。(在该例子中工程名命名有点不规范,不好意思)。在client工程我使用的是XFire技术,在webservice工程我使用的是axis技术来实现Web service。我们可以学习其中的一种就可以了
webService客户端调用服务端传对象参数
这个工程详细的介绍了webService服务客户端如何调用简单和复杂的webService,其中就包括传递的参数是对象类型,返回数据是数组类型,还有最简单的基本类型。压缩包里还配置说明,清晰的说明webService的整个过程,对学习webService的基础很使用。
调用webservice,通过post传参读取返回的XML
调用webservice接口,利用post方式传参数,将返回的XML结果,利用xmldocument返回到页面中。


Web Services
