powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Среда разработки "SOAP"
12 сообщений из 12, страница 1 из 1
Среда разработки "SOAP"
    #38157427
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привалило счастье есть некий сервис


4.1. Обмен данными по протоколу SOAP/HTTP
Для ФК, у которых определен протокол обмена «SOAP \ HTTP», обмен данными об операциях с регистрируемыми почтовыми отправлениями ФК осуществляется путём взаимодействия ИС ФК с Web-сервисом, предназначенным для:
Получения запросов ФК, выдачи ticket для последующего получения ответа;
Выдачи подготовленных ответов по ticket.
Описание интерфейса взаимодействия с Web-сервисом можно получить, обратившись по адресу:
http://vfc.russianpost.ru:8080/FederalClient/ItemDataService?wsdl
Для доступа к Web-сервису нужно использовать адрес: http://vfc.russianpost.ru:8080/FederalClient/ItemDataService
4.1.1. Авторизация
Для передачи данных Web-сервису, авторизационные данные передаются в вызываемый метод. Описание интерфейса взаимодействия с Web-сервисом подсистемы обмена ОАСУ РПО на языке WSDL для авторизации содержит
[spoiler]
Код: xml
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.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions 	name="FederalClientService"
				targetNamespace="http://fclient.russianpost.org"
				xmlns="http://schemas.xmlsoap.org/wsdl/"
				xmlns:tns="http://fclient.russianpost.org"
				xmlns:fcpsns="http://fclient.russianpost.org/postserver"
				xmlns:xs="http://www.w3.org/2001/XMLSchema"
				xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
				xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
				xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype">
    <types>
        <xs:schema>
            <xs:import 	namespace="http://fclient.russianpost.org/postserver"
						schemaLocation="FCPostSchema.xsd "/>
        </xs:schema>
    </types>

    <message name="ticketRequest">
        <part name="parameters" element="fcpsns:ticketRequest"/>
    </message>

    <message name="ticketResponse">
        <part name="parameters" element="fcpsns:ticketResponse"/>
    </message>

    <message name="answerByTicketRequest">
        <part name="parameters" element="fcpsns:answerByTicketRequest"/>
    </message>

    <message name="answerByTicketResponse">
        <part name="parameters" element="fcpsns:answerByTicketResponse"/>
    </message>

    <portType name="FederalClient">
        <operation name="getTicket">
            <input message="tns:ticketRequest"/>
            <output message="tns:ticketResponse"/>
        </operation>
        <operation name="getResponseByTicket">
            <input message="tns:answerByTicketRequest"/>
            <output message="tns:answerByTicketResponse"/>
        </operation>
    </portType>

    <binding name="FederalClientPortBinding" type="tns:FederalClient">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
        <operation name="getTicket">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
        </operation>

        <operation name="getResponseByTicket">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
        </operation>
    </binding>

    <service name="ItemDataService">
        <port name="ItemDataServicePort" binding="tns:FederalClientPortBinding">
            <soap:address location="REPLACE_WITH_ACTUAL_URL"/>
        </port>
    </service>

    <plnk:partnerLinkType name="FederalClient">
        <plnk:role name="ItemMessageProducer" portType="tns:FederalClient"/>
    </plnk:partnerLinkType>




Я тут смотрю как на новые ворота (писал малость на VisualStudio 2010 + Silverlight) что за WSDL в VisualStudio такое поддерживается. Правильно ли я понял что кидаешь определенные компоненты на форму для работы с протоколом SOAP и куришь мануал что да как. Power Builder "понимает" WSDL?
...
Рейтинг: 0 / 0
Среда разработки "SOAP"
    #38157567
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Вопще не по теме.
2) Визуал понимает ВСДЛ. Толко кидать его надо не форму а в ремоте референсес.
...
Рейтинг: 0 / 0
Среда разработки "SOAP"
    #38157574
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О тысяча извенений, Power Builder то я пропустил. Про него незнаю.
...
Рейтинг: 0 / 0
Среда разработки "SOAP"
    #38157606
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikron1) Вопще не по теме.

Так не сталкивался я с ВСДЛ. VS снес за ненадобностью поэтому фик ее знает с чего начать и куда писать (сейчас ставлю VS).
2) Визуал понимает ВСДЛ. Толко кидать его надо не форму а в ремоте референсес.[/quot]
Есть в приложении какой-то код Как его проверить. В VS Создаем проект (какой я только работал с Silverlight). Какие компоненты нужно кидать (если вообще нужно) чтобы использовать SOAP
P.s. Перенесите тему в нужную ветку. Спасибо.

Модератор: Тема перенесена из форума "Sybase ASA, ASE, IQ".
...
Рейтинг: 0 / 0
Среда разработки "SOAP"
    #38230592
Dimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть презенташка где общие принципы описаны
http://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0CHkQFjAJ&url=http://www.pbugg.de/docs/pbws_client_hamburg.ppt&ei=lJtvUYDwFcXk4QSh3oC4Ag&usg=AFQjCNH1Vazy9rdLAZYbyrsST1YuUFOZ-Q&bvm=bv.45373924,d.bGE&cad=rjt

