我有一个有效的ASP.Net测试网络服务,但我一直得到500个错误:
"System.InvalidOperationException: Request format is invalid: text/xml.
at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
"
当我用javascript调用它时。
这是一个简单的Web服务,它将单个参数作为字符串并将其返回给客户端。请帮忙!
答案 0 :(得分:1)
对于那些可能有所帮助的人,问题是正确设置了标头中的SOAPAction:
$。AJAX({ 类型:“post”, 网址:目标, contentType:“text / xml”, 数据:soapBody, dataType:“xml”, processData:false, beforeSend:function(xhr){ 的 xhr.setRequestHeader( “SOAPAction的”, “http://blahblah.com/Services/MethodName” ); 强> }, ....
答案 1 :(得分:0)
确保您的mess
变量不包含像'?a=1&b=2'
这样的GET样式的查询字符串。您需要以POST格式发送它,例如在JSON中。尝试将contentType
更改为contentType: "application/json; charset=utf-8"
$.ajax({
url: service,
type: "POST",
dataType: "xml",
data: '{key: value}',
complete: endTest,
error: processError,
contentType: "application/json; charset=utf-8",
});