powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Web-services
25 сообщений из 25, страница 1 из 1
Web-services
    #35993272
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-нибудь работает с веб-сервисами в PB?
У меня неактивирована вся закладка Web в компонентах, можно что-то доставить, чтобы эти компоненты были?
И может быть, есть какой-то пример получения данных от веб-сервиса?
...
Рейтинг: 0 / 0
Web-services
    #35994853
Компостеров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лампочка,
Пример для .NET webservice ( для этого нужен PowerBuilder 10.5 и выше. )

Код: 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.
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.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
forward
global type n_cst_b2b_web_services from n_base
end type
end forward

global type n_cst_b2b_web_services from n_base
end type
global n_cst_b2b_web_services n_cst_b2b_web_services

type variables
// имя секции в ini-файле с url для подключения к webservices
public constant string INI_WS_SECTION 	= "WS_URL"
public constant string INI_WS_URL 		= "url"

SoapConnection 	conn 
px_service			ws_acc
end variables

forward prototypes
public function integer of_init (string as_inifile)
public function string of_getpolicybynumber (string as_policynumber)
public function integer of_getpoliciesnumbersforintegration (ref any as_policy_numbers[])
end prototypes

public function integer of_init (string as_inifile);string 	ls_url
long		ll_retval

if IsNull(as_inifile) then
	return - 1 
end if

ls_url = ProfileString(as_inifile, INI_WS_SECTION, INI_WS_URL, "")

conn = CREATE SoapConnection

ll_retval = Conn.CreateInstance( ws_acc, "px_service", ls_url )
if ll_retval =  0  then 

	conn.UseIntegratedWindowsAuthentication( true ) 	
	return  1 
	
else
	return - 1 
end if	
end function

public function string of_getpolicybynumber (string as_policynumber);string ls_xml_policy

try
	ls_xml_policy = ws_acc.getstringpolicybypolicynumber( as_policynumber )
	
catch ( SoapException e )

   	messagebox ("Error", "Cannot invoke Web service:" + e.text )   

    // error handling   

end try

return ls_xml_policy

end function

public function integer of_getpoliciesnumbersforintegration (ref any as_policy_numbers[]);int li_ret_val
try

	as_policy_numbers = ws_acc.GetPoliciesNumbersForIntegration( ) 
	li_ret_val =  1 
					
catch ( SoapException e )

   	messagebox ("Error", "Cannot invoke Web service:" + e.text )   
		li_ret_val = - 1 

		
	catch ( RunTimeError er )

		li_ret_val = - 1 
		
end try

return li_ret_val
end function

on n_cst_b2b_web_services.create
call super::create
end on

on n_cst_b2b_web_services.destroy
call super::destroy
end on

event destructor;call super::destructor;DESTROY conn
end event

Модератор: Лампочка , это Вам мягенько так намекнули, что нужно указывать версию РВ и прочих приложений, которые Вы используете, чтобы получить нужный Вам ответ (",)

Компостеров ? не забывайте про тэг [src] (",)
...
Рейтинг: 0 / 0
Web-services
    #35995760
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, я буду иметь ввиду указание версии билдера:)
Вчера, пока ждали ответа, нарыли практически тот же скрипт.
Я не могу понять одну вещь - применительно к этому коду:
откуда берется px_service? (пусть во всех примерах названия разные, но вопроса это не меняет)
Подскажите, пожалуйста!
...
Рейтинг: 0 / 0
Web-services
    #35995781
Фотография Ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лампочка...
Я не могу понять одну вещь - применительно к этому коду:
откуда берется px_service? (пусть во всех примерах названия разные, но вопроса это не меняет)
...Думаю, что из PFC...
...
Рейтинг: 0 / 0
Web-services
    #35995882
Компостеров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
px_service - это имя прокси-объекта webservice, определяешь в webservice proxy Wizard
...
Рейтинг: 0 / 0
Web-services
    #35995924
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я правильно понимаю, что это Proxy settings там, где я wdsl выбираю?
Вопрос, где взять host..
Мне дали файл wdsl и сказали, что у веб-сервиса есть такая-то функция.
Нужно ее вызвать.
А я еще и ничего с этими прокси не понимаю:)
...
Рейтинг: 0 / 0
Web-services
    #35995996
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При создании web service proxy wizard получаю следующее:
Web Service | TabelReportExport_TabelReportHttpService
Port 1 | TabelReportExport_TabelReportHttpPort
Prefix | sub_
Proxy Name For Port 1 | sub_TabelReportExport_TabelReportHttpPort

