asp.net发布wsdl参数是DataTable,那么java能调用吗?

by_封爱 2012-10-08 04:15:05
需求是这样的 手机安卓端 请求wsdl

返回datatable

然后显示 然后 修改里面的内容

在请求wsdl 把这个datatable传过去

然后我循环 批量更新


我现在没环境 因为我只负责写wsdl

我参数用datatable 可以么?

还有一wince端 参数用datatable应该没问题 但是 安卓那边怎么办呢???
...全文
218 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
by_封爱 2012-10-09
  • 打赏
  • 举报
回复
问题已经解决 最终方法是字符串json格式

然后在转换datatable

protected void Page_Load(object sender, EventArgs e)
{
string s="{ \"people\": [   { \"firstName\": \"Brett\", \"lastName\":\"McLaughlin\", \"email\": \"aaaa\" },   { \"firstName\": \"Jason\", \"lastName\":\"Hunter\", \"email\": \"bbbb\"},{ \"firstName\": \"Elliotte\", \"lastName\":\"Harold\", \"email\": \"cccc\" }]}";
g1.DataSource = JsonToDataTable(s);
g1.DataBind();

}
/// <summary>
/// 根据Json返回DateTable,JSON数据格式如:
/// {table:[{column1:1,column2:2,column3:3},{column1:1,column2:2,column3:3}]}
/// </summary>
/// <param name="strJson">Json字符串</param>
/// <returns></returns>
public static DataTable JsonToDataTable(string strJson)
{
//取出表名
var rg = new Regex(@"(?<={)[^:]+(?=:\[)", RegexOptions.IgnoreCase);
string strName = rg.Match(strJson).Value;
DataTable tb = null;
//去除表名
strJson = strJson.Substring(strJson.IndexOf("[") + 1);
strJson = strJson.Substring(0, strJson.IndexOf("]"));

//获取数据
rg = new Regex(@"(?<={)[^}]+(?=})");
MatchCollection mc = rg.Matches(strJson);
for (int i = 0; i < mc.Count; i++)
{
string strRow = mc[i].Value;
string[] strRows = strRow.Split(',');

//创建表
if (tb == null)
{
tb = new DataTable();
tb.TableName = strName;
foreach (string str in strRows)
{
var dc = new DataColumn();
string[] strCell = str.Split(':');
dc.ColumnName = strCell[0];
tb.Columns.Add(dc);
}
tb.AcceptChanges();
}

//增加内容
DataRow dr = tb.NewRow();
for (int r = 0; r < strRows.Length; r++)
{
dr[r] = strRows[r].Split(':')[1].Trim().Replace(",", ",").Replace(":", ":").Replace("\"", "");
}
tb.Rows.Add(dr);
tb.AcceptChanges();
}

return tb;
}

感谢
http://my.csdn.net/wiki14
winner2050 2012-10-08
  • 打赏
  • 举报
回复
还是传递实体类方便。

cykb518 2012-10-08
  • 打赏
  • 举报
回复
网络上参数或者结果可以传递复杂对象?好像都是序列化成字符串传递的吧
by_封爱 2012-10-08
  • 打赏
  • 举报
回复

using System;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;

/// <summary>
///WebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {

public WebService () {

//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}

[WebMethod]
public System.Data.DataTable GetData(string id) {
string sql = "select * from [工序指标配置表$] where 工序编码='"+id+"'";
return dosoft.DAL.DbHelperSQL.GetTable(sql);
}
[WebMethod]
public void UpdateData(System.Data.DataTable dt)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
string id = dt.Rows[i]["唯一序号"].ToString();
string result = dt.Rows[i]["检测结果"].ToString();
string sql = "update [工序指标配置表$] set 检测结果='"+result+"' where 唯一序号="+id;
dosoft.DAL.DbHelperSQL.ExecuteSql(sql);
}
}


}






以上是webservice