есть более простенькая статья
http://doughporter.sys-con.com/node/170853/mobile

у тебя хоть нормальный SOAP с нормальным WDSL. По идее работа через прокси объект должно получиться.
у меня ситуация хуже получилась
Комрады, может направление подскажите куда рыть
Ситуация. Есть "веб сервис", который по запросу типа " http://www.компания.ru/ws/?action=show&client=xxxx&number=OC90" методом GET возвращает XML структурку с найденным товаром.
тестовый код смешной
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
OleObject lol_Test
long ll_Return
string ls_Return
any la_Return
string ls_Url

lol_Test = create OleObject
ll_Return = lol_Test.ConnectToNewObject("Msxml2.XMLHTTP.4.0")

ls_Url = "http://www.avdmotors.ru/ws/?action=show&client=1574&number=OC90"
lol_Test.abort()
la_Return = lol_Test.Open("GET", ls_Url, false )
la_Return = lol_Test.Send()
sleep(2)

ll_Return = lol_Test.Status 
//ls_Return = lol_Test.getAllResponseHeaders()
ls_Return = Lol_Test.responseText

lol_Test.DisconnectObject( )


на одном компе работает без проблем, на другом говорит, что Lol_Test.responseText - недоступен. Смотрим в дебагере.
в обоих случаях lol_Test.Status = 200, т.е. всё отработало, всё хорошо
в обоих случаях lol_Test.getAllResponseHeaders() возвращает одинаковые заголовки
пробовали Msxml2.XMLHTTP.4.0 и 3-ей и 5-й и 6-й версии. Не помогло
в чём может быть трабла ?
PS PowerBuilder 11.5.1 build 5097
...
Рейтинг: 0 / 0
Среда разработки "SOAP"
    #38231506
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А региональные настройки на компьютерах одинаковые?
А брендмауэр?
А просто в браузере на обоих компах что открывается?
...
Рейтинг: 0 / 0
Среда разработки "SOAP"
    #38232017
Dimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001А региональные настройки на компьютерах одинаковые?
А брендмауэр?
А просто в браузере на обоих компах что открывается?
на все три вопроса да
все службы сравнил, одинаковы
настройки в ИЕ - одинаковые, если в браузер воткнуть ссылку, на обеих машинах выдаётся одинаково тот ХМL который и должен придти.
ИЕ, тк используемый XMLHTTP считывает настройки подключения к сети именно с ИЕ.
...
Рейтинг: 0 / 0
Среда разработки "SOAP"
    #38232432
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте привести тип, т.е сделать ls_Return = string(Lol_Test.responseText)
Хотя складывается такое впечатление, что просто не успевает объект "прожить" долго, чтобы вернуть вам данные, или наоборот
Заголовок короткий, поэтому вы успеваете его считать, а сам ответ длинный.
...
Рейтинг: 0 / 0
Среда разработки "SOAP"
    #38232536
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
la_Return = lol_Test.Send()
sleep(2)


Что за sleep еще?
С чего вы решили что 2-х секунд хватит?
Вместо sleep нужно использовать корректный способ ожидания гарантирующий окончание запроса (я не знаю конкретно какой, но точно не sleep)
...
Рейтинг: 0 / 0
Среда разработки "SOAP"
    #38232579
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это костыльки:)
Тогда уж пока минутку бы подождали
Тут скорее всего надо было что-то вроде readyState опрашивать
...
Рейтинг: 0 / 0
Среда разработки "SOAP"
    #38232599
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
(4) COMPLETED
	

All the data has been received, and the complete data is available in responseBody Property (IXMLHTTPRequest) and responseText Property (IXMLHTTPRequest).
...
Рейтинг: 0 / 0
Среда разработки "SOAP"
    #38243905
Dimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри что сразу не отписался.
Пасиб всем за участие.

сразу замечание. там так и было написано автортестовый код
объект "Msxml2.XMLHTTP.4.0" был обнюхан и облизан. Позже выяснилось нужно было и погрызть.
сидел в дебагере, ессно все статусы отлавливал, ессно в продуктив ушёл другой код.

как порешалась проблематика, может кому и пригодится.
работа с "Msxml2.XMLHTTP.4.0" на второй машине - трабла Билдера
в дебагере вылетает, если просто запустить - отрабатывает. Дальше разгребать не стал.

жить это должно на EAS на win 2003 SR2, там нет .4.0, есть Msxml2.XMLHTTP.6.0
важные различия:
- Msxml2.XMLHTTP.4.0 на запросы через GET помещает всё в .responseText, не смотря на заголовок "Content-Type", "text/XML", свойство .responseXml не создаётся.
- Msxml2.XMLHTTP.6.0 более умный, видя что Content-Type - text/XML, свойство .responseText не создаётся, ответ пихается в .responseXml, Билдер в дебагере показывает что свойство пустое, но на самом деле там сидит объект "XMLDocument". И сам XML как строка дёргается из него через .responseXml.xml
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Среда разработки "SOAP"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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