последнее - это и есть тип объекта, с которым я должна работать в скрипте?
тогда билдер говорит мне "illegal type"..
...
Рейтинг: 0 / 0
Web-services
    #35996002
Компостеров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пусть дадут тебе ссылку, где крутятся webservices ( например,
http://ren-mskdev01/reportserver/ReportExecution2005.asmx?WSDL )
...
Рейтинг: 0 / 0
Web-services
    #35996068
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что я могу взять из описания опубликованного wsdl?
****************
<wsdl:definitions name="TabelReportExport_TabelReportHttp_Service" targetNamespace="http://hr-report-service-stub/TabelReport/Binding">
<wsdl:import location="TabelReport.wsdl" namespace="http://hr-report-service-stub/TabelReport"/>

<wsdl:binding name="TabelReportExport_TabelReportHttpBinding" type="Port_0:TabelReport">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="getTabelReport">
<soap:operation soapAction=""/>

<wsdl:input name="getTabelReportRequest">
<soap:body use="literal"/>
</wsdl:input>

<wsdl:output name="getTabelReportResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>

<wsdl:service name="TabelReportExport_TabelReportHttpService">

<wsdl:port binding="this:TabelReportExport_TabelReportHttpBinding" name="TabelReportExport_TabelReportHttpPort">
<soap:address location="http://localhost:9081/hr-report-service-stubWeb/sca/TabelReportExport"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
*****************
...
Рейтинг: 0 / 0
Web-services
    #35996202
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обнаружили, что прежде чем начать пользоваться в скрипте объектом прокси, нужно сделать Deploy.
Почему после появления в библиотеке proxy project-а при вызове у него Deploy выдается ошибка "Wrong library list returned for operation"?
...
Рейтинг: 0 / 0
Web-services
    #35996280
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё найдено, всё работает, тема закрыта, всем спасибо!
...
Рейтинг: 0 / 0
Web-services
    #35996281
Компостеров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Библиотека C:\sybase\Shared\PowerBuilder\pbwsclient105.pbd подключена к пректу ?
...
Рейтинг: 0 / 0
Web-services
    #35996307
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Компостеров,
да, спасибо большое за советы. это всё заработало.
Есть еще один вопрос..если сможете помочь..
С веб-сервиса будут получены бинарные данные, их нужно сохранить на комп как pdf-файл.
Что для этого использовать?
...
Рейтинг: 0 / 0
Web-services
    #36486355
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лампочка или кто другой,

А какой билдер нужен для обращения к веб-сервисам? Под рукой 9.0.3. Нужно ли переходить на новую версию для работы с веб-сервисами, или можно крутить на этой?
...
Рейтинг: 0 / 0
Web-services
    #36486481
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитал более внимательно - оказывается, таки можно начиная с 9-й версии использовать чужие веб-сервисы.
...
Рейтинг: 0 / 0
Web-services
    #36487644
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только увидела вопрос:) я работаю с веб-сервисами с 9 и 10 версией билдера..
...
Рейтинг: 0 / 0
Web-services
    #36487647
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм, почему-то у меня WSDL несколько другого вида... И он не определяется моим билдером 9.0.3 :(
Может не так копаю??

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
- <definitions name="ResourceQueryService" targetNamespace="http://ws.gda.com/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://ws.gda.com/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.mtsys.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <types>
- <xs:schema targetNamespace="http://ws.gda.com/" version="1.0" xmlns:tns="http://ws.gda.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="QueryError" type="tns:QueryError" /> 
  <xs:element name="UnknownResource" type="tns:UnknownResource" /> 
  <xs:element name="get_extent_values" type="tns:get_extent_values" /> 
  <xs:element name="get_extent_valuesResponse" type="tns:get_extent_valuesResponse" /> 
  <xs:element name="get_related_values" type="tns:get_related_values" /> 
  <xs:element name="get_related_valuesResponse" type="tns:get_related_valuesResponse" /> 
  <xs:element name="get_values" type="tns:get_values" /> 
  <xs:element name="get_valuesResponse" type="tns:get_valuesResponse" /> 
...
...
Рейтинг: 0 / 0
Web-services
    #36487655
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... и еще одна версия wsdl

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
- <definitions name="ResourceQueryService" targetNamespace="http://ws.mtsys.com/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://ws.gda.com/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.mtsys.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <import location="http://10.10.10.10:8080/CIM_WS/ResourceQueryService?wsdl&resource=IResourceQueryService_PortType5360263783444851518.wsdl" namespace="http://ws.gda.com/" /> 
- <service name="ResourceQueryService">
- <port binding="ns1:IResourceQueryServiceBinding" name="ResourceQueryServicePort">
  <soap:address location="http://SOIKBORA-2:8080/CIM_WS/ResourceQueryService" /> 
  </port>
  </service>
  </definitions>
...
Рейтинг: 0 / 0
Web-services
    #36487671
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
могу пока только выложить мой самый маленький wsdl..для сравнения..нет времени смотреть сейчас...

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://convoperreg.ejb.reports.gamma.sbrf.ru" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ConvOperRegEjb" targetNamespace="http://convoperreg.ejb.reports.gamma.sbrf.ru">
<wsdl:types>
<xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://convoperreg.ejb.reports.gamma.sbrf.ru">
<xsd:complexType name="ConvOperRegArg">
<xsd:sequence>
<xsd:element name="dReport" nillable="true" type="xsd:dateTime"/>
<xsd:element name="userId" type="xsd:int"/>
<xsd:element name="packNumber" type="xsd:int"/>
<xsd:element name="operType" type="xsd:int"/>
<xsd:element name="printDoc" type="xsd:boolean"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="printResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="printReturn" type="xsd:base64Binary"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="print">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="request" nillable="true" type="tns:ConvOperRegArg"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="operationFault">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="faultMessage" type="xsd:string">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>

<wsdl:message name="printRequest">
<wsdl:part element="tns:print" name="parameters"/>
</wsdl:message>

<wsdl:message name="printResponse">
<wsdl:part element="tns:printResponse" name="parameters"/>
</wsdl:message>

<wsdl:message name="operationFaultMsg">
<wsdl:part element="tns:operationFault" name="parameters"/>
</wsdl:message>

<wsdl:portType name="ConvOperRegEjb">

<wsdl:operation name="print">

<wsdl:input message="tns:printRequest" name="printRequest"/>

<wsdl:output message="tns:printResponse" name="printResponse"/>

<wsdl:fault message="tns:operationFaultMsg" name="fault"/>
</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="ConvOperRegEjbSoapBinding" type="tns:ConvOperRegEjb">

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="print">
<soap:operation soapAction="http://convoperreg.ejb.reports.gamma.sbrf.ru/print"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="fault">
<soap:fault name="fault" use="literal"/>
</wsdl:fault>
</wsdl:operation>

</wsdl:binding>
<wsdl:service name="ConvOperRegEjb">
<wsdl:port binding="tns:ConvOperRegEjbSoapBinding" name="ConvOperRegEjb">
<soap:address location="http://localhost:21001/ReportsItecoRouter/services/ConvOperRegEjb"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
...
Рейтинг: 0 / 0
Web-services
    #36487801
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может-таки кто знает, в чем у меня не так?
...
Рейтинг: 0 / 0
Web-services
    #36488243
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как понять - не определяется?
...
Рейтинг: 0 / 0
Web-services
    #36488448
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишет при создании Web Service Proxy ошибку: The file 'D:\ResourceQueryService.wsdl' is not a valid WSDL file.'
...
Рейтинг: 0 / 0
Web-services
    #36488460
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файл 1, который пытался прикладывать, приаттачен
...
Рейтинг: 0 / 0
Web-services
    #36488465
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файл 2, который пытался использовать для создания прокси-объета
...
Рейтинг: 0 / 0
Web-services
    #36510754
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот из такого сгенерится прокси?
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Web-services
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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