2012-04-16 23 views
1

私は基本的に古典的なASPとVBScriptのnoobです。私はここにある目標を達成するための助けをしたいと思います。 JSON文字列を作成しました。これをVBScriptを使用してRESTful Webサービスに送信する必要があります。それ、どうやったら出来るの?Classic ASPからRESTful WSにJSON文字列を送信

私はいくつかのコードを持っているが、私はそれが動作とは思わない:

strJSONToSend = JSONstr 'this is where I use my built JSON string 

webserviceurl = "url here" 

Set objRequest = Server.createobject("MSXML2.XMLHTTP.3.0") 
objRequest.open "POST", webserviceurl, False 

objRequest.setRequestHeader "Content-Type", "application/json; charset=UTF-8" 
objRequest.setRequestHeader "CharSet", "utf-8" 
objRequest.setRequestHeader "SOAPAction", webserviceurl 

Set objJSONDoc = Server.createobject("MSXML2.DOMDocument.3.0") 
objJSONDoc.loadXml strJSONToSend 
objRequest.send objJSONDoc 

set objJSONDoc = nothing 
set objResult = nothing 
+1

正確には機能しません。コードはきれいに見える。 Nathanが指摘するように、JSONをXMLに変換する必要はありません。 –

+1

ところで、 'MSXML2.ServerXMLHTTP.3.0'を使用してください。 XMLHTTPは、サーバー側のコードで使用しないでください。また、その "CharSet"ヘッダーを作成する必要がありますか?通常、 "Content-Type"はエンティティ本体の文字セットを指定しており、すでにそれを行っています。 – AnthonyWJones

答えて

3

あなたが(それはJSONではなくXMLとすべてですので)XMLにJSONを変換する必要はありません。

strJSONToSend = JSONstr 'this is where I use my built JSON string 

webserviceurl = "url here" 

Set objRequest = Server.createobject("MSXML2.XMLHTTP.3.0") 
objRequest.open "POST", webserviceurl, False 

objRequest.setRequestHeader "Content-Type", "application/json; charset=UTF-8" 
objRequest.setRequestHeader "CharSet", "utf-8" 
objRequest.setRequestHeader "SOAPAction", webserviceurl 

objRequest.send strJSONToSend 

set objJSONDoc = nothing 
set objResult = nothing 
関連する問題