protected void b1_click(object o, EventArgs e)
{
test.WebService x = new test.WebService();
DataTable dt = x.GetData("30201");
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void b2_click(object o, EventArgs e)
{
test.WebService x = new test.WebService();
DataTable dt = x.GetData("30201");
for (int i = 0; i < GridView1.Rows.Count; i++)
{
string result = (GridView1.Rows[i].FindControl("t1") as TextBox).Text;
dt.Rows[i]["检测结果"] = result;
}
x.UpdateData(dt);
}



以上是调用的方法

虽然我在asp.net 或者winfrom里可以用 但是 拿到他安卓里 可以调用 可以传参吗?
xuan.ye 2012-10-08
  • 打赏
  • 举报
回复
不如用xml做参数来的好
  • 打赏
  • 举报
回复
java那边,可以有datatable ,只不过,需要自己写datatable的类 。
  • 打赏
  • 举报
回复
wsdl 是什么?
内容概要:本文提出了一种基于非合作博弈理论的居民负荷分层调度模型,并结合双层鲸鱼优化算法(Two-level Whale Optimization Algorithm)进行高效求解,模型与算法均通过Matlab代码实现。研究针对电力系统中居民侧用电负荷的复杂调度问题,引入非合作博弈机制刻画各用户之间的利益竞争关系,实现负荷的分层优化分配;同时设计双层优化架构,上层优化资源配置,下层模拟用户自主决策行为,提升了模型的实用性与合理性。通过智能优化算法求解多层级、非凸非线性的博弈模型,有效提高了调度方案的收敛性与全局寻优能力,适用于现代智能电网中的需求侧管理与能源优化场景。; 适合人群:具备电力系统基础理论知识和Matlab编程能力,从事智能电网、能源优化调度、需求侧管理、博弈论应用等方向的科研人员、高校研究生及工程技术人员。; 使用场景及目标:①应用于居民区电力负荷的分层优化调度系统设计与仿真分析;②为非合作博弈在多主体能源系统建模中的应用提供方法论支持;③利用双层鲸鱼算法解决具有嵌套结构的复杂双层优化问题,提升求解效率与调度方案的可行性。; 阅读建议:建议读者结合提供的Matlab代码深入理解模型构建逻辑与算法实现流程,重点关注博弈模型的效用函数设计、纳什均衡求解思路以及双层优化结构的迭代机制,宜配合实际用电数据开展复现实验以验证模型有效性与鲁棒性。
内容概要:本文围绕基于自适应神经模糊推理系统(ANFIS)智能控制器的可再生能源微电网功率管理系统展开研究,结合Simulink仿真实现,深入探讨了微电网中功率的智能调控与经济机组组合调度问题。通过引入ANFIS控制器,有效应对风能、光伏等可再生能源出力的波动性与不确定性,提升系统运行的稳定性与电能质量。研究内容涵盖微电网多源协调控制策略、功率平衡管理、优化调度模型构建及仿真验证,实现了对分布式电源、储能系统和负荷的协同优化,兼顾经济性与可靠性目标,并通过仿真平台验证了所提方法的有效性与优越性。; 适合人群:具备电力系统、自动化或新能源相关专业背景,熟悉Matlab/Simulink仿真环境,从事微电网能量管理、智能控制、能源优化等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于高比例可再生能源接入场景下的微电网能量管理系统研发与教学实践;②为实现微电网功率稳定控制与经济高效运行提供先进的智能控制解决方案;③支撑高水平学术论文复现、科研课题攻关及实际工程项目的仿真验证与方案优化。; 阅读建议:建议结合提供的Simulink模型与相关代码进行动手实践,重点关注ANFIS控制器的设计流程、规则库构建与参数调优方法,并通过与传统PID或MPC控制策略的对比实验,深入理解其在动态响应与鲁棒性方面的优势。同时可进一步拓展文中提出的优化调度逻辑,应用于多目标、多约束的复杂实际应用场景中。

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