VB6.0でXML文書をURLに送信するプログラムを作成していますが、
以下のようなエラーが発生してうまくいきません。
「Error : 405 Method not allowed」
原因として何が考えられるでしょうか?
ちなみに私は、Webの事をよくわかっておりません。
↓↓↓<実行モジュール>↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Dim domDoc As New MSXML2.DOMDocument
Dim xmlHttp As New MSXML2.XMLHTTP
If Not domDoc.Load("D:Sample.xml") Then
Exit Sub
End If
xmlHttp.open "POST", "http://localhost/sample/sample01.jsp", False
xmlHttp.setRequestHeader "Content-Type", "text/xml;charset=utf-8"
xmlHttp.setRequestHeader "Content-Length", Len(domDoc.xml)
xmlHttp.send doc.xml
If xmlHttp.Status <> 200 Then
MsgBox "Error :" & xmlHttp.Status & " " & xmlHttp.statusText
Exit Sub
End If
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
> 「Error : 405 Method not allowed」
そのサーバが、POST メソッドによる要求をサポートしていないのでは。
(たとえば、GET メソッドによる要求しか受け付けていない、とか…)
そのサーバが許可しているメソッドについて、サーバ管理者に
問い合わせてみては如何でしょう。(.htaccess の設定確認とか)
> If Not domDoc.Load("D:Sample.xml") Then
相対パスではなく、絶対パスで指定した方が良いかも。
> xmlHttp.send doc.xml
# send メソッドって、XML を文字列化 or バイナリ化しなくても、
# ストリームをそのまま送出できたような気が…うろ覚え。
>そのサーバが、POST メソッドによる要求をサポートしていないのでは。
まさにその通りでサーバー側の設定されていませんでした。
設定するとPOSTできるようになりました。
助かりました。
ツイート | ![]() |