国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 富平县| 巴彦县| 喀喇| 宁武县| 明光市| 元谋县| 南漳县| 康乐县| 白山市| 麟游县| 太湖县| 平山县| 扬中市| 葫芦岛市| 蒲江县| 华宁县| 南部县| 增城市| 昌黎县| 兴山县| 阳江市| 灵宝市| 新乐市| 漠河县| 宜良县| 台湾省| 平定县| 汉源县| 兴宁市| 桂平市| 襄樊市| 涡阳县| 满洲里市| 兰考县| 义乌市| 射洪县| 页游| 鄄城县| 筠连县| 泸溪县| 鄄城县|