1

If Err.Number <> 0 Then問題: checkから次のエラー出力が表示されます。

Err.Number :-1072954818  
Err.Source :msxml6.dll  
Err.Source :This method cannot be called until the open method has been called.

コード:

dim objHttpRequest
dim gw_menu_request
dim HTTPMethod

HTTPMethod="POST"
Set objHttpRequest = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")    
gw_menu_request = "http://test.com?q=headerexpose/expose_headers/expose_json"       
objHttpRequest.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
objHttpRequest.setRequestHeader "Content-Length", 0
objHttpRequest.open HTTPMethod, gw_menu_request, false          
Response.write(objHttpRequest.ResponseXML)

If Err.Number <> 0 Then 
  Response.Write "Err.Number :" & Err.Number  & "<br/>"
  Response.Write "Err.Source :" & Err.Source & "<br/>"
  Response.Write "Err.Source :" & Err.Description  & "<br/>"
  Response.Write "Err.File :" & Err.File & "<br/>"
End If

ここで何が欠けていますか?

4

1 に答える 1

2

問題はエラーで説明されているとおりです。最初に を呼び出さずにリクエスト ヘッダーを設定しようとしていますOpen()Send()また、応答を受信する前に要求を送信する方法もありません。

Dim objHttpRequest
Dim gw_menu_request
Dim HTTPMethod

HTTPMethod="POST"
Set objHttpRequest = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")    
gw_menu_request = "http://test.com?q=headerexpose/expose_headers/expose_json"
'Open request specifying method and URL to call
objHttpRequest.open HTTPMethod, gw_menu_request, False
'Set any HTTP headers needed before sending.      
objHttpRequest.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
objHttpRequest.setRequestHeader "Content-Length", 0
'Send the request
objHttpRequest.Send 
Response.write(objHttpRequest.ResponseXML.Xml)

If Err.Number <> 0 Then 
  Response.Write "Err.Number :" & Err.Number  & "<br/>"
  Response.Write "Err.Source :" & Err.Source & "<br/>"
  Response.Write "Err.Source :" & Err.Description  & "<br/>"
  Response.Write "Err.File :" & Err.File & "<br/>"
End If

あなたも欲しいResponseXML.Xml、またはあなたは

Microsoft VBScript ランタイム エラー: タイプの不一致

XmlXML 文字列表現を含むプロパティではなく、オブジェクトを出力しようとしているためです。

于 2016-05-12T12:07:30.233 に答える