Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Среда разработки "SOAP" / 12 сообщений из 12, страница 1 из 1
19.02.2013, 14:33
    #38157427
Chek_Fedor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Среда разработки "SOAP"
Привалило счастье есть некий сервис


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
19.02.2013, 15:55
    #38157567
mikron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Среда разработки "SOAP"
1) Вопще не по теме.
2) Визуал понимает ВСДЛ. Толко кидать его надо не форму а в ремоте референсес.
...
Рейтинг: 0 / 0
19.02.2013, 15:57
    #38157574
mikron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Среда разработки "SOAP"
О тысяча извенений, Power Builder то я пропустил. Про него незнаю.
...
Рейтинг: 0 / 0
19.02.2013, 16:17
    #38157606
Chek_Fedor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Среда разработки "SOAP"
mikron1) Вопще не по теме.

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

Модератор: Тема перенесена из форума "Sybase ASA, ASE, IQ".
...
Рейтинг: 0 / 0
18.04.2013, 12:07
    #38230592
Dimon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Среда разработки "SOAP"
Есть презенташка где общие принципы описаны
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
18.04.2013, 18:35
    #38231506
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Среда разработки "SOAP"
А региональные настройки на компьютерах одинаковые?
А брендмауэр?
А просто в браузере на обоих компах что открывается?
...
Рейтинг: 0 / 0
19.04.2013, 09:14
    #38232017
Dimon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Среда разработки "SOAP"
spas2001А региональные настройки на компьютерах одинаковые?
А брендмауэр?
А просто в браузере на обоих компах что открывается?
на все три вопроса да
все службы сравнил, одинаковы
настройки в ИЕ - одинаковые, если в браузер воткнуть ссылку, на обеих машинах выдаётся одинаково тот ХМL который и должен придти.
ИЕ, тк используемый XMLHTTP считывает настройки подключения к сети именно с ИЕ.
...
Рейтинг: 0 / 0
19.04.2013, 12:34
    #38232432
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Среда разработки "SOAP"
Попробуйте привести тип, т.е сделать ls_Return = string(Lol_Test.responseText)
Хотя складывается такое впечатление, что просто не успевает объект "прожить" долго, чтобы вернуть вам данные, или наоборот
Заголовок короткий, поэтому вы успеваете его считать, а сам ответ длинный.
...
Рейтинг: 0 / 0
19.04.2013, 13:09
    #38232536
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Среда разработки "SOAP"
Код: sql
1.
2.
la_Return = lol_Test.Send()
sleep(2)


Что за sleep еще?
С чего вы решили что 2-х секунд хватит?
Вместо sleep нужно использовать корректный способ ожидания гарантирующий окончание запроса (я не знаю конкретно какой, но точно не sleep)
...
Рейтинг: 0 / 0
19.04.2013, 13:22
    #38232579
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Среда разработки "SOAP"
Это костыльки:)
Тогда уж пока минутку бы подождали
Тут скорее всего надо было что-то вроде readyState опрашивать
...
Рейтинг: 0 / 0
19.04.2013, 13:28
    #38232599
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Среда разработки "SOAP"
Код: 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
29.04.2013, 13:36
    #38243905
Dimon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Среда разработки "SOAP"
Сорри что сразу не отписался.
Пасиб всем за участие.

сразу замечание. там так и было написано автортестовый код
объект "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
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Среда разработки "SOAP" / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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