用.NET WebService Studio调试Web Service解决SOAPAction的问题
话说是这样的,这两天开发一个短信发送功能,客户给了一个 Web Service 地址(没有文档),让我调用就可以发送了,
我在VS 2013添加了服务引用,一切正常,可是执行代理方法时,怎么都报错
- RPC Message receiveExtMTPushRequest1 in operation receiveExtMTPush1 has an invalid body name receiveExtMTPush. It must be receiveExtMTPush1
难道我的方法名错了吗?可是VS自动生成的不可能错,参数也不可能错(客户核对过)。
我用浏览器打开这个 web service,描述是一个 AXIS web service,难道 .NET 调用 AXIS web service 就不行?看了下 WSDL 也是标准的啊。
于是我尝试网上说的动态调用方式,折腾来去反射时就报错,算了看看其它方法吧。
我想找一个 web service 调试工具吧,如果再不成功就告诉客户 web service 是不是有问题?我就找到了 .NET WebService Studio,很轻量的一个工具,几十K。
填好EndPoint -> 点击GET获取到方法和参数列表 -> 选中Input中每个参数输入相应的值 -> 点击Invoke执行,我靠,Output中居然成功了。
点击 Request/Response看看请求和响应的数据
这下好办了,把 Request 中的 SOAP 放到 Fiddler 中去POST一下,成功!
VS生成的代理类调用不成功,应该是少了一个HTTP HEADER参数 SOAPAction(不是SOAP HEADER),这个参数有一定意义,在WSDL中也可以找到,在跨平台调用时尤为常见,大家可以网上搜搜。
解决方案:
1. 自己组合一个SOAP XML,然后用 HttpClient或WebRequest 来调用 Web Service,然后解析返回的XML即可;
2. 在 .NET WebService Studio 中点击 WSDLs & Proxy,里面有代理类和客户端代码,复制到项目中使用。
用.NET WebService Studio调试Web Service解决SOAPAction的问题的更多相关文章
- 监听调试web service的好工具TCPMon
监听调试web service的好工具TCPMonhttp://ws.apache.org/commons/tcpmon/download.cgi TCPMon Tutorial Content In ...
- 问题:webservice浏览后 无法输入参数;结果:调试Web Service时不能输入参数的解决办法
使用.NET 开发Web Service,有一个很方便的功能就是可以通过IE直接测试Web Service.当你的Web Service的参数都是元数据类型,那么只要你使用IE浏览Web Servic ...
- 翻译-使用Spring WebService生成SOAP Web Service
原文链接:http://spring.io/guides/gs/producing-web-service/ 生成SOAP web service 该指南将带领你使用Spring创建一个基于SOAP的 ...
- 工作笔记 | Visual Studio 调用 Web Service
引言 最近笔者负责ERP财务系统跟中粮集团财务公司的财务系统做对接,鉴于ERP系统中应付结算单结算量比较大,而且管理相对集中,ERP系统与中粮财务公司的支付平台系统对接,实现银企直联,将网银录入的环节 ...
- Visual studio调试Web发生未能正常启动IIS express
今天调试web时,不知道怎么搞的,昨天还好好的,结果今天怎么也没法调试了.VS里报的错误是进程号为**的未能正常启动,看了下调试时IIS压根就没启动起来,没关系,看看事件管理器里发生了什么 找到个最关 ...
- viusal studio 调试错误及解决方法(长期更新记录)
1.为了看运行结果加了 system("pause"):结果导致图像显示不出来,数据为空.主要是因为system pause后停止计算.图像显示不出来.应该改成:waitKey(0 ...
- Web Service(1.8)
“基于 XMLWeb Service 的 Java API”(JAX-WS)通过使用注释来指定与 Web Service 实现相关联的元数据以及简化 Web Service 的开发.注释描述如何将 ...
- Web Service那点事
出现 如今基于浏览器的client应用程序越来越流行,而从开发角度来看,一方面是client浏览器的安装配置不再须要我们再去花费非常大的精力.还有一方林则是由于client和server之间通信的问题 ...
- Web Service(上)
1.XML CDATA指不应由XML解析器进行解析的文本数据. 在XML元素中,<和&是非法的.解析器会把字符<解释为新元素的开始,把字符&解释为字符实体的开始. 某些文本 ...
随机推荐
- 2018.11.08 UVA11021 Tribles(概率dp)
传送门 概率dpdpdp简单题. 设f[i]f[i]f[i]表示第iii天的答案. 然后枚举ppp数组从fi−1f_{i-1}fi−1转移过来就行了. 显然有fi=∑j=0npj∗(fi−1)jf_ ...
- C#中string类型是值类型还是引用类型?(转)
出处:https://www.cnblogs.com/dxxzst/p/8488567.html .Net框架程序设计(修订版)中有这样一段描述:String类型直接继承自Object,这使得它成为一 ...
- mysql 配置MHA
在配置好GTID复制后,配置MHA的高可用. 1.准备3台机器 192.168.31.100 主库 192.168.31.101 从库 192.168.31.104 从库 MHA控制节点 2.设置SS ...
- java常用设计模式七:装饰模式
一.概念 装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为. 基本角色: 抽象构件:它是具体构件和抽象装饰类的共同父类,声明了在具体构件中实现的业务方法,它的引入可以使客户端以一致的 ...
- SVN安装配置与使用
http://www.cnblogs.com/skyway/archive/2011/08/10/2133399.html http://www.cnblogs.com/lidabo/archive/ ...
- c# devexpress 多个窗口
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- C语言三种方法调用数组
#include <stdio.h> /********************************* * 方法1: 第一维的长度可以不指定 * * 但必须指定第二维的长度 * *** ...
- thinkphp3.2.3 数据库增删改查
版本3.23 1. 多表查找一条数据 M('a表')->join("b表 on b表.id=a表.id")->where('条件')->find(); 2.查找一 ...
- MFCC
在语音识别研究领域,音频特征的选择至关重要.在这里介绍一种非常成功的音频特征——Mel Frequency Cepstrum Coefficient(MFCC),中文名字为梅尔频率倒谱系数.MFCC特 ...
- Spring通过注解配置Bean
@Component: 基本注解, 标识了一个受 Spring 管理的组件@Repository: 标识持久层组件@Service: 标识服务层(业务层)组件@Controller: 标识表现层组件 ...