1

標準の HTML と従来の ASP を使用して、毎日コードを書いています。ASP/html プラットフォームと SQL Server データベースを使用する小さな API を構築するよう依頼されました。ASP/SQL サーバー、HTML などを問題なく処理できます。サーバーにクエリを実行する XML 要求を作成することもできます。しかし、インバウンド XML 要求を「リッスン」するサービスのセットアップをどこから始めればよいかわかりません。リクエスト/レスポンスのルーチンを十数個用意しましたが、そのリクエストを受け取るページのコーディング方法がわかりません。

手を差し伸べてくれる人はいますか?

例えば:

彼らが要求するためのメソッド/関数の 1 つは、単純なカテゴリ リスト要求です。SOAPを使用すると、リクエストをうまく作成できますが、サーバーで受信側を形成してリクエストを楽しませ、応答する方法がわからないだけです。

以下のリクエストを作成しました。このリクエストを受信して​​データで応答するために Web サービス ページを処理する方法を知る必要があるだけです。どんな助けでも大歓迎です。下記を参照してください。

送信する VAR

DealerID
UserID
Password
Dept

コード:

DIM wagConnect, WAGRequest
wagConnect = "http://www....../catreq.asp"

Dim strResult, strNamespace, strFunction
DIM wagResponse, xmldom, xmlresponse
Dim objXMLHTTP : set objXMLHTTP = Server.CreateObject("Msxml2.XMLHTTP.3.0")

' strNamespace="urn:externalwsdl"
' strFunction="add_line"
' area_code

WAGRequest = "<?xml version=""1.0"" encoding=""utf-8"" ?>" & _
             "<soapenv:Envelope xmlns:s=""http://schemas.xmlsoap.org/soap/envelope/"">" & _
             "<soapenv:Body>" & _
             "<Get_Categories xmlns=""urn:externalwsdl"">" & _
             "<DealerInfo>" & _
             "<DealerID>DealerTest</DealerID>" & _
             "<UserID>K850</UserID>" & _
             "<Password>1234567Pass</Password>" & _
             "</DealerInfo>" & _
             "<CatInfo>" & _
             "<Dept></Dept>" & _
             "</CatInfo>" & _
             "</Get_Categories>" & _
             "</soapenv:Body>" & _
             "</soapenv:Envelope>"

objXMLHTTP.open "POST", "" & wagConnect & "", False
objXMLHTTP.setRequestHeader "Content-Type", "text/xml; charset=UTF-8"
objXMLHTTP.setRequestHeader "Content-Length", Len(WAGRequest)
'objXMLHTTP.setRequestHeader "SOAPMethodName", strFunction
objXMLHTTP.setRequestHeader "SOAPAction", wagConnect
'strNamespace & "#" & strFunction

'send the request and capture the result
Call objXMLHTTP.send(WAGRequest)

xmlresponse = objXMLHTTP.responsetext

wagResponse = ("<pre>"& replace(replace(xmlresponse, "<", "&lt;"), ">", "&gt;<br>") &"</pre>")

Set xmldom = Server.CreateObject("Microsoft.XMLDOM")
xmldom.async = false
xmldom.loadxml(objXMLHTTP.responsexml.xml)

IF objXMLHTTP.status <> 200 THEN 
   wagResponse = "Could not get XML data."
END IF

'Response elements and attributes

'Result-Code (1 = Success, 0 = Failed)
'Category Count {Cat_Count, int} (Number of Categories returned)
'Category
'Child elements:    'CatName {Cat_Name, nvarchar} (Short Text)
'Category Subtitle {Cat_Desc, nvarchar} (SubTitle)
'Category Desc {Cat_Memo, ntext} (long description)
'Picture URL {Cat_Pic, ntext} (URL)'

'ResultCode = xmldom.getElementsByTagName("result-code")(0).text

If ResultCode = 1 THEN
   CatCnt = xmldom.getElementsByTagName("Cat_Count")(0).text
   CatName = xmldom.getElementsByTagName("Cat_Name")(0).text 
   CatDesc = xmldom.getElementsByTagName("Cat_Desc")(0).text 
   CatMemo = xmldom.getElementsByTagName("Cat_Memo")(0).text 
   CatPic = xmldom.getElementsByTagName("Cat_Pic")(0).text 
End if

ご協力いただきありがとうございます!

4

1 に答える 1

1

xml 形式の POST で指示を取得するスクリプトを作成するだけです。次に、スクリプトは、投稿された xml コンテンツからその変数を取得し、xml 出力を生成して、response.write() によって簡単に送信する必要があります。

于 2013-01-09T19:55:51.093 に答える