2012-11-25 4 views
1

표준 코드 & classic ASP를 사용하여 매일 코드를 작성합니다. ASP/html 플랫폼과 SQL Server 데이터베이스를 사용할 작은 API를 작성하도록 요청 받았습니다. ASP/SQL Server, HTML 등을 다루는 데 문제가 없습니다. XML 요청을 작성하여 서버에 쿼리 할 수도 있습니다. 그러나 인바운드 XML 요청을 "수신 대기"할 서비스를 설정하는 위치를 어디에서부터 시작해야할지 모르겠습니다. 수 십 개의 요청/응답 루틴을 준비했지만 요청을받는 페이지를 코딩하는 방법을 모릅니다.ASP를 사용하여 웹 서비스로 인바운드 XML 요청을 처리하는 방법

아무도 손을 내밀 수 있습니까? 예를 들어

: 우리의 방법

하나는/요청에 그들을위한 기능은 간단한 분류 목록 요청입니다. SOAP를 사용하면 요청을 잘 처리 할 수 ​​있습니다. 서버에서 수신 측을 구성하여 요청을 즐겁게 처리하고 응답하는 방법을 모르겠습니다.

아래 요청을했는데,이 요청을 받고 데이터로 응답하기 위해 웹 서비스 페이지를 처리하는 방법을 알아야합니다. 어떤 도움이라도 대단히 감사하겠습니다. 아래를 봐주세요.

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 

감사를 도와!

+0

다른 애플리케이션에서 동일한 호출을 할 수있는 ASP 페이지를 작성해야합니까 웹 서비스를 호출하는 방법은? 다른 프로젝트의 참조? –

답변

1

xml 형식의 POST 명령을받는 스크립트 만 만들어야합니다. 그런 다음 스크립트는 게시 된 XML 콘텐츠에서 해당 변수를 검색 한 다음 XML 출력을 생성하고 response.write()를 통해 쉽게 전송해야합니다.

관련 문제