Текущее время: Ср, апр 24 2024, 16:45

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Прокси клиент для веб-сервиса ЦБ РФ
СообщениеДобавлено: Ср, июн 16 2010, 09:40 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, окт 21 2008, 08:02
Сообщения: 71
Откуда: Moscow
Пол: Мужской
Здравствуйте.

Решил по аналогии вот с этим примером http://www.netweavercentral.com/?p=272 , который превосходно создается и работает, создать прокси клиента для веб-сервиса http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL. При этом при создании класса выдается ошибка:
Ложное значение:Неизвестная область имен http://www.w3.org/2001/XMLSchema. Причем в исходном примере эта схема присутствует тоже. Не смотря на то что в дебагере нашел место в котором исполнение кода различается - причину этому установить не удалось.. Может кто сталкивался?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокси клиент для веб-сервиса ЦБ РФ
СообщениеДобавлено: Ср, июн 16 2010, 12:42 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, ноя 12 2004, 10:44
Сообщения: 370
Откуда: Москва
ppeter написал:
Здравствуйте.

Решил по аналогии вот с этим примером http://www.netweavercentral.com/?p=272 , который превосходно создается и работает, создать прокси клиента для веб-сервиса http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL. При этом при создании класса выдается ошибка:
Ложное значение:Неизвестная область имен http://www.w3.org/2001/XMLSchema. Причем в исходном примере эта схема присутствует тоже. Не смотря на то что в дебагере нашел место в котором исполнение кода различается - причину этому установить не удалось.. Может кто сталкивался?

да, сталкивался. проблема в том, что в wsdl там функция описана так, что тип возвращаемого значения сапу неизвестен (NW04). правил wsdl руками.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокси клиент для веб-сервиса ЦБ РФ
СообщениеДобавлено: Ср, июн 16 2010, 12:54 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, окт 21 2008, 08:02
Сообщения: 71
Откуда: Moscow
Пол: Мужской
holocron, не могли бы вы указать, что конкретно исправляли, может пример какой выложить?
Спасибо заранее


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокси клиент для веб-сервиса ЦБ РФ  Тема решена
СообщениеДобавлено: Сб, июн 19 2010, 14:52 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, ноя 12 2004, 10:44
Сообщения: 370
Откуда: Москва
ну, вот тут мои изыскания на эту тему. давно это было.
http://narod.ru/disk/22031074000/kurs%20soap%20upload.rar.html


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокси клиент для веб-сервиса ЦБ РФ
СообщениеДобавлено: Пн, фев 21 2011, 18:27 
Начинающий
Начинающий

Зарегистрирован:
Вт, фев 16 2010, 12:05
Сообщения: 5
holocron написал(а):
ну, вот тут мои изыскания на эту тему. давно это было.
http://narod.ru/disk/22031074000/kurs%20soap%20upload.rar.html


