<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>goodguy о разработке &#187; стандарты</title>
	<atom:link href="http://dev.good-guy.me/archives/tag/standarty/feed" rel="self" type="application/rss+xml" />
	<link>http://dev.good-guy.me</link>
	<description>python, zope, php, sqlite, postgresql, mysql и прочее с чем сталкиваюсь</description>
	<lastBuildDate>Sun, 04 Dec 2011 17:17:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>OpenID</title>
		<link>http://dev.good-guy.me/archives/341</link>
		<comments>http://dev.good-guy.me/archives/341#comments</comments>
		<pubDate>Mon, 16 Mar 2009 06:50:29 +0000</pubDate>
		<dc:creator>goodguy</dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[стандарты]]></category>

		<guid isPermaLink="false">http://dev.goodguy.spb.ru/?p=341</guid>
		<description><![CDATA[<a href="http://dev.good-guy.me/archives/341" title="OpenID"></a>В стремлении сделать лучше хотя бы свой уголочек Сети, поставил в оба блога плагин к WordPress для подписи комментариев с помощью OpenID, а заодно он стал и моим OpenID-провайдером без всякого делегирования (хотя и такое тоже умеет).]]></description>
			<content:encoded><![CDATA[<a href="http://dev.good-guy.me/archives/341" title="OpenID"></a><p style="text-align: justify">В стремлении сделать лучше хотя бы свой уголочек Сети, поставил в оба блога плагин к WordPress для <a href="http://wordpress.org/extend/plugins/openid/">подписи комментариев с помощью OpenID</a>, а заодно он стал и моим OpenID-провайдером без всякого делегирования (хотя и такое тоже умеет).</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.good-guy.me/archives/341/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Внимательное отношение к стандартам</title>
		<link>http://dev.good-guy.me/archives/123</link>
		<comments>http://dev.good-guy.me/archives/123#comments</comments>
		<pubDate>Tue, 26 Aug 2008 13:32:30 +0000</pubDate>
		<dc:creator>goodguy</dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[SOAP]]></category>
		<category><![CDATA[стандарты]]></category>

		<guid isPermaLink="false">http://goodguy.spb.ru/?p=123</guid>
		<description><![CDATA[<a href="http://dev.good-guy.me/archives/123" title="Внимательное отношение к стандартам"></a>По ходу работы пришлось мне немного освоить perl, для того, чтобы помочь нашим партнёрам написать SOAP-клиента для нашей системы (уже забавно, помогать знающим язык, параллельно его изучая). Использовалась там более-менее стандартная библиотека SOAP::Lite. Но, когда я работал над клиентом у &#8230;<p class="read-more"><a href="http://dev.good-guy.me/archives/123">Читать далее &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://dev.good-guy.me/archives/123" title="Внимательное отношение к стандартам"></a><p style="text-align: justify">По ходу работы пришлось мне немного освоить <a href="http://perl.com/">perl</a>, для того, чтобы помочь нашим партнёрам написать <a href="http://www.w3.org/TR/2000/NOTE-SOAP-20000508/">SOAP</a>-клиента для нашей системы (уже забавно, помогать знающим язык, параллельно его изучая). Использовалась там более-менее стандартная библиотека <a href="http://soaplite.com/">SOAP::Lite</a>. Но, когда я работал над клиентом у меня стояла её довольно ранняя версия, под которой я успешно отладил пример, и отдал его для дальнейшей эксплуатации. Проблема всплыла позже, когда партнёры стали заводить систему у себя. И обнаружили, что сообщения об ошибке возвращаются от них не в совсем том виде, в котором ожидает наша система, а именно подробности об ошибке в <tt>detail</tt> были как-то странно закодированы. Для наших компонент эта часть сообщения была весьма критичной и начали разбираться. Сначала выкопал, что ребята вообще не запарились включить поддержку юникода в своём скрипте, а потом стало ясно, что версии библиотек у нас не совпадают. Обновил свою и радостно увидел ту-же самую муть, что приходила от них. В поисках решения перекопал кучу страниц, и в одном документе увидел интересный момент в описании <a href="http://search.cpan.org/~mkutter/SOAP-Lite/lib/SOAP/Fault.pod"><tt>SOAP::Fault</tt></a>:</p>
<blockquote><p>Note that fault detail content in a message is represented as tag blocks.</p></blockquote>
<p style="text-align: justify">Что привело меня на волшебный документ &#8212; <a href="http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383507">спецификацию</a>, в которой подразумевается, что в <tt>detail</tt> должны быть дочерние элементы:</p>
<blockquote><p>All immediate child elements of the detail element are called detail entries and each detail entry is encoded as an independent element within the detail element.</p></blockquote>
<p style="text-align: justify">Авторы библиотеки явно строго последовали этому принципу и не оставили лазейки для передачи там обычной строки. Система, не рассчитанная на такую возможность, оказалась без возможности взаимодействовать по стандартам и требует доработки. Отсюда вывод: даже если инструментарий позволяет немножко нарушать стандарты, это не повод о них забывать &#8212; они могут аукнуться совсем неожиданно.</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.good-guy.me/archives/123/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

