<?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>bitExpert Blog</title>
	<atom:link href="http://blog.bitexpert.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.bitexpert.de</link>
	<description>endlich bloggen auch die bits...</description>
	<lastBuildDate>Wed, 16 Jun 2010 20:12:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SOAP, SSL und Clientzertifikate</title>
		<link>http://blog.bitexpert.de/2010/06/16/soap-ssl-und-clientzertifikate/</link>
		<comments>http://blog.bitexpert.de/2010/06/16/soap-ssl-und-clientzertifikate/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 20:12:30 +0000</pubDate>
		<dc:creator>Stephan Hochdoerfer</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.bitexpert.de/?p=220</guid>
		<description><![CDATA[Im Projektgesch&#228;ft kommt es immer mal wieder vor dass man mit sehr speziellen Anforderungen umgehen muss. In einem aktuellen Projekt bestand der Endkunde darauf dass die SOAP Kommunikation via SSL mit entsprechendem Client-Zertifikat abzulaufen hat. Klingt kompliziert, ist es leider auch.
Das folgende Snippet zeigt wie man den SOAP Client richtig instanziiert:
$sWebservice = "https://127.0.0.1:443/Portal/AD_Webservice.svc";
$sCertFile   [...]]]></description>
			<content:encoded><![CDATA[<p>Im Projektgesch&#228;ft kommt es immer mal wieder vor dass man mit sehr speziellen Anforderungen umgehen muss. In einem aktuellen Projekt bestand der Endkunde darauf dass die SOAP Kommunikation via SSL mit entsprechendem Client-Zertifikat abzulaufen hat. Klingt kompliziert, ist es leider auch.<span id="more-220"></span></p>
<p>Das folgende Snippet zeigt wie man den SOAP Client richtig instanziiert:</p>
<pre>$sWebservice = "https://127.0.0.1:443/Portal/AD_Webservice.svc";
$sCertFile   = dirname(__FILE__).'/islocal.pem';
$sPassphrase = "CustomPassphrase";

try
{
	$oClient = new SoapClient(
		$sWebservice.'?wsdl',
		array(
			'location'   =&gt; $sWebservice,
			'local_cert' =&gt; $sCertFile,
			'passphrase' =&gt; $sPassphrase,
			'exceptions' =&gt; 1,
			'trace' =&gt; true
		)
	);
}
catch(Exception $oException)
{
  // error handling
}</pre>
<p>Wichtige Hinweise:</p>
<ul>
<li>Es ist essentiell in der Url trotz des https Protokolls den SSL Port anzugeben</li>
<li>Sollte man vom Kunden mehrere Dateien (Zertifikat und Key getrennt) so m&#252;ssen diese concateniert werden &#8211; erst der Key, dann das Zertifikat</li>
<li>Immer mit der neusten PHP Version testen, bei &#228;lteren PHP Versionen ist die Funktionsf&#228;higkeit u.U. nicht gegeben</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.bitexpert.de/2010/06/16/soap-ssl-und-clientzertifikate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DPC 2010 Slides</title>
		<link>http://blog.bitexpert.de/2010/06/14/dpc-2010-slides/</link>
		<comments>http://blog.bitexpert.de/2010/06/14/dpc-2010-slides/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 20:54:14 +0000</pubDate>
		<dc:creator>Stephan Hochdoerfer</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://blog.bitexpert.de/?p=216</guid>
		<description><![CDATA[Die Slides der Vortr&#228;ge zu Real World Dependency Injection und Testing untestable code die auf der Dutch PHP Conference 2010 pr&#228;sentiert wurden finden sich ab heute auf slideshare.net. Bewertungen der Vortr&#228;ge k&#246;nnen auf joind.in abgegeben werden.
]]></description>
			<content:encoded><![CDATA[<p>Die Slides der Vortr&#228;ge zu <a title="Real World Dependency Injection" href="http://www.slideshare.net/shochdoerfer/dpc10-real-world-dependency-injection" target="_blank">Real World Dependency Injection</a> und <a title="Testing untestable code" href="http://www.slideshare.net/shochdoerfer/dpc10-testing-untestable-code" target="_blank">Testing untestable code</a> die auf der <a title="Dutch PHP Conference 2010" href="http://www.phpconference.nl" target="_blank">Dutch PHP Conference 2010</a> pr&#228;sentiert wurden finden sich ab heute auf <a title="slideshare.net" href="http://www.slideshare.net" target="_blank">slideshare.net</a>. Bewertungen der Vortr&#228;ge k&#246;nnen auf <a title="joind.in" href="http://joind.in/event/view/142" target="_blank">joind.in</a> abgegeben werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bitexpert.de/2010/06/14/dpc-2010-slides/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DPC 2010</title>
		<link>http://blog.bitexpert.de/2010/06/08/dpc-2010/</link>
		<comments>http://blog.bitexpert.de/2010/06/08/dpc-2010/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 07:39:12 +0000</pubDate>
		<dc:creator>Stephan Hochdoerfer</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.bitexpert.de/?p=213</guid>
		<description><![CDATA[In wenigen Tagen werde ich auf der DPC 2010 in Amsterdam mit Vortr&#228;gen zu Real World Dependency Injection und Testing untestable code vertreten sein.
]]></description>
			<content:encoded><![CDATA[<p>In wenigen Tagen werde ich auf der <a title="DPC 2010" href="http://phpconference.nl/" target="_blank">DPC 2010</a> in Amsterdam mit Vortr&#228;gen zu <a title="Real World Dependency Injection" href="http://joind.in/talk/view/1553" target="_blank">Real World Dependency Injection</a> und <a title="Testing untestable code" href="http://joind.in/talk/view/1545" target="_blank">Testing untestable code</a> vertreten sein.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bitexpert.de/2010/06/08/dpc-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
