- PR -

ServerXMLHTTPについて

1
投稿者投稿内容
カナ
会議室デビュー日: 2005/04/25
投稿数: 1
投稿日時: 2005-04-25 16:26
ServerXMLHTTPについて教えてください。

クライアントからPOST されたデータを Active Server Pages (ASP) スクリプト
から、Apache で動作する Web ページに POST します。
クライアントからのデータをPOSTするロジックは下記のとおりです。
--------------------------------------------------------------
Set objSrvXMLHttp = Server.CreateObject("MSXML2.ServerXMLHTTP.3.0")

objSrvXMLHttp.Open "POST", "http://xxx.co.jp/ci/GCIPIcs/Init.do", False
objSrvXMLHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objSrvXMLHttp.setRequestHeader "Accept-Language", "ja"
objSrvXMLHttp.Send Request.Form
--------------------------------------------------------------

そしてApacheからテキスト形式のXMLリクエストがASPへ戻され、戻されたXMLを
クライアントへ整形して返す必要があるのですが、Apacheから戻されたXMLの
読み方がわかりません。
response.contenttype = "text/html"
Response.Write objSrvXMLHttp.ResponseTEXT
のような記述だと、レスポンスをそのままテキスト表示してしまいますよね。
どのようにしてノードの値を取得できるのでしょうか。

ちなみにResponseXMLオブジェクトは、DOMDocumetオブジェクト形式のXMLが
返ってこないと使えないのですよね。
VIM
ベテラン
会議室デビュー日: 2003/11/14
投稿数: 76
投稿日時: 2005-04-25 17:17
普通は、
コード:
Set xDoc = objSrvXMLHttp.responseXML


で、DOMDocumetオブジェクト形式のXMLが取得できるのですが、
取得できないということでしょうか?

responseTextを使うなら、
コード:
Set xDoc = CreateObject("MSXML2.FreeThreadedDOMDocument")
xDoc.async = False
Call xDoc.loadXML(objSrvXMLHttp.responseText)


こんな感じで、DOMに流し込みます。
Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2005-04-28 07:25
どうせie限定でいいならdataislandで取りに行くという手もあります。
<xml id="testxml1" src="http://xxx.co.jp/ci/GCIPIcs/Init.do"/>
testxml1.documentElementからdomが取れます。
1

スキルアップ/キャリアアップ(JOB@IT)