SAPфорум.RU https://sapboard.ru/forum/ |
|
Интерфейс с сайтом ЦБ РФ по закачке курсов валют https://sapboard.ru/forum/viewtopic.php?f=70&t=85355 |
Страница 3 из 3 |
Автор: | rabbit [ Пт, дек 26 2014, 15:16 ] |
Заголовок сообщения: | Re: Интерфейс с сайтом ЦБ РФ по закачке курсов валют |
И запулите Response, который я выложил в ваш Response мэппинг - может быть ответ к вам приходит, да вы с ним сделать ничего не можете. |
Автор: | SGPI [ Вт, янв 13 2015, 11:18 ] |
Заголовок сообщения: | Re: Интерфейс с сайтом ЦБ РФ по закачке курсов валют |
rabbit написал(а): И запулите Response, который я выложил в ваш Response мэппинг - может быть ответ к вам приходит, да вы с ним сделать ничего не можете. Не проходит, и всё из-за атрибута xmlns у ValuteDate...Поэтому я немного подправил wsdl и получил такую структуру для Response сообщения -> Результат Request мэппинга Результат Response мэппинга если запулить ваше сообщение Если удалить из кода атрибут xmlns то всё становится гуд |
Автор: | rabbit [ Ср, янв 28 2015, 17:58 ] |
Заголовок сообщения: | Re: Интерфейс с сайтом ЦБ РФ по закачке курсов валют |
Как вариант: перед вашим мэппингом вставить xslt - мэппинг, который убирает Namespace. Code: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/> <xsl:template match="*"> <xsl:element name="{local-name()}"> <xsl:for-each select="@*"> <xsl:attribute name="{local-name()}"> <xsl:value-of select="."/> </xsl:attribute> </xsl:for-each> <xsl:apply-templates/> </xsl:element> </xsl:template> </xsl:stylesheet> |
Автор: | SGPI [ Вт, май 19 2015, 11:59 ] |
Заголовок сообщения: | Re: Интерфейс с сайтом ЦБ РФ по закачке курсов валют |
Коллеги, вопрос решился ещё в январе, но забыл написать. Ключом к решению проблемы стал xsl мэппинг в response части: Code: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ValuteData"> <ns1:MT_CurrencyRatesERP_resp xmlns:ns1="NAMESPACE"> <CursOnDateXMLResult> <ValuteData> <xsl:copy-of select="@OnDate"/> </ValuteData> <xsl:for-each select="//ValuteCursOnDate"> <ValuteCursOnDate> <Vname><xsl:value-of select="Vname"/></Vname> <Vnom><xsl:value-of select="Vnom"/></Vnom> <Vcurs><xsl:value-of select="Vcurs"/></Vcurs> <Vcode><xsl:value-of select="Vcode"/></Vcode> <VchCode><xsl:value-of select="VchCode"/></VchCode> </ValuteCursOnDate> </xsl:for-each> </CursOnDateXMLResult> </ns1:MT_CurrencyRatesERP_resp> </xsl:template> </xsl:stylesheet> Спасибо всем, кто участвовал в обсуждении и помогал |
Страница 3 из 3 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |