国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

用.NETWebServiceStudio調(diào)試WebService解決SOAPAction的問題

2019-11-14 14:29:30
字體:
供稿:網(wǎng)友

話說是這樣的,這兩天開發(fā)一個短信發(fā)送功能,客戶給了一個 Web Service 地址(沒有文檔),讓我調(diào)用就可以發(fā)送了,

我在VS 2013添加了服務(wù)引用,一切正常,可是執(zhí)行代理方法時,怎么都報錯

  • RPC Message receiveExtMTPushRequest1 in Operation receiveExtMTPush1 has an invalid body name receiveExtMTPush. It must be receiveExtMTPush1

難道我的方法名錯了嗎?可是VS自動生成的不可能錯,參數(shù)也不可能錯(客戶核對過)。

我用瀏覽器打開這個 web service,描述是一個 AXIS web service,難道 .NET 調(diào)用 AXIS web service 就不行?看了下 WSDL 也是標(biāo)準(zhǔn)的啊。

于是我嘗試網(wǎng)上說的動態(tài)調(diào)用方式,折騰來去反射時就報錯,算了看看其它方法吧。

我想找一個 web service 調(diào)試工具吧,如果再不成功就告訴客戶 web service 是不是有問題?我就找到了 .NET WebService Studio,很輕量的一個工具,幾十K。

填好EndPoint -> 點擊GET獲取到方法和參數(shù)列表 -> 選中Input中每個參數(shù)輸入相應(yīng)的值 -> 點擊Invoke執(zhí)行,我靠,Output中居然成功了。

點擊 Request/Response看看請求和響應(yīng)的數(shù)據(jù)

這下好辦了,把 Request 中的 SOAP 放到 Fiddler 中去POST一下,成功!

VS生成的代理類調(diào)用不成功,應(yīng)該是少了一個HTTP HEADER參數(shù) SOAPAction(不是SOAP HEADER),這個參數(shù)有一定意義,在WSDL中也可以找到,在跨平臺調(diào)用時尤為常見,大家可以網(wǎng)上搜搜。

 

解決方案:

1. 自己組合一個SOAP xml,然后用 HttpClient或WebRequest 來調(diào)用 Web Service,然后解析返回的XML即可;

2. 在 .NET WebService Studio 中點擊 WSDLs & PRoxy,里面有代理類和客戶端代碼,復(fù)制到項目中使用。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 浙江省| 双峰县| 博湖县| 枣阳市| 沙雅县| 包头市| 洛扎县| 尉氏县| 云林县| 信宜市| 昌平区| 卓尼县| 大洼县| 方城县| 安宁市| 海口市| 应城市| 磐石市| 绥化市| 灵寿县| 拉孜县| 桐庐县| 电白县| 香格里拉县| 武功县| 孟州市| 刚察县| 富民县| 宜州市| 塔城市| 翁牛特旗| 太原市| 界首市| 会同县| 龙岩市| 廊坊市| 南平市| 信阳市| 丹江口市| 商洛市| 奉节县|