flash 调用 C#下的webservice

wj469288588 2010-10-13 10:56:43
flash代码:
var service:WebService=new WebService();
service.loadWSDL("http://192.168.0.200:15005/WebService/Common.asmx?wsdl");
service.addEventListener(ResultEvent.RESULT,onResult);
service.addEventListener(FaultEvent.FAULT,onFault);
var authInfo:AuthInfoVo = new AuthInfoVo();
service.PageInit(authInfo);

C#代码:
[WebMethod(EnableSession = true)]
[ScriptMethod]
public UeKeyValueOs PageInit(AuthInfo authInfo)
{
UeKeyValueOs res;
if (!AuthInfoUtility.IsAuthInfoValid(authInfo, out res))
{
return res;
}
OprRes oprRes = new OprRes();
res.Add("NowUser", UserClientInfo.NowUser);//UserClientInfo.NowUser 当前用户 User类型
oprRes.SetModule(System.Reflection.MethodBase.GetCurrentMethod()); oprRes.EndTime = DateTime.Now;
res.Add(DigitalFamily.ConfigData.Config.RESULT_STR, oprRes);
return res;
}

问题说明:
在调用webservice时,程序没有进入到后台的序列化方法当中,造成在获取UserClientInfo.NowUser时会死循环。
User实体有关联其他实体,在调用webservice时,程序有自定义序列化方式,以避免死循环问题,并返回指定数据。
使用jq调用没有问题,不会出现死循环,正常返回数据,webconfig中配置引用也都正确,之前公司做的项目都是使用jq调用webservice接口,没有错误。
先追踪得到的结论是,以flash调用C#webservice接口,没有调到序列化代码当中。
...全文
442 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xmutbbs 2011-12-07
  • 打赏
  • 举报
回复
学习了。正要这个资料。
wj469288588 2011-01-24
  • 打赏
  • 举报
回复
我调用webservice返回的数据时经过json序列化之后的,解决的方式如下,

var ws:URLRequest = new URLRequest("webservice路径,例如http://192.168.0.200:1008/aa/a.asmx/b");
aa为部署项目名, a.asmx为调用的webservice,b为调用的方法
ws.method = URLRequestMethod.POST;
ws.requestHeaders.push(new URLRequestHeader("Content-Type", "application/json;utf-8"));
ws.data =JSON.encode(paras); paras为参数,此前先引用json序列化的文件
var wsLoader:URLLoader = new URLLoader(ws);
wsLoader.addEventListener(Event.COMPLETE,
function(e:Event):void{
successCallback(JSON.decode(e.target.data));
}
);
wsLoader.addEventListener(IOErrorEvent.IO_ERROR,
function(e:IOErrorEvent):void{
errorCallBack(e.text)
});
wj469288588 2011-01-24
  • 打赏
  • 举报
回复
一直忘结贴了, 现在马上结贴
0羽毛0 2010-11-02
  • 打赏
  • 举报
回复
楼上这位 我这有个flex 调用 webServer 的问题。
在Flex中为控件指定数据源是选择 连接数据服务选择我 选的是 web服务。
让后在WSDL URL 中填入webServer的url 会报错内容是:WSDL无效 无法从指定WSDL检索操作和实体。
原因:在服务内部检查期间发生错误。这是为什么啊!
  • 打赏
  • 举报
回复
Flash 这样调用 服务的呀?
我还没学过。。
我只会
Flex 下:
<mx:WebService wsdl="http://192.168.8.20:1110/test.asmx" id="webSvc" useProxy="true" fault="error()">
<mx:operation fault="get_fault(event)" result="get_result(event)" name="PutHellpWord">
</mx:operation>
</mx:WebService>
ronaltn 2010-10-24
  • 打赏
  • 举报
回复
不太会……
wj469288588 2010-10-13
  • 打赏
  • 举报
回复
flash补充代码:
private function onResult(evt:ResultEvent):void{
Alert.show(evt.message.body.toString());
}

private function onFault(evt:FaultEvent):void{
Alert.show(evt.message.toString());
}
出错时的提示是:
Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: 流错误。 URL: http://192.168.0.200:15005/WebService/Common.asmx"]. URL: http://192.168.0.200:15005/WebService/Common.asmx
内容概要:本文围绕基于NSGA-2算法的电-热-气综合需求响应(IDR)在综合能源系统中的多目标优化问题展开研究,提出了一种融合智能优化算法与能源系统协同调度的解决方案。研究系统性地构建了包含电力、热力与天然气多能耦合的综合能源系统模型,设计了以能效提升、运行成本降低和环境效益优化为目标的多目标优化框架,并采用NSGA-2算法求解该复杂非线性优化问题,获得Pareto最优解集。文中详细阐述了IDR机制建模方法、多目标优化问题的数学建模过程以及NSGA-2算法的关键实现步骤,包括编码方式、交叉变异策略与非支配排序机制,并通过Matlab代码实现了完整的仿真验证流程,展示了该方法在平衡多个冲突目标方面的优越性能。; 适合人群:具备电力系统、能源系统建模或优化算法基础的研究生、科研人员及工程技术人员,特别适用于从事综合能源系统规划、需求响应策略设计、多目标进化算法应用等相关领域的研究人员; 使用场景及目标:①应用于综合能源系统的运行优化与规划决策,支持多能互补场景下的协同调度分析;②为科研工作者提供NSGA-2算法在能源系统中实际应用的完整Matlab代码实现范例,助力学术论文复现、算法改进与模型拓展; 阅读建议:建议读者结合文中提供的Matlab代码,按照系统建模、目标函数设计、约束处理到算法实现的研究脉络逐步学习,重点关注Pareto前沿的生成过程、多目标权衡分析及算法参数敏感性,以深入掌握多目标进化算法在复杂能源系统优化中的工程化应用方法。

12,165

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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