flash 调用 C#下的webservice
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接口,没有调到序列化代码当中。
[解决办法]
不太会……
[解决办法]
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>
[解决办法]
楼上这位 我这有个flex 调用 webServer 的问题。
在Flex中为控件指定数据源是选择 连接数据服务选择我 选的是 web服务。
让后在WSDL URL 中填入webServer的url 会报错内容是:WSDL无效 无法从指定WSDL检索操作和实体。
原因:在服务内部检查期间发生错误。这是为什么啊!