c#开发联通wap定制退订接口碰到的一些问题及解决

在使用C#开发联通WAP定制退订接口时遇到500错误,通过IIS日志分析发现是ASP.NET的ValidateRequest属性导致的问题。解决方法是在接口程序页面上添加`<%@ Page ValidateRequest="false" %>`来禁用请求验证,从而解决潜在的危险请求值警告。测试后问题得到解决。
摘要由CSDN通过智能技术生成

问题及症状:
用手机定制或者退订业务后,应该有订购关系的数据插入到我们建的相应的数据表中,但是经过若干次测试始终不行,而且在IIS日志中看到大量的如下日志记录:
2006-12-27 08:37:46 211.94.69.240 - 172.18.2.43 80 POST /Uni/api/SubscriptNotify.aspx - 500 RPT-HTTPClient/0.3-3
2006-12-27 08:38:47 211.94.69.240 - 172.18.2.43 80 POST /Uni/api/SubscriptNotify.aspx - 500 RPT-HTTPClient/0.3-3
2006-12-27 08:39:48 211.94.69.240 - 172.18.2.43 80 POST /Uni/api/SubscriptNotify.aspx - 500 RPT-HTTPClient/0.3-3
2006-12-27 08:40:48 211.94.69.240 - 172.18.2.43 80 POST /Uni/api/SubscriptNotify.aspx - 500 RPT-HTTPClient/0.3-3
2006-12-27 08:41:48 211.94.69.240 - 172.18.2.43 80 POST /Uni/api/SubscriptNotify.aspx - 500 RPT-HTTPClient/0.3-3
2006-12-27 08:42:48 211.94.69.240 - 172.18.2.43 80 POST /Uni/api/SubscriptNotify.aspx - 200 RPT-HTTPClient/0.3-3
............


分析:
从日志中可以看出post请求发起的网关确实为北京联通的IP,也就是说网关确实已经将定制退订的数据包发到我们的定制退订接口,但是此时接口程序报500错误,而且此错误不停的出现。经过分析和询问有经验的朋友认为才错误不停的出现就是因为接口程序出错导致没有向联通返回正确的响应信息造成的,因此问题的关键还是放在了如何解决接口程序报错上。 程序用vs .net 1.1framework c#开发, 模拟测试也没有发现问题, 于是在服务器上使用抓包工具看看当接收到联通的post数据后,程序返回了什么错误信息,由于联通业务定制后订购关系的同步时间有时候很长(大约5分钟~40分钟:我大概估算的 :S) 所以需要很耐心的等待一段时间, 抓到后,错误的返回包信息如下:

POST /Uni/api/SubscriptNotify.aspx HTTP/1.1
Host: api.3gpop.cn
Connection: Keep-Alive, TE
TE: trailers, deflate, gzip, compress
User-Agent: RPT-HTTPClient/0.3-3
Accept-Encoding: deflate, gzip, x-gzip, compress, x-compress
Content-type: application/x-www-form-urlencoded
Content-length: 648


HTTP/1.1 100 Continue
Server: Microsoft-IIS/5.0
Date: Wed, 27 Dec 2006 08:38:47 GMT
X-Powered-By: ASP.NET


<webmethod id="service_order_to_cp"><cpcode value="91374"/><userid value="40C2DD6A7AB9813440D36393B3708055D262059E23FC006617DF31205E30EA66B355CBA5F58A4AC3DC111A3EB6CED582F34B4D5283963BD6F842E3FA64F55F1F3A951847E7730D953CB68BA95B9DCBEC7B70C62802DEBEB13CA289C60E1C9265AE976CF5F909DE6A06EB2715152B0F0248284D5F9DE623AFF4A0CA00954DF6DF"/><encryptflag value="Y"/><serviceid value="5029137403"/><ispack value="N"/><sub_type value="PER_HIT"/><orderdate value="2006-12-27 15:59:53"/><operatingtime value="2006-12-27 15:59:53"/><feeflag value="Y"/&g

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值