<?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>Java, Programming, Struts2, jQuery, Linux and more &#187; rest-webservice</title>
	<atom:link href="http://www.jgeppert.com/tag/rest-webservice/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jgeppert.com</link>
	<description>Johannes Geppert</description>
	<lastBuildDate>Thu, 09 Feb 2012 16:38:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>PHP Client für REST WebService</title>
		<link>http://www.jgeppert.com/2009/05/php-client-rest-webservice/</link>
		<comments>http://www.jgeppert.com/2009/05/php-client-rest-webservice/#comments</comments>
		<pubDate>Wed, 13 May 2009 10:48:39 +0000</pubDate>
		<dc:creator>jogep</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[webservices]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[rest-webservice]]></category>
		<category><![CDATA[simplexml]]></category>
		<category><![CDATA[webservice]]></category>

		<guid isPermaLink="false">http://www.jgeppert.com/?p=223</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jgeppert.com/2009/05/php-client-rest-webservice/' addthis:title='PHP Client für REST WebService '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>In einem meiner letzten Artikel habe ich geschrieben wie man mit Java und Jersey einen REST WebSerice erstellt. Jetzt folgt noch ein kleines Tutorial wie man selbigen WebService mit PHP aufrufen kann. Um das Ergebnis des WebService verarbeiten zu können verwende ich SimpleXML mit dem das XML in ein Object umgewandelt wird. So können wir [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.jgeppert.com/2009/05/php-client-rest-webservice/' addthis:title='PHP Client für REST WebService ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jgeppert.com/2009/05/php-client-rest-webservice/' addthis:title='PHP Client für REST WebService '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>In einem meiner letzten <a href="http://www.jgeppert.com/2009/03/restful-web-services-jax-rs-mit-jersey/">Artikel</a> habe ich geschrieben wie man mit <a href="http://www.jgeppert.com/2009/03/restful-web-services-jax-rs-mit-jersey/">Java und Jersey einen REST WebSerice</a> erstellt. Jetzt folgt noch ein kleines Tutorial wie man selbigen WebService mit PHP aufrufen kann.

Um das Ergebnis des WebService verarbeiten zu können verwende ich <a href="http://de.php.net/manual/de/book.simplexml.php">SimpleXML</a> mit dem das XML in ein Object umgewandelt wird. So können wir einfach die Attribute auslesen und weiterverarbeiten.


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">		<span style="color: #000088;">$webservice</span> <span style="color: #339933;">=</span>  <span style="color: #0000ff;">'http://localhost:8080/wstest/services/calculator/calc?a=234&amp;b=456'</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// WebService aufrufen</span>
		<span style="color: #000088;">$xml</span> <span style="color: #339933;">=</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$webservice</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// HTTP Status auslesen</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$http_response_header</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
			<span style="color: #990000;">list</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$version</span><span style="color: #339933;">,</span><span style="color: #000088;">$status_code</span><span style="color: #339933;">,</span><span style="color: #000088;">$msg</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">,</span><span style="color: #000088;">$http_response_header</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// HTTP Status ueberpruefen</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$status_code</span> <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">200</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Ungueltiger Aufruf des Web Services.'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//SimpleXML Object erzeugen</span>
		<span style="color: #000088;">$simple_xml</span> <span style="color: #339933;">=</span> <span style="color: #990000;">simplexml_load_string</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
		<span style="color: #b1b100;">echo</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&lt;html&gt;&lt;body&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$simple_xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ergebnisse</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$erg</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">echo</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Das Ergebniss von '</span><span style="color: #339933;">.</span><span style="color: #000088;">$erg</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">formel</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' ist '</span><span style="color: #339933;">.</span><span style="color: #000088;">$erg</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ergebniss</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&lt;br /&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">echo</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&lt;/body&gt;&lt;/html&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>




<strong>Fazit</strong>:
Der Aufruf eines REST WebService ist mithilfe von SimpleXML eine einfache Sache die zeigt das WebServices mit PHP einfach aufzurufen und zu verarbeiten gehen.<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.jgeppert.com/2009/05/php-client-rest-webservice/' addthis:title='PHP Client für REST WebService ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.jgeppert.com/2009/05/php-client-rest-webservice/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

