parsing xml response
Hello!
I'm sending http resuest to the web service :
Set httpRequest=##class(%Net.HttpRequest).%New()
Set httpRequest.Server="177.127.120.10"
Set httpRequest.ContentType="text/xml"
Set httpRequest.Https=1
Set httpRequest.ContentCharset="UTF-8"
Do httpRequest.SetHeader("Accept","text/xml")
Set httpRequest.Timeout=300
_"<FirstName>"_name_"</FirstName>"
_"<LastName>"_surname_"</LastName>"
_"<MiddleName>"_middlename_"</MiddleName>"
_"<BirthDate>"_birthDate_"</BirthDate>"
_"<ContractType>CONST</ContractType></CheckContractRequest>"
Set httpResponse = httpRequest.Post("/sample/", 2)
zw resp
{
s resp=httpRequest.HttpResponse.Data
s len=32767,resptext=""
if $isObject(httpRequest.HttpResponse.Data) {
for {
q:httpRequest.HttpResponse.Data.AtEnd
s resptext=resptext_httpRequest.HttpResponse.Data.Read(.len) q:len<0
}
s ^tk(2)=resptext
s response=..getXMLValue(resptext, "message")
}
elseif ($l(resp.Data)>0 ) {
s resptext=resp.Data
}
}
response:
<CheckContractRequest>
<IIN>891299300335</IIN>
<FirstName>Ivan</FirstName>
<LastName>Ivanov</LastName>
<MiddleName>Ivanovich</MiddleName>
<BirthDate>01.01.1987</BirthDate>
<ContractType>CONST</ContractType>
</CheckContractRequest>
The response :
<?xml version="1.0" encoding="UTF-8"?>
<CheckContractResponse>
<code>0</code>
<message>OK</message>
</CheckContractResponse>
the question:
1) how to know that request was sent succesfully to web service?
how I can get data from stream bellow ?
resp=<OBJECT REFERENCE>[121@%Net.HttpResponse]
+----------------- general information ---------------
| oref value: 121
| class name: %Net.HttpResponse
| reference count: 3
+----------------- attribute values ------------------
| ContentBoundary = ""
| ContentInfo = ""
| ContentLength = ""
| ContentType = ""
| Data = "122@%Stream.GlobalBinary"
| HttpVersion = ""
| ReasonPhrase = ""
| StatusCode = ""
| StatusLine = ""