Файл удален :(
Подскажите, пожалуйста, что там исправить нужно :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокси клиент для веб-сервиса ЦБ РФ
СообщениеДобавлено: Чт, мар 24 2011, 18:12 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, окт 21 2008, 08:02
Сообщения: 71
Откуда: Moscow
Пол: Мужской
Вот тут лежит моя версия файлика. Он создан только для метода получения курсов валют на дату.

http://narod.ru/disk/8322542001/DailyInfo.asmx.xml.html

Выкладываю сразу пример как я использую веб-сервис

Code:

*&---------------------------------------------------------------------*
*& Report  ZTEST_KURS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZTEST_KURS.

type-pools: abap,
            sai.

types: begin of ty_s_valute,
        VNAME type string,
        VNOM  type string,
        VCURS type string,
        VCODE type string,
        VCH_CODE type string,
       end of ty_S_valute,
       ty_T_valute type table of ty_s_valute.


data: go_cbr      type ref to ZTEST_CO_DAILY_INFO_SOAP,
      go_err_sys  type ref to CX_AI_SYSTEM_FAULT,
      go_err_appl type ref to CX_AI_APPLICATION_FAULT,
      go_err_xlst type ref to CX_TRANSFORMATION_ERROR,
      gd_message  type string,
      gs_input    type ZTEST_GET_CURS_ON_DATE_XMLSOA1,
      gs_output   type ZTEST_GET_CURS_ON_DATE_XMLSOAP,
      gd_tz       TYPE ttzz-tzone VALUE IS INITIAL,
      go_payload_protocol TYPE REF TO if_wsprotocol_payload,
      go_payload          type ref to IF_WS_PAYLOAD,
      gd_xml_bin type XSTRING,
      gt_valute  type ty_T_valute.

PARAMETERS: P_DATE type sy-datum,
            p_time type sy-uzeit.

initialization.

  p_date = sy-datum + 1.

start-of-selection.

  TRY.
    CREATE OBJECT go_cbr
      EXPORTING
        LOGICAL_PORT_NAME  = 'ZTEST_CO_DAILY_INFO_SOAP'.

    go_payload_protocol ?= go_cbr->get_protocol( if_wsprotocol=>payload ).

    go_payload_protocol->announce_payload_consumption( ).

    CONVERT DATE p_date TIME p_time INTO TIME STAMP gs_input-ON_DATE TIME ZONE gd_tz.

    CALL METHOD GO_CBR->GET_CURS_ON_DATE_XML
      EXPORTING
        INPUT  = gs_input
      importing
        output = gs_output.

    go_payload = GO_PAYLOAD_PROTOCOL->GET_SENT_RESPONSE_PAYLOAD( ).

    gd_xml_bin = GO_PAYLOAD->GET_XML_BINARY( ).

    CALL TRANSFORMATION ZTEST_CBRF_KURS_XML_TO_ABAP
      SOURCE XML gd_xml_bin
      RESULT IT_VALUTE = gt_valute.

    CATCH CX_AI_SYSTEM_FAULT into go_err_sys.
      message go_err_sys->errortext type 'E'.

    CATCH CX_AI_APPLICATION_FAULT into go_err_appl.
      gd_message = GO_ERR_APPL->IF_AI_APPLICATION_FAULT~GET_RT_FAULT_TEXT( ).
      message gd_message type 'E'.

    catch CX_TRANSFORMATION_ERROR into go_err_xlst.
      gd_message = go_err_xlst->get_text( ).
      message gd_message type 'E'.

  ENDTRY.



Для преобразования в ABAP использую XLST трансформацию:

Code:
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0" xmlns:n0="http://web.cbr.ru/">

  <xsl:strip-space elements="*"/>

  <xsl:template match="/">
    <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
      <asx:values>
        <IT_VALUTE>
          <xsl:apply-templates select="//n0:GetCursOnDateXMLResponse"/>
        </IT_VALUTE>
     </asx:values>
    </asx:abap>
  </xsl:template>

  <xsl:template match="//n0:GetCursOnDateXMLResponse">
    <xsl:apply-templates select="//n0:GetCursOnDateXMLResult"/>
  </xsl:template>

  <xsl:template match="//n0:GetCursOnDateXMLResult">
    <xsl:for-each select="ValuteData/ValuteCursOnDate">
     <item>
      <VNAME>     <xsl:value-of select="Vname"/>   </VNAME>
      <VNOM>      <xsl:value-of select="Vnom"/>    </VNOM>
      <VCURS>     <xsl:value-of select="Vcurs"/>   </VCURS>
      <VNAME>     <xsl:value-of select="Vname"/>   </VNAME>
      <VCODE>     <xsl:value-of select="Vcode"/>   </VCODE>
      <VCH_CODE>  <xsl:value-of select="VchCode"/> </VCH_CODE>
     </item>
    </xsl:for-each>
  </xsl:template>

</xsl:transform>



Будут вопросы - спрашивай. =)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокси клиент для веб-сервиса ЦБ РФ
СообщениеДобавлено: Пт, мар 25 2011, 11:26 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, окт 21 2008, 08:02
Сообщения: 71
Откуда: Moscow
Пол: Мужской
По поступившим просьбам в личку кратко опишу, как можно получить объекты:
Code:
data: go_cbr type ref to ZTEST_CO_DAILY_INFO_SOAP,
gs_input type ZTEST_GET_CURS_ON_DATE_XMLSOA1,
gs_output type ZTEST_GET_CURS_ON_DATE_XMLSOAP,


1) Запускаем транзакцию SE80
2) Жмем кнопочку "Обработать объект" (Shift+F5)
3) В средстве поиска идем на закладку "Сервисы предпряития"
4) Выбираем поле прокси клиент и вводим название ( ZTEST_CO_DAILY_INFO_SOAP )
5) Жмем кнопочку создать
6) В качестве источника выбираем локальный файл, жмем Далее
7) Указываем путь на файлик, скачанный отсюда http://narod.ru/disk/8322542001/DailyInfo.asmx.xml.html Жмем Далее
8) Указываем данные для переноса по желанию, жмем Далее
9) После этого запускается по выбранной нам XML-схеме генерация прокси клиента, а также классов и структур для него.
10) Сохраняем активируем.

Все - клиент веб-сервиса готов. Но нужен еще логический порт, чтобы можно было его использовать.

1) Идем в транзакцию LPCONFIG. Не обращаем внимание на сообщение об устаревшей транзакции. Кто найдет новую и расскажет, как ей пользоваться, тому приз! =)
2) Выбираем только что созданный нами ZTEST_CO_DAILY_INFO_SOAP, вводим имя порта. Я предпочитаю именовать их одинаково.
Итак, логический порт тоже ZTEST_CO_DAILY_INFO_SOAP
3) Жмем создать, вводим описание
4) на закладке параметры вызова выбираем URL и вводим http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL
5) На закладке операции для метода get_curs_on_date вводим "http://web.cbr.ru/GetCursOnDateXML" (с кавычками)
6) Ставим галочку порт по умолчанию и жмем сохранить!

