----색인----
1. 비누 요청 방법
2. 게시물 요청 방법
3. SHOWALLNODE 기능(노드 속성 및 데이터 표시 관련)
-------------
하나. SOAP 요청 예 아래는 SOAP 요청 예입니다. 표시된 자리 표시자는 실제 값으로 대체되어야 합니다.
POST /WebService1/UserSignOn.asmx HTTP/1.1
호스트: 192.100.100.81
콘텐츠 유형: text/xml charset=utf-8;
콘텐츠 길이: 길이
SOAPAction: " http://tempuri.org/LoginByAccount "
<?xml version="1.0" 인코딩="utf-8"?>
<soap:Envelope xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance " xmlns:xsd=" http://www.w3.org/2001/XMLSchema " xmlns:soap=" http ://schemas.xmlsoap.org/soap/envelope/ ">
<비누:바디>
<LoginByAccount xmlns=" http://tempuri.org/ ">
<사용자 이름>문자열</사용자 이름>
<password>문자열</password>
</LoginByAccount>
</soap:바디>
</soap:봉투>
WEBSERVICE와 상호작용하려면 위와 정확히 동일하게 SOAP 요청을 구성해야 합니다.
<%
url = " http://192.100.100.81/WebService1/UserSignOn.asmx "
SoapRequest="<?xml version="&CHR(34)&"1.0"&CHR(34)&" 인코딩="&CHR(34)&"utf -8"&CHR(34)&"?>"& _
"<soap:Envelope xmlns:xsi="&CHR(34)&" http://www.w3.org/2001/XMLSchema-instance"&CHR(34 )&" "& _
"xmlns:xsd="&CHR(34)&" http://www.w3.org/2001/XMLSchema"&CHR(34 )&" "& _
"xmlns:soap="&CHR(34)&" http://schemas.xmlsoap.org/soap/envelope/"&CHR(34 )&">"& _
"<soap:Body>"& _
"<LoginByAccount xmlns="&CHR(34)&" http://tempuri.org/"&CHR(34 )&">"& _
"<사용자 이름>"&사용자 이름&"</사용자 이름>"& _
"<비밀번호>"&비밀번호&"</비밀번호>"& _
"</LoginByAccount>"& _
"</soap:Body>"& _
"</soap:Envelope>"
xmlhttp = server.CreateObject("Msxml2.XMLHTTP") 설정
xmlhttp.Open "POST",url,false
xmlhttp.setRequestHeader "Content-Type", "text/xml;charset=utf-8"
xmlhttp.setRequestHeader "HOST","192.100.100.81"
xmlhttp.setRequestHeader "콘텐츠 길이",LEN(SoapRequest)
xmlhttp.setRequestHeader "SOAPAction", " http://tempuri.org/LoginByAccount " ' WEBSERVICE와 동일한 네임스페이스여야 합니다. 그렇지 않으면 서비스가 거부됩니다.
xmlhttp.Send(SoapRequest)
'이것은 XMLHTTP를 사용하여 SOAP 예제와 일치하는 SOAP 요청을 성공적으로 보냅니다.
'성공 여부를 확인합니다.
응답.Write xmlhttp.Status&” ”
응답.Write xmlhttp.StatusText
xmlhttp = 없음 설정
%>
성공하면 200 ok가 표시되고, 실패하면 500 Internal Server Error가 표시됩니다.
성공하면 다음과 같이 WEBSERVICE의 응답을 사용할 수 있습니다.
SOAP 응답 예 다음은 SOAP 응답 예입니다. 표시된 자리 표시자는 실제 값으로 대체되어야 합니다.
HTTP/1.1 200 확인
콘텐츠 유형: text/xml charset=utf-8;
콘텐츠 길이: 길이
<?xml version="1.0" 인코딩="utf-8"?>
<soap:Envelope xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance " xmlns:xsd=" http://www.w3.org/2001/XMLSchema " xmlns:soap=" http ://schemas.xmlsoap.org/soap/envelope/ ">
<비누:바디>
<LoginByAccountResponse xmlns=" http://tempuri.org/ ">
<LoginByAccountResult>문자열</LoginByAccountResult>
</LoginByAccountResponse>
</soap:바디>
</soap:봉투>
이것은 방금 SOAP 요청 예제에 해당하는 SOAP 응답 예제입니다. 요청이 성공적으로 전송되면 응답을 볼 수 있습니다.
xmlhttp.Status = 200인 경우
xmlDOC =server.CreateObject("MSXML.DOMDocument")를 설정합니다.
xmlDOC.load(xmlhttp.responseXML)
xmlStr = xmlDOC.xml
xmlDOC=아무것도 설정하지 않음
xmlStr = 바꾸기(xmlStr,"<","<")
xmlStr = 바꾸기(xmlStr,">",">")
Response.write xmlStr
Else
응답.Write xmlhttp.Status&" "
Response.Write xmlhttp.StatusText
다음 경우 종료
요청이 정확할 경우 완전한 응답이 제공됩니다. 요청이 올바르지 않은 경우(예: 계좌 번호 및 비밀번호가 올바르지 않음) 응답 내용이 불완전합니다.
다음과 같이 응답에서 데이터를 가져옵니다.
xmlhttp.Status = 200인 경우
xmlDOC = server.CreateObject("MSXML.DOMDocument")를 설정합니다.
xmlDOC.load(xmlhttp.responseXML)
Response.Write xmlDOC.documentElement.selectNodes("//LoginByAccountResult")(0).text '노드가 LoginByAccountResult인 데이터를 표시합니다(인코딩된 경우 디코딩해야 함).
xmlDOC = 아무것도 설정하지 않음
Response.Write
xmlhttp.Status&" "
응답.Write xmlhttp.StatusText
노드의 각 속성과 데이터의 기능을 표시하는
경우 종료
:Function showallnode(rootname,myxmlDOC)' 모두가 844에 의해 작성된 2005-1-9를 계속 완료하기를 바랍니다.
if rootname<>"" then
set nodeobj=myxmlDOC.documentElement.selectSingleNode("//"&rootname&"")'현재 노드 객체
nodeAttributelen=myxmlDOC.documentElement.selectSingleNode("//"&rootname&"").attributes.length'현재 노드 속성 수
returnstring=returnstring&"<BR>노드 이름: "&rootname
if nodeobj.text<>"" then
returnstring=returnstring&"<BR>노드의 텍스트: ("&nodeobj.text&")"
end if
returnstring=returnstring&"<BR>{<BR>"
if nodeAttributelen<>0 then
returnstring=returnstring&"<BR>다음과 같은 "&nodeAttributelen&" 속성이 있습니다. "
nodeAttributelen-1에 대한 i=0인
경우 종료됩니다.
returnstring=returnstring&"<li>"&nodeobj.attributes(i).Name&": "&nodeobj.getAttribute(nodeobj.attributes(i).Name)&" </li>"
다음
if nodeobj.childNodes.Length<>0이면
if nodeobj.hasChildNodes() 및 lcase(nodeobj.childNodes.item(0).nodeName)<>"#text" then'자식 노드가 있는지 여부
childnodeobj=nodeobj.childNodes 설정
childnodelen=nodeobj.childNodes.Length
returnstring=returnstring&"<BR><BR>"&childnodelen&" 하위 노드가 있습니다.<BR>그들은: "
i=0에서 childnodelen-1까지
returnstring=returnstring&"<li>"&childnodeobj.item(i).nodeName&"</li>"
다음
종료하면
returnstring=returnstring&"<BR>}<BR>"
인 경우 종료됩니다.
response.write 반환 문자열
nodeobj=아무것도 설정하지 않음
종료하면
기능 종료
다음과 같이 사용할 수 있습니다.
xmlhttp.Status = 200인 경우
xmlDOC = server.CreateObject("MSXML.DOMDocument")를 설정합니다.
xmlDOC.load(xmlhttp.responseXML)
showallnode "LoginByAccountResponse",xmlDOC'Call SHOWALLNODE
xmlDOC = 아무것도 설정하지 않음
Response.Write
xmlhttp.Status&" "
Response.Write xmlhttp.StatusText
인 경우 종료됩니다
. POST 요청 예시
HTTP 포스트
다음은 HTTP POST 요청의 예입니다. 표시된 자리 표시자는 실제 값으로 대체되어야 합니다.
POST /WebService1/UserSignOn.asmx/LoginByAccount HTTP/1.1
호스트: 192.100.100.81
콘텐츠 유형: application/x-www-form-urlencoded
콘텐츠 길이: 길이
사용자 이름=문자열&비밀번호=문자열
POST 요청 구성:
<%
url = " http://192.100.100.81/WebService1/UserSignOn.asmx/LoginByAccount "
SoapRequest="username="&username&"&password="&비밀번호
설정 xmlhttp = server.CreateObject("Msxml2.XMLHTTP")
xmlhttp.Open "POST",url,false
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"'참고
xmlhttp.setRequestHeader "HOST","192.100.100.81"
xmlhttp.setRequestHeader "콘텐츠 길이",LEN(SoapRequest)
xmlhttp.Send(SoapRequest)
'이것은 XMLHTTP를 사용하여 HTTP POST 예제와 일치하는 POST 요청을 성공적으로 보냅니다.
'성공 여부를 확인합니다.
응답.Write xmlhttp.Status&” ”
응답.Write xmlhttp.StatusText
xmlhttp = 없음 설정
%>
성공하면 200 ok가 표시되고, 실패하면 500 Internal Server Error가 표시됩니다.
성공하면 다음과 같이 WEBSERVICE의 응답을 사용할 수 있습니다.
HTTP 포스트
다음은 HTTP POST 응답의 예입니다. 표시된 자리 표시자는 실제 값으로 대체되어야 합니다.
HTTP/1.1 200 확인
콘텐츠 유형: text/xml charset=utf-8;
콘텐츠 길이: 길이
<?xml version="1.0" 인코딩="utf-8"?>
<string xmlns=" http://tempuri.org/">string</string >
보여주다:
xmlhttp.Status = 200인 경우
xmlDOC = server.CreateObject("MSXML.DOMDocument")를 설정합니다.
xmlDOC.load(xmlhttp.responseXML)
showallnode "문자열",xmlDOC'call SHOWALLNODE
xmlDOC = 아무것도 설정하지 않음
Response.Write
xmlhttp.Status&" "
Response.Write xmlhttp.StatusText
다음 경우 종료
위는 ASP가 XMLHTTP 구성 요소를 사용하여 SOAP 요청을 보내고 WEBSERVICE를 호출하는 방법입니다. ASP 환경에서 첫 번째 방법을 사용하는 것이 좋습니다. 더 좋은 방법이 있으면 mailto: [email protected] 으로 문의해 주세요. HTTP GET 방식 중국어로 문제가 있을 수 있고, 데이터 양이 많지 않습니다. HTTP POST 메서드를 사용하는 것은 불필요하게 느껴집니다. 실제로 위의 예에서는 POST 메서드를 사용하지만 POST 요청은 아닙니다. SOAP TOOLKIT을 사용하려면 소프트웨어를 설치해야 하며, 후속 버전은 없습니다. ---전문 끝