powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Проблемы с парсингом SOAP сообщения в простом ASP
3 сообщений из 3, страница 1 из 1
Проблемы с парсингом SOAP сообщения в простом ASP
    #33554914
romapost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На ASP никогда не пргограммил,но возникла большая потребность в работе написать простого клиента SOAP именно на ASP, поискалв инете,нашёл полезную статью

http://www.aspnetmania.com/Articles/Article/15.html#client_vb6

для парсинга выбрал самое простое авторКаждый раз при получении/передаче значений данного типа самостоятельно разбирать XML, работая с объектом типа IXMLDOMNodeList


а как с этим объектом работать не понял,единственное усёк что через MSXML, но потратил кучу времени,нефига не получается получить и вывести данные от сервиса

вот пример кода небольшой, оторый на основе данных из формы посылает запрос службе

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<%
IF Request("btnGetIt") = "Get it!" THEN 
 
	Dim SoapClient, SoapUtils, v, i,oData,phones,iIndex,DOC,list

	Set SoapClient = Server.CreateObject("MSSOAP.SoapClient30") 
 
  	SoapClient.ClientProperty("ServerHTTPRequest") = True 
 
	Call SoapClient.mssoapinit("http://mydomain.com/services/GetProductDetails.asmx?WSDL","","","")  
	 
	phones = SoapClient.GetPhoneListingAsArray(Cstr(Request("txtCarrier")), Cstr(Request("lstRanking")),Cstr(Request("txtTopNo")), Cstr(Request("txtUID"))) 
	 
	Set DOC = CreateObject("MSXML2.DOMDocument")


END IF 
%>

а вот то что я должен получить

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
<?xml version="1.0" encoding="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/">
  <soap:Body>
    <GetPhoneListingAsArrayResponse xmlns="http://mydomain.com/webservices/">
      <GetPhoneListingAsArrayResult>
        <Phone>
          <PhoneUrl>string</PhoneUrl>
          <Price>string</Price>
          <Model>string</Model>
          <ImageUrl_m>string</ImageUrl_m>
          <SmImage>string</SmImage>
          <LgImage>string</LgImage>
          <DblImageSm>string</DblImageSm>
          <DblImageMed>string</DblImageMed>
          <DblImageLg>string</DblImageLg>
          <RegPrice>string</RegPrice>
          <MailRebates>string</MailRebates>
          <InstantRebates>string</InstantRebates>
          <Carrier>string</Carrier>
          <Manufacturer>string</Manufacturer>
          <Features>string</Features>
        </Phone>
        <Phone>
          <PhoneUrl>string</PhoneUrl>
          <Price>string</Price>
          <Model>string</Model>
          <ImageUrl_m>string</ImageUrl_m>
          <SmImage>string</SmImage>
          <LgImage>string</LgImage>
          <DblImageSm>string</DblImageSm>
          <DblImageMed>string</DblImageMed>
          <DblImageLg>string</DblImageLg>
          <RegPrice>string</RegPrice>
          <MailRebates>string</MailRebates>
          <InstantRebates>string</InstantRebates>
          <Carrier>string</Carrier>
          <Manufacturer>string</Manufacturer>
          <Features>string</Features>
        </Phone>
      </GetPhoneListingAsArrayResult>
    </GetPhoneListingAsArrayResponse>
  </soap:Body>
</soap:Envelope>

кто знает подскажите как вывести значения из объекта phones ?
очень буду благодарен за любой совет,так как потихоньку уже схожу с ума....:) а добратся до истины очень надо!
...
Рейтинг: 0 / 0
Проблемы с парсингом SOAP сообщения в простом ASP
    #33555207
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
romapost...кто знает подскажите как вывести значения из объекта phones ?
очень буду благодарен за любой совет,так как потихоньку уже схожу с ума....:) а добратся до истины очень надо!

Статью-то, хоть, до конца внимательно прочитал? Там как раз на примере flights = SoapUtils.MakeVariantArray(flights) показано - чем массивы Variant-ов в ASP (VBScript) отличаются от массивов Object-ов в VB...
А после указанного преобразования - работай со своими phones(i) как с обычными объектами, типа: phones(i).PhoneUrl, phones(i).Price, phones(i).Model... и т.д.
...
Рейтинг: 0 / 0
Проблемы с парсингом SOAP сообщения в простом ASP
    #33555341
romapost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конечно прочитал на 100 раз,более того скачал все примеры с Аэрофлота и проверил у себя,поставил SOAP Toolkit 3, попробовал преобразование с их функцией и не фига,хотя как я понял в этом случае надо обработчик писать,а в данном случае способ с MSXML я думал более проще,хотя мне сошёл бы любой,лишь бы работало

ну вот я пробовал с их функцией,такой код

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<%
IF Request("btnGetIt") = "Get it!" THEN 
 
	Dim SoapClient, SoapUtils, v, i,oData,phones,iIndex,DOC,list
	Set SoapClient = Server.CreateObject("MSSOAP.SoapClient30")
	Set SoapUtils = Server.CreateObject("FlightStatusMapper.Utils") 
   	SoapClient.ClientProperty("ServerHTTPRequest") = True 
 	Call SoapClient.mssoapinit("http://mydomain.com/services/GetProductDetails.asmx?WSDL","","","")  
	phones = SoapClient.GetPhoneListingAsArray(Cstr(Request("txtCarrier")), Cstr(Request("lstRanking")),Cstr(Request("txtTopNo")), Cstr(Request("txtUID"))) 
	phones = SoapUtils.MakeVariantArray(phones)	 
	
	For i =  0  To UBound(phones)
		Set oData = phones(i)
		Response.Write oData.Model & "<BR>"
	Next


END IF 
%>

пишето что ошибка
Код: plaintext
1.
2.
3.
Error Type:
Ошибка выполнения Microsoft VBScript (0x800A01B6)
Объект не поддерживает это свойство или метод: 'Model'
/tmiwireless/new/client.asp, line 59
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Проблемы с парсингом SOAP сообщения в простом ASP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]