Идем обратно в наш клиент прокси через se80 открываем на просмотр и жмем тест. После запуска теста на закладке orginal response получаем список валют на дату указанную в original request. Ну и соответственно программа работать тоже должна))

Скрины не прикладывал. Похожее описание можно найти вот тут:
http://www.sapdev.co.uk/sap-webapps/sap ... pproxy.htm

Будут еще вопросы у кого, пишите.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокси клиент для веб-сервиса ЦБ РФ
СообщениеДобавлено: Вт, мар 29 2011, 21:42 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 02 2009, 22:28
Сообщения: 228
Откуда: MOW
Пол: Мужской
ppeter написал:
1) Идем в транзакцию LPCONFIG. Не обращаем внимание на сообщение об устаревшей транзакции. Кто найдет новую и расскажет, как ей пользоваться, тому приз! =)


Попробую рассказать, но не за приз а просто так :)

1. В SE80 заходим в Сервисы предприятия -> Прокси Клиента -> <Наш_прокси_клиента>
2. Нажимаем кнопку "Start SOAMANAGER" (Ctrl+F10)
3. В браузере открывается транзакция SOAMANAGER, в ней автоматически уже должен отобразиться наш прокси-клиент в выборе, нажимаем Apply Selection (если сразу не получилось, нажимаем еще раз Start, потом снова Apply Selection, есть какой-то глюк у них)
4. Внизу в появившемся TabStrip-е переходим на закладку Configurations
5. Нажимаем Create Logical Port
6. В появившемся окне вводим имя и описание логического порта, Configuration Type оставляем WSDL Based Configuration, ниже все понятно - загружаем WSDL через URL или через файл и нажимаем Apply Settings

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


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Прокси клиент для веб-сервиса ЦБ РФ
СообщениеДобавлено: Вт, мар 29 2011, 22:41 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, окт 21 2008, 08:02
Сообщения: 71
Откуда: Moscow
Пол: Мужской
raaleksandr написал:
ppeter написал:
1) Идем в транзакцию LPCONFIG. Не обращаем внимание на сообщение об устаревшей транзакции. Кто найдет новую и расскажет, как ей пользоваться, тому приз! =)


Попробую рассказать, но не за приз а просто так :)

1. В SE80 заходим в Сервисы предприятия -> Прокси Клиента -> <Наш_прокси_клиента>
2. Нажимаем кнопку "Start SOAMANAGER" (Ctrl+F10)
3. В браузере открывается транзакция SOAMANAGER, в ней автоматически уже должен отобразиться наш прокси-клиент в выборе, нажимаем Apply Selection (если сразу не получилось, нажимаем еще раз Start, потом снова Apply Selection, есть какой-то глюк у них)
4. Внизу в появившемся TabStrip-е переходим на закладку Configurations
5. Нажимаем Create Logical Port
6. В появившемся окне вводим имя и описание логического порта, Configuration Type оставляем WSDL Based Configuration, ниже все понятно - загружаем WSDL через URL или через файл и нажимаем Apply Settings

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



:pivo: О круто!!!))) спасибо огромное - завтра попробую обязательно)))


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокси клиент для веб-сервиса ЦБ РФ
СообщениеДобавлено: Ср, мар 30 2011, 08:11 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Пн, сен 06 2004, 11:43
Сообщения: 1551
Пол: Мужской
ppeter написал:
Все - клиент веб-сервиса готов. Но нужен еще логический порт, чтобы можно было его использовать.

1) Идем в транзакцию LPCONFIG. Не обращаем внимание на сообщение об устаревшей транзакции. Кто найдет новую и расскажет, как ей пользоваться, тому приз! =)
хе-хе... А предупреждения и подробные тексты, конечно для тёти Маши написаны ?

_________________
Ex ipso fonte bibere
Цитата:
Abyssus abyssum invocat
Dies diem docet
Ducunt volentem fata, nolentem trahunt

Estote prudentes sicut serpentes


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокси клиент для веб-сервиса ЦБ РФ
СообщениеДобавлено: Пн, янв 16 2012, 18:29 
Начинающий
Начинающий

Зарегистрирован:
Чт, ноя 24 2011, 13:43
Сообщения: 5
Добрый день!

Испытываю почти те же проблемы. Только мне необходимо сделать прокси по следующему wsdl:http://www.cbr.ru/CreditInfoWebServ/CreditOrgInfo.asmx?WSDL

К сожалению, ссылки в теме побились.
Быть может у кого-нибудь что-то осталось?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Прокси клиент для веб-сервиса ЦБ РФ
СообщениеДобавлено: Пн, мар 30 2020, 15:30 
Специалист
Специалист

Зарегистрирован:
Вт, июн 10 2014, 09:41
Сообщения: 179
Оставлю ноту https://launchpad.support.sap.com/#/notes/2193032 здесь.
Там говорится, что нужно добавить запись в таблицу SPROXSET с NAME = 'NO_RPC_STYLE', VALUE = 'X', USERNAME = логин генерирующего proxy.
После этого прокси генерируется.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB