Текущее время: Пт, мар 29 2024, 04:35

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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