当我使用参数 orderid 调用我的 Soap ASMX 服务时,它失败并说。有任何想法吗?
System.InvalidOperationException: Request format is invalid: text/xml; charset=utf-8.
at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
公共类 Service1:System.Web.Services.WebService {
[WebMethod(EnableSession=true)] [SoapDocumentMethod] public Order MyLiteralMethod([XmlElement("MyOrderID")] string orderId) { //logic } }
提琴手请求头
Host: localhost:49033
Content-Type: text/xml; charset=utf-8
Content-Length: 369
SOAPAction: "http://tempuri.org/MyLiteralMethod"
提琴手请求正文
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<MyLiteralMethod xmlns="http://tempuri.org/">
<MyOrderID>sdasd</MyOrderID>
</MyLiteralMethod>
</soap:Body>
</soap:Envelope>
进一步 的发现我能够调用服务并从其他 Web 调试代理工具 [STORM] 传递参数。我认为这是特定于提琴手
问题已解决
似乎是提琴手的问题。进入工具->选项-> https ..删除了解密HTTPS流量..重新启动了提琴手。然后重新添加这些选项并重新启动。我不知道这个过程是否解决了问题,但我可以通过提琴手提出请求。