400错误请求:使用JScript/VBScript使用WCF basicHttpBinding(Soap) var-oXMLDoc、oXMLHttp、soapRequest、soapResponse; oXMLHttp=新的ActiveXObject(“Microsoft.XMLHTTP”); 打开(“POST”http://nerdbox/HelloService.svc“,假); //添加HTTP头 setRequestHeader(“内容类型”,“text/xml;charset=utf-8”); setRequestHeader(“SOAPAction”http://tempuri.org/IHelloService/SayHello"); //形成信息 soapRequest='Zuhaib'; Echo(“请求:+soapRequest”); 发送(soapRequest); soapResponse=oXMLHttp.responseXML.xml; Echo(“Respose:+soapResponse”);

400错误请求:使用JScript/VBScript使用WCF basicHttpBinding(Soap) var-oXMLDoc、oXMLHttp、soapRequest、soapResponse; oXMLHttp=新的ActiveXObject(“Microsoft.XMLHTTP”); 打开(“POST”http://nerdbox/HelloService.svc“,假); //添加HTTP头 setRequestHeader(“内容类型”,“text/xml;charset=utf-8”); setRequestHeader(“SOAPAction”http://tempuri.org/IHelloService/SayHello"); //形成信息 soapRequest='Zuhaib'; Echo(“请求:+soapRequest”); 发送(soapRequest); soapResponse=oXMLHttp.responseXML.xml; Echo(“Respose:+soapResponse”);,soap,wcf,javascript,basichttpbinding,Soap,Wcf,Javascript,Basichttpbinding,这个JScript有什么问题?为什么我收到了400个错误的请求。我在stackoverflow中读到了类似的帖子。。有人说它存在soap消息格式问题 如果我从fiddler处获取消息,消息就是这个样子。尝试将您的操作从IHelloService更改为HelloService 让我问你,你为什么要这么做。只需添加webHttpBinding并使用JSON即可 查看一个非常简单的示例我不得不将您的代码更改为以下内容,以使其在VBSEdit中运行…然后我(显然)遇到了无法找到资源的错误…但是将您的代码

这个JScript有什么问题?为什么我收到了400个错误的请求。我在stackoverflow中读到了类似的帖子。。有人说它存在soap消息格式问题


如果我从fiddler处获取消息,消息就是这个样子。

尝试将您的操作从
IHelloService
更改为
HelloService

让我问你,你为什么要这么做。只需添加webHttpBinding并使用JSON即可


查看一个非常简单的示例

我不得不将您的代码更改为以下内容,以使其在VBSEdit中运行…然后我(显然)遇到了无法找到资源的错误…但是将您的代码更改为此,看看是否有区别

var oXMLDoc, oXMLHttp, soapRequest, soapResponse;

oXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");

oXMLHttp.open("POST", "http://nerdbox/HelloService.svc", false);

// Add HTTP headers
oXMLHttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
oXMLHttp.setRequestHeader("SOAPAction", "http://tempuri.org/IHelloService/SayHello");

// Form the message
soapRequest = '<?xml version="1.0" encoding="utf-16"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><SayHello xmlns="http://tempuri.org/"><name>Zuhaib</name></SayHello></soap:Body></soap:Envelope>';

WScript.Echo("Request : " + soapRequest);

oXMLHttp.send(soapRequest);
soapResponse = oXMLHttp.responseXML.xml;
WScript.Echo("Respose : " + soapResponse);
Dim-oXMLDoc、oXMLHttp、soapRequest、soapResponse
设置oXMLHttp=CreateObject(“Microsoft.XMLHTTP”)
oXMLHttp.open“POST”http://nerdbox/HelloService.svc”“错
'//添加HTTP头
oXMLHttp.setRequestHeader“内容类型”,“文本/xml;字符集=utf-8”
oXMLHttp.setRequestHeader“SOAPAction”http://tempuri.org/IHelloService/SayHello"
“//形成消息
soapRequest=“Zuhaib”
Echo“请求:+soapRequest
oXMLHttp.send soapRequest
soapResponse=oXMLHttp.responseXML.xml
Echo“Respose:+soapResponse

实际服务不是我写的。我只是想联系一下。脚本必须从vbscript或jscript中使用。Json只是jscript。好的,不要使用Json。。首先尝试以查询或表单的形式发送。这些协议可能已启用。咀嚼肥皂袋是痛苦的,可能是不必要的。。。。请参阅链接文章的前几节,其中介绍了该场景..lol。。使用SOAP的另一个原因是Web服务可以根据客户的不同而变化。。它可以用Java等编写,我们不能要求他们编写JSON Web服务。Json的东西工作得很好..@JohnSaunders:嘿,我只是从原始文章中复制了代码,并重新发布了我必须进行的更改,以使其在VBSEdit中编译和运行…一行中的XML来自原始文章,我现在关心的不是程序是否工作,而是其他用户是否可以阅读它。不管怎样。。我必须为服务编写JSON包装,并使用JScript进行消费。
Dim oXMLDoc, oXMLHttp, soapRequest, soapResponse

Set oXMLHttp = CreateObject("Microsoft.XMLHTTP")

oXMLHttp.open "POST", "http://nerdbox/HelloService.svc", False

'// Add HTTP headers
oXMLHttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
oXMLHttp.setRequestHeader "SOAPAction", "http://tempuri.org/IHelloService/SayHello"

'// Form the message
soapRequest = "<?xml version=""1.0"" encoding=""utf-16""?><soap:Envelope xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema""><soap:Body><SayHello xmlns=""http://tempuri.org/""><name>Zuhaib</name></SayHello></soap:Body></soap:Envelope>"

WScript.Echo "Request : " + soapRequest

oXMLHttp.send soapRequest
soapResponse = oXMLHttp.responseXML.xml
WScript.Echo "Respose : " + soapResponse