<?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>Matsiya &#187; soap — Matsiya</title>
	<atom:link href="http://www.matsiya.fr/blog/tag/soap/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.matsiya.fr/blog</link>
	<description>Développement Flex - Air - Java - RIA - Mashups Flex</description>
	<lastBuildDate>Fri, 04 Nov 2011 11:48:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Exposer ses services avec BlazeDS et Axis2 grâce à Spring</title>
		<link>http://www.matsiya.fr/blog/2009/03/21/exposer-ses-services-avec-blazeds-et-axis2-grace-a-spring-2/</link>
		<comments>http://www.matsiya.fr/blog/2009/03/21/exposer-ses-services-avec-blazeds-et-axis2-grace-a-spring-2/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 08:04:09 +0000</pubDate>
		<dc:creator>arnaud</dc:creator>
				<category><![CDATA[Blaze DS]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[application flex]]></category>
		<category><![CDATA[blazeDS]]></category>
		<category><![CDATA[ria]]></category>
		<category><![CDATA[soap]]></category>
<category>application flex</category><category>blazeDS</category><category>flex</category><category>ria</category><category>soap</category>
		<guid isPermaLink="false">http://www.matsiya.fr/blog/2009/03/21/exposer-ses-services-avec-blazeds-et-axis2-grace-a-spring-2/</guid>
		<description><![CDATA[Si l&#8217;intérêt d&#8217;utiliser BlazeDS pour faire communiquer une application Flex avec des services distants n&#8217;est plus à prouver, il en résulte souvent un manque d&#8217;interopérabilité des services.
Dans le cas d&#8217;une application qui pourrait avoir des interfaces multiples (web, ajax, swing etc &#8230;) il est alors préférable d&#8217;utiliser des services de type SOAP ou REST. On [...]


Aucun d'article en relation]]></description>
			<content:encoded><![CDATA[<DIV ID='zaspPost-204'><p>Si l&#8217;intérêt d&#8217;utiliser BlazeDS pour faire communiquer une application Flex avec des services distants n&#8217;est plus à prouver, il en résulte souvent un manque d&#8217;interopérabilité des services.</p>
<p>Dans le cas d&#8217;une application qui pourrait avoir des interfaces multiples (web, ajax, swing etc &#8230;) il est alors préférable d&#8217;utiliser des services de type SOAP ou REST. On peut par exemple imaginer une application Air et une application pour iPhone développée en Cocoa qui accèdent au même applicatif serveur et qui partagent la même session hibernate. Une solution simple serait alors de dupliquer les classes de services, mais cela engendrera par exemple la duplication de la connexion à la base de donnée. L&#8217;utilisation de Spring peut alors grandement nous faciliter la tâche, en effet il est possible de partager un contexte entre servlet et donc de n&#8217;accéder qu&#8217;à une seule instance que ce soit par Axis2 ou BlazeDS.<br />
<span id="more-204"></span><br />
<strong>1) Création du projet</strong></p>
<p>Nous n&#8217;utiliserons ici qu&#8217;un seul et même projet, pour ceux qui connaissent Spring cette partie ne devrait pas poser de problème :<img src="http://www.matsiya.fr/blog/wp-content/uploads/Picture_2.png" alt="Picture_2.png" title="Picture_2.png" border="0" height="357" width="257" /></p>
<p><strong>DaoFactory :</strong></p>
<p>Ici on récupère le context parent avec parentContextRef.<span style="color: #359acf">getFactory</span>()</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="color: #f30fa7">public</span> <span style="color: #f30fa7">class</span> DaoFactory {</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; min-height: 16px"><span style="white-space: pre" class="Apple-tab-span">	</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; color: #5fb3c9"><span style="color: #000000"></span><span style="white-space: pre" class="Apple-tab-span">	</span><span style="color: #f30fa7">private</span><span style="color: #000000"> </span><span style="color: #f30fa7">static</span><span style="color: #000000"> </span>ApplicationContext<span style="color: #000000"> </span><span style="color: #9bb8df">appctx</span><span style="color: #000000">= </span><span style="color: #f30fa7">null</span><span style="color: #000000">;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; min-height: 16px"><span style="white-space: pre" class="Apple-tab-span">	</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; min-height: 16px"><span style="white-space: pre" class="Apple-tab-span">	</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; color: #f30fa7"><span style="color: #000000"></span><span style="white-space: pre" class="Apple-tab-span">	</span>static<span style="color: #000000"> {</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; min-height: 16px"><span style="white-space: pre" class="Apple-tab-span">		</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">		</span><span style="color: #f30fa7">try</span> {</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; min-height: 16px"><span style="white-space: pre" class="Apple-tab-span">			</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">			</span>String locatorFactorySelector = <span style="color: #dd1616">&laquo;&nbsp;serviceContext.xml&nbsp;&raquo;</span>;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">			</span>String parentContextKey = <span style="color: #dd1616">&laquo;&nbsp;serviceContext&nbsp;&raquo;</span>;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">			</span><span style="color: #5fb3c9">BeanFactoryLocator</span> locator = ContextSingletonBeanFactoryLocator.getInstance(locatorFactorySelector);</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">			</span><span style="color: #5fb3c9">BeanFactoryReference</span> parentContextRef = locator.<span style="color: #359acf">useBeanFactory</span>(parentContextKey);</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">			</span><span style="color: #9bb8df">appctx</span> = (<span style="color: #5fb3c9">ApplicationContext</span>) parentContextRef.<span style="color: #359acf">getFactory</span>();</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; min-height: 16px"><span style="white-space: pre" class="Apple-tab-span">			</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">		</span>} <span style="color: #f30fa7">catch</span> (Exception e) {</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; min-height: 16px"><span style="white-space: pre" class="Apple-tab-span">			</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; color: #359acf"><span style="color: #000000"></span><span style="white-space: pre" class="Apple-tab-span">			</span>e.printStackTrace<span style="color: #000000">();</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; min-height: 16px"><span style="white-space: pre" class="Apple-tab-span">			</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">		</span>}</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">	</span>}</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; min-height: 16px"><span style="white-space: pre" class="Apple-tab-span">	</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; min-height: 16px"><span style="white-space: pre" class="Apple-tab-span">	</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">	</span><span style="color: #f30fa7">public</span>  Object <span style="color: #32a5ce">getBean</span>(String name){</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; min-height: 16px"><span style="white-space: pre" class="Apple-tab-span">		</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">		</span><span style="color: #ed24a7">return</span> <span style="color: #9bb8df">appctx</span>.<span style="color: #359acf">getBean</span>(name);</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">	</span>}</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; min-height: 16px">&nbsp;</p>
<p><span style="font-family: Monaco; font-size: 12px; line-height: normal" class="Apple-style-span">}</span></p>
<p><span style="font-family: Monaco; font-size: 12px; line-height: normal" class="Apple-style-span"></span><strong>AppFactory :</strong></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="color: #f30fa7">public</span> <span style="color: #f30fa7">class</span> AppFactory {</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; min-height: 16px"><span style="white-space: pre" class="Apple-tab-span">	</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">	</span><span style="color: #f30fa7">private</span> <span style="color: #f30fa7">static</span> DaoFactory <span style="color: #9bb8df">dao</span>;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; min-height: 16px"><span style="white-space: pre" class="Apple-tab-span">	</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">	</span><span style="color: #f30fa7">public</span> <span style="color: #f30fa7">static</span> DaoFactory <span style="color: #32a5ce">getDao</span>()</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">	</span>{</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">		</span><span style="color: #f30fa7">if</span> (<span style="color: #9bb8df">dao</span> == <span style="color: #f30fa7">null</span>)</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">			</span><span style="color: #9bb8df">dao</span> = <span style="color: #f30fa7">new</span> <span style="color: #359acf">DaoFactory</span>();</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; min-height: 16px"><span style="white-space: pre" class="Apple-tab-span">		</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; color: #ed24a7"><span style="color: #000000"></span><span style="white-space: pre" class="Apple-tab-span">		</span>return<span style="color: #000000"> </span><span style="color: #9bb8df">dao</span><span style="color: #000000">;</span><span style="white-space: pre" class="Apple-tab-span">	</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal"><span style="white-space: pre" class="Apple-tab-span">	</span>}</p>
<p><span style="font-family: Monaco; font-size: 12px; line-height: normal" class="Apple-style-span">}</span></p>
<p><strong>2) Web.xml</strong></p>
<p>Il va maintenant être nécessaire d&#8217;ajouter quelques lignes dans les fichiers web.xml de BlazeDS et d&#8217;Axis2 :<span style="white-space: pre" class="Apple-tab-span">	</span></p>
<p><span style="white-space: pre" class="Apple-tab-span"></span><span style="white-space: pre" class="Apple-tab-span"></span>&lt;listener&gt;&lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;&lt;/listener&gt;&lt;context-param&gt;&lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;&lt;param-value&gt; &lt;/param-value&gt;&lt;/context-param&gt;&lt;context-param&gt;&lt;param-name&gt;locatorFactorySelector&lt;/param-name&gt;&lt;param-value&gt;classpath:serviceContext.xml&lt;/param-value&gt;&lt;/context-param&gt;&lt;context-param&gt;&lt;param-name&gt;parentContextKey&lt;/param-name&gt;&lt;param-value&gt;serviceContext&lt;/param-value&gt;&lt;/context-param&gt;</p>
<p>On assigne la valeur serviceContext à parentContextKey que l&#8217;on va définir dans notre fichier serviceContext.xml. C&#8217;est ici que Spring va récupérer le context d&#8217;exécution en cours. Si le context parent n&#8217;existe pas il sera alors automatiquement créé.</p>
<p><strong>3) applicationContext.xml et serviceContext.xml</strong></p>
<p>Pour ceux qui connaissent Spring , déclarez votre applicationContext.xml comme à l&#8217;habitude. Pour les autres IDE, de bons tutoriels sont disponibles sur le net.Le fichier serviceContext.xml sera défini de la manière suivante :</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal" align="left">&lt;beans&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal" align="left"> <span style="white-space: pre" class="Apple-tab-span"></span>&lt;bean id=&nbsp;&raquo;serviceContext&nbsp;&raquo; class=&nbsp;&raquo;<span style="text-decoration: underline">org</span>.<span style="text-decoration: underline">springframework</span>.context.support.ClassPathXmlApplicationContext&nbsp;&raquo;&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal" align="left"> <span style="white-space: pre" class="Apple-tab-span"></span>&lt;constructor-<span style="text-decoration: underline">arg</span>&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal" align="left"><span style="white-space: pre" class="Apple-tab-span"></span>&lt;list&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal" align="left"><span style="white-space: pre" class="Apple-tab-span"></span>&lt;value&gt;applicationContext.<span style="text-decoration: underline">xml</span>&lt;/value&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal" align="left"><span style="white-space: pre" class="Apple-tab-span"></span>&lt;/list&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal" align="left"> <span style="white-space: pre" class="Apple-tab-span"></span>&lt;/constructor-<span style="text-decoration: underline">arg</span>&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal" align="left"> <span style="white-space: pre" class="Apple-tab-span"></span>&lt;/bean&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal" align="left">&lt;/beans&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal" align="left">&nbsp;</p>
<p><strong>4) Déploiement</strong></p>
<p>Grâce à Ant nous allons pouvoir déployer tout l&#8217;ensemble assez facilement. Les services Axis ne contiendront que les class Axis2Service, DAOFactory, AppFactory et le fichier serviceContext.xml qui se trouvera dans le classpath d&#8217;Axis2. Pour BlazeDS nous procédons de la même manière , seul les class de BlazeDSService, DAOFactory, AppFactory et le fichier serviceContext.xml sont déployés dans les répertoires WEB-INF/classes. Les beans seront quand à eux mis dans un .jar qu&#8217;on placera dans le répertoire lib de Tomcat. De cette manière BlazeDS et Axis2 y auront accès de la même manière. On pourrait très bien disposer ce .jar ailleurs dans l&#8217;arborescence, cela serait surement plus propre mais nécessite un peu plus de configuration et ce n&#8217;est pas l&#8217;objet de cet article.Un fichier build.xml vaut mieux qu&#8217;un long discours ! En voici un que j&#8217;ai fait juste pour cet article, il devrait permettre à ceux qui connaissent un peu, de comprendre à quoi va ressembler le tout une fois déployé.<span class="Apple-style-span" style="color: #008000; font-family: Monaco; font-size: 11px; line-height: normal"></span><span style="color: #000080"></span></p>
<p><span style="color: #000080">&lt;project</span><span style="color: #000000"> </span><span style="color: #000080">name=</span>&laquo;&nbsp;BlazeDSAxis2&#8243;<span style="color: #000000"> </span><span style="color: #000080">basedir=</span>&laquo;&nbsp;.&nbsp;&raquo;<span style="color: #000000"> </span><span style="color: #000080">default=</span>&laquo;&nbsp;generate.service&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000"></span>&lt;property<span style="color: #000000"> </span>environment=<span style="color: #008000">&laquo;&nbsp;env&nbsp;&raquo;</span>/&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px"><span class="Apple-tab-span" style="white-space: pre">	</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000080">&lt;property</span><span style="color: #000000"> </span><span style="color: #000080">name=</span>&laquo;&nbsp;TOMCAT_HOME&nbsp;&raquo;<span style="color: #000000"> </span><span style="color: #000080">value=</span>&laquo;&nbsp;/Users/home/j2ee/apache-tomcat-6.0.18&#8243;<span style="color: #000080">/&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000"></span><span style="color: #000080">&lt;property</span><span style="color: #000000"> </span><span style="color: #000080">name=</span>&laquo;&nbsp;AXIS2_HOME&nbsp;&raquo;<span style="color: #000000"> </span><span style="color: #000080">value=</span>&laquo;&nbsp;/Users/home/j2ee/apache-tomcat-6.0.18/webapps/axis2/WEB-INF&nbsp;&raquo;<span style="color: #000080">/&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000"></span><span style="color: #000080">&lt;property</span><span style="color: #000000"> </span><span style="color: #000080">name=</span>&laquo;&nbsp;BLAZEDS_HOME&nbsp;&raquo;<span style="color: #000000"> </span><span style="color: #000080">value=</span>&laquo;&nbsp;/Users/home/j2ee/apache-tomcat-6.0.18/webapps/blazeds/WEB-INF&nbsp;&raquo;<span style="color: #000080">/&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px"><span class="Apple-tab-span" style="white-space: pre">	</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span class="Apple-tab-span" style="white-space: pre"></span>&lt;property<span style="color: #000000"> </span>name=<span style="color: #008000">&laquo;&nbsp;build.dir&nbsp;&raquo;</span><span style="color: #000000"> </span>value=<span style="color: #008000">&laquo;&nbsp;build&nbsp;&raquo;</span>/&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">    </span><span style="color: #000080">&lt;path</span><span style="color: #000000"> </span><span style="color: #000080">id=</span>&laquo;&nbsp;tomcat.classpath&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">        </span><span style="color: #000080">&lt;fileset</span><span style="color: #000000"> </span><span style="color: #000080">dir=</span>&laquo;&nbsp;${AXIS2_HOME}/lib&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">            </span>&lt;include<span style="color: #000000"> </span>name=<span style="color: #008000">&laquo;&nbsp;*.jar&nbsp;&raquo;</span>/&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">        </span>&lt;/fileset&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">        </span><span style="color: #000080">&lt;fileset</span><span style="color: #000000"> </span><span style="color: #000080">dir=</span>&laquo;&nbsp;${TOMCAT_HOME}/lib&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">            </span>&lt;include<span style="color: #000000"> </span>name=<span style="color: #008000">&laquo;&nbsp;*.jar&nbsp;&raquo;</span>/&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">        </span>&lt;/fileset&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">	</span><span style="color: #000080">&lt;fileset</span><span style="color: #000000"> </span><span style="color: #000080">dir=</span>&laquo;&nbsp;${BLAZEDS_HOME}/lib&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">            </span>&lt;include<span style="color: #000000"> </span>name=<span style="color: #008000">&laquo;&nbsp;*.jar&nbsp;&raquo;</span>/&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">        </span>&lt;/fileset&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">    </span>&lt;/path&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">    </span><span style="color: #000080">&lt;target</span><span style="color: #000000"> </span><span style="color: #000080">name=</span>&laquo;&nbsp;compile.service&nbsp;&raquo;<span style="color: #000000"> </span><span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">        </span><span style="color: #000080">&lt;mkdir</span><span style="color: #000000"> </span><span style="color: #000080">dir=</span>&laquo;&nbsp;${build.dir}&nbsp;&raquo;<span style="color: #000080">/&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">        </span><span style="color: #000080">&lt;mkdir</span><span style="color: #000000"> </span><span style="color: #000080">dir=</span>&laquo;&nbsp;${build.dir}/classes&nbsp;&raquo;<span style="color: #000080">/&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #800000"><span style="color: #000000">        </span>&lt;!&#8211;First let&#8217;s compile the classes&#8211;&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">        </span>&lt;javac<span style="color: #000000"> </span>debug=<span style="color: #008000">&laquo;&nbsp;on&nbsp;&raquo;</span><span style="color: #000000"> </span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal">               <span style="color: #000080">fork=</span><span style="color: #008000">&laquo;&nbsp;true&nbsp;&raquo;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">               </span><span style="color: #000080">destdir=</span>&laquo;&nbsp;${build.dir}/classes&nbsp;&raquo;<span style="color: #000000"> </span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">               </span><span style="color: #000080">srcdir=</span>&laquo;&nbsp;${basedir}/src&nbsp;&raquo;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">               </span><span style="color: #000080">classpathref=</span>&laquo;&nbsp;tomcat.classpath&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal">        <span style="color: #000080">&lt;/javac&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">    </span>&lt;/target&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px"><span class="Apple-tab-span" style="white-space: pre">	</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000"></span><span class="Apple-tab-span" style="white-space: pre">	</span>&lt;target<span style="color: #000000"> </span>name=<span style="color: #008000">&laquo;&nbsp;clean&nbsp;&raquo;</span>&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000"></span><span class="Apple-tab-span" style="white-space: pre">	</span>     <span style="color: #000080">&lt;delete</span><span style="color: #000000"> </span><span style="color: #000080">dir=</span>&laquo;&nbsp;${build.dir}&nbsp;&raquo;<span style="color: #000080">/&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000"></span><span class="Apple-tab-span" style="white-space: pre">	</span>&lt;/target&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px"><span class="Apple-style-span" style="color: #800000"></span><span class="Apple-tab-span" style="white-space: pre">	</span>&lt;!&#8211; generate WSDL &#8211;&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000"></span><span class="Apple-tab-span" style="white-space: pre">	</span><span style="color: #000080">&lt;target</span><span style="color: #000000"> </span><span style="color: #000080">name=</span>&laquo;&nbsp;generate.wsdl&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">        </span>&lt;taskdef<span style="color: #000000"> </span>name=<span style="color: #008000">&laquo;&nbsp;java2wsdl&nbsp;&raquo;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">                 </span><span style="color: #000080">classname=</span>&laquo;&nbsp;org.apache.ws.java2wsdl.Java2WSDLTask&nbsp;&raquo;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">                 </span><span style="color: #000080">classpathref=</span>&laquo;&nbsp;tomcat.classpath&nbsp;&raquo;<span style="color: #000080">/&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">        </span><span style="color: #000080">&lt;java2wsdl</span><span style="color: #000000"> </span><span style="color: #000080">className=</span>&laquo;&nbsp;services.Axis2Service&nbsp;&raquo;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal">                   <span style="color: #000080">outputLocation=</span><span style="color: #008000">&laquo;&nbsp;${build.dir}&nbsp;&raquo;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">                   </span><span style="color: #000080">targetNamespace=</span>&laquo;&nbsp;http://www.matisya.eu&nbsp;&raquo;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">                   </span><span style="color: #000080">schemaTargetNamespace=</span>&laquo;&nbsp;http://www.matsiya.eu/xsd&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal">            <span style="color: #000080">&lt;classpath&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">                </span><span style="color: #000080">&lt;pathelement</span><span style="color: #000000"> </span><span style="color: #000080">path=</span>&laquo;&nbsp;${tomcat.classpath}&nbsp;&raquo;<span style="color: #000080">/&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">                </span>&lt;pathelement<span style="color: #000000"> </span>location=<span style="color: #008000">&laquo;&nbsp;${build.dir}/classes&nbsp;&raquo;</span>/&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">            </span><span class="Apple-tab-span" style="white-space: pre">	</span><span style="color: #000080">&lt;pathelement</span><span style="color: #000000"> </span><span style="color: #000080">location=</span>&laquo;&nbsp;${basedir}/ressources/META-INF/services.xml&nbsp;&raquo;<span style="color: #000080">/&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal">            <span style="color: #000080">&lt;/classpath&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">        </span>&lt;/java2wsdl&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">    </span>&lt;/target&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">    </span><span style="color: #000080">&lt;target</span><span style="color: #000000"> </span><span style="color: #000080">name=</span>&laquo;&nbsp;generate.service&nbsp;&raquo;<span style="color: #000000"> </span><span style="color: #000080">depends=</span>&laquo;&nbsp;clean, compile.service, generate.wsdl&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px">    <span class="Apple-tab-span" style="white-space: pre">	</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">        </span><span style="color: #000080">&lt;copy</span><span style="color: #000000"> </span><span style="color: #000080">toDir=</span>&laquo;&nbsp;${build.dir}/classes&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">            </span><span style="color: #000080">&lt;fileset</span><span style="color: #000000"> </span><span style="color: #000080">dir=</span>&laquo;&nbsp;${basedir}/resources/META-INF&nbsp;&raquo;<span style="color: #000080">/&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal">        <span style="color: #000080">&lt;/copy&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px"><span class="Apple-tab-span" style="white-space: pre">	</span><span class="Apple-style-span" style="color: #800000">&lt;!&#8211; jar beans &#8211;&gt;</span><span class="Apple-style-span" style="color: #000000"> </span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">        </span><span style="color: #000080">&lt;jar</span><span style="color: #000000"> </span><span style="color: #000080">destfile=</span>&laquo;&nbsp;${TOMCAT_HOME}/lib/MyApp.jar&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">        </span><span class="Apple-tab-span" style="white-space: pre">	</span> <span style="color: #000080">&lt;fileset</span><span style="color: #000000"> </span><span style="color: #000080">dir=</span>&laquo;&nbsp;${build.dir}/classes&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">        </span><span class="Apple-tab-span" style="white-space: pre">	</span> <span class="Apple-tab-span" style="white-space: pre">	</span>&lt;exclude<span style="color: #000000"> </span>name=<span style="color: #008000">&laquo;&nbsp;services/*.*&nbsp;&raquo;</span>/&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">        </span><span class="Apple-tab-span" style="white-space: pre">	</span> <span class="Apple-tab-span" style="white-space: pre">	</span><span style="color: #000080">&lt;exclude</span><span style="color: #000000"> </span><span style="color: #000080">name=</span>&laquo;&nbsp;serviceContext.xml&nbsp;&raquo;<span style="color: #000080">/&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">        </span><span class="Apple-tab-span" style="white-space: pre">	</span> <span class="Apple-tab-span" style="white-space: pre">	</span>&lt;exclude<span style="color: #000000"> </span>name=<span style="color: #008000">&laquo;&nbsp;services.xml&nbsp;&raquo;</span>/&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">        </span><span class="Apple-tab-span" style="white-space: pre">	</span> <span class="Apple-tab-span" style="white-space: pre">	</span>&lt;exclude<span style="color: #000000"> </span>name=<span style="color: #008000">&laquo;&nbsp;core/*&nbsp;&raquo;</span>/&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal">        <span class="Apple-tab-span" style="white-space: pre">	</span> <span style="color: #000080">&lt;/fileset&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal">        <span style="color: #000080">&lt;/jar&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px">    <span class="Apple-tab-span" style="white-space: pre">	</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #800000"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">	</span>&lt;!&#8211; copy each service &#8211;&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px">    <span class="Apple-tab-span" style="white-space: pre">	</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #800000"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">	</span>&lt;!&#8211; BLAZE DS &#8211;&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">	</span><span style="color: #000080">&lt;copy</span><span style="color: #000000"> </span><span style="color: #000080">toDir=</span>&laquo;&nbsp;${BLAZEDS_HOME}/classes&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">		</span><span style="color: #000080">&lt;fileset</span><span style="color: #000000"> </span><span style="color: #000080">dir=</span>&laquo;&nbsp;${build.dir}/classes&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #800000"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">			</span>&lt;!&#8211; include your services here &#8211;&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">			</span><span style="color: #000080">&lt;include</span><span style="color: #000000"> </span><span style="color: #000080">name=</span>&laquo;&nbsp;services/BlazeDSService.class&nbsp;&raquo;<span style="color: #000080">/&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">        </span><span class="Apple-tab-span" style="white-space: pre">		</span>&lt;include<span style="color: #000000"> </span>name=<span style="color: #008000">&laquo;&nbsp;core/*.*&nbsp;&raquo;</span>/&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">		</span>&lt;/fileset&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">		</span><span style="color: #000080">&lt;fileset</span><span style="color: #000000"> </span><span style="color: #000080">dir=</span>&laquo;&nbsp;${basedir}/resources/META-INF&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">			</span><span style="color: #000080">&lt;include</span><span style="color: #000000"> </span><span style="color: #000080">name=</span>&laquo;&nbsp;serviceContext.xml&nbsp;&raquo;<span style="color: #000080">/&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">		</span>&lt;/fileset&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">	</span>&lt;/copy&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px">    <span class="Apple-tab-span" style="white-space: pre">	</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #800000"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">	</span>&lt;!&#8211; AXIS 2 : aar service up &#8211;&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">	</span><span style="color: #000080">&lt;jar</span><span style="color: #000000"> </span><span style="color: #000080">destfile=</span>&laquo;&nbsp;${AXIS2_HOME}/services/MysService.aar&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">        </span><span class="Apple-tab-span" style="white-space: pre">	</span><span style="color: #000080">&lt;fileset</span><span style="color: #000000"> </span><span style="color: #000080">dir=</span>&laquo;&nbsp;${build.dir}/classes&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #800000"><span style="color: #000000">        </span><span class="Apple-tab-span" style="white-space: pre">	</span> <span class="Apple-tab-span" style="white-space: pre">	</span>&lt;!&#8211; include you services here &#8211;&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">        </span><span class="Apple-tab-span" style="white-space: pre">	</span> <span class="Apple-tab-span" style="white-space: pre">	</span><span style="color: #000080">&lt;include</span><span style="color: #000000"> </span><span style="color: #000080">name=</span>&laquo;&nbsp;services/Axis2Service.class&nbsp;&raquo;<span style="color: #000080">/&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">        </span><span class="Apple-tab-span" style="white-space: pre">		</span>&lt;include<span style="color: #000000"> </span>name=<span style="color: #008000">&laquo;&nbsp;core/*.*&nbsp;&raquo;</span>/&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">        </span><span class="Apple-tab-span" style="white-space: pre">	</span>&lt;/fileset&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">            </span><span style="color: #000080">&lt;fileset</span><span style="color: #000000"> </span><span style="color: #000080">dir=</span>&laquo;&nbsp;${basedir}/resources/&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal">                <span style="color: #000080">&lt;include</span> <span style="color: #000080">name=</span><span style="color: #008000">&laquo;&nbsp;**/services.xml&nbsp;&raquo;</span><span style="color: #000080">/&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal">            <span style="color: #000080">&lt;/fileset&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal">        <span style="color: #000080">&lt;/jar&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px">    <span class="Apple-tab-span" style="white-space: pre">	</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #800000"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">	</span>&lt;!&#8211; copy contextServices to AXIS2/classes &#8211;&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">	</span><span style="color: #000080">&lt;copy</span><span style="color: #000000"> </span><span style="color: #000080">toDir=</span>&laquo;&nbsp;${AXIS2_HOME}/classes&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">		</span><span style="color: #000080">&lt;fileset</span><span style="color: #000000"> </span><span style="color: #000080">dir=</span>&laquo;&nbsp;${basedir}/resources/META-INF&nbsp;&raquo;<span style="color: #000080">&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #008000"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">			</span><span style="color: #000080">&lt;include</span><span style="color: #000000"> </span><span style="color: #000080">name=</span>&laquo;&nbsp;serviceContext.xml&nbsp;&raquo;<span style="color: #000080">/&gt;</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">		</span>&lt;/fileset&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">    </span><span class="Apple-tab-span" style="white-space: pre">	</span>&lt;/copy&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px">    <span class="Apple-tab-span" style="white-space: pre">	</span>    <span class="Apple-tab-span" style="white-space: pre">	</span></p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080"><span style="color: #000000">    </span>&lt;/target&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; min-height: 15px">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080">&lt;/project&gt;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080">&nbsp;</p>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; color: #000080">&nbsp;</p>
</DIV>

<p>Aucun d'article en relation</p>]]></content:encoded>
			<wfw:commentRss>http://www.matsiya.fr/blog/2009/03/21/exposer-ses-services-avec-blazeds-et-axis2-grace-a-spring-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento e-commerce : Flash, Flex et AIR</title>
		<link>http://www.matsiya.fr/blog/2009/02/06/magento-e-commerce-flash-flex-et-air/</link>
		<comments>http://www.matsiya.fr/blog/2009/02/06/magento-e-commerce-flash-flex-et-air/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 07:50:56 +0000</pubDate>
		<dc:creator>Matsiya</dc:creator>
				<category><![CDATA[Air]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Matsiya]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[amf]]></category>
		<category><![CDATA[commerce]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[magentocommerce]]></category>
		<category><![CDATA[ria]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[zend]]></category>
		<category><![CDATA[zend-amf]]></category>
<category>air</category><category>amf</category><category>commerce</category><category>e-commerce</category><category>flash</category><category>flex</category><category>magento</category><category>magentocommerce</category><category>ria</category><category>soap</category><category>zend</category><category>zend amf</category>
		<guid isPermaLink="false">http://www.matsiya.fr/blog/2009/02/06/magento-e-commerce-flash-flex-et-air/</guid>
		<description><![CDATA[ 
Si inclure une animation flash dans magento est relativement simple, la faire communiquer avec les services existants l&#8217;est nettement moins. En effet magento fournit une API basée sur le prorocol SOAP peu respectueuse des conventions et Flex/Flash n&#8217;aime pas ça &#8230;. Nous avons donc du modifier le SDK de flex afin de pouvoir utiliser [...]


Aucun d'article en relation]]></description>
			<content:encoded><![CDATA[<DIV ID='zaspPost-185'><p><img src="http://www.matsiya.fr/blog/wp-content/uploads/magento_flex_matsiya.png" border="0" width="480" title="magento_flex_matsiya.png" alt="magento_flex_matsiya.png" /> </p>
<p><span class="Apple-style-span" style="color: #141414; font-family: 'Lucida Grande'; font-size: 11px; line-height: 14px">Si inclure une animation flash dans magento est relativement simple, la faire communiquer avec les services existants l&#8217;est nettement moins. En effet magento fournit une API basée sur le prorocol SOAP peu respectueuse des conventions et Flex/Flash n&#8217;aime pas ça &#8230;. Nous avons donc du modifier le SDK de flex afin de pouvoir utiliser simplement les services disponibles. Bien  qu&#8217;il soit possible d&#8217;en créer des nouveaux, ces services sont mal adaptés à une interface de type RIA et les taux de transfert sont très faibles.</span></p>
<p><span class="Apple-style-span" style="color: #141414; font-family: 'Lucida Grande'; font-size: 11px; line-height: 14px"> Nous avons donc décidé de prendre la voie de l&#8217;AMF, bien plus rapide et permettant le chargement de plus gros volumes de données. Magento étant basé sur Zend framework , nous avons utilisé Zend AMF présent dans la version 1.7 (possibilité de l&#8217;inclure dans des versions antérieures) et après quelques modifications de Zend AMF, nous avons réussi à exposer la totalité des méthodes de l&#8217;API existante en AMF. Il reste quelques points à régler (gestion des droits ACL de zend par exemple) pour fournir un framework installable et utilisable en quelques clicks mais il est déjà possible de développer des modules Flash/Flex pour l&#8217;administration ou pour le catalogue de vos sites e-commerce Magento.</span></p>
</DIV>

<p>Aucun d'article en relation</p>]]></content:encoded>
			<wfw:commentRss>http://www.matsiya.fr/blog/2009/02/06/magento-e-commerce-flash-flex-et-air/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SOAP Rails+Flex et objets typés</title>
		<link>http://www.matsiya.fr/blog/2008/04/27/soap-railsflex-et-objets-types/</link>
		<comments>http://www.matsiya.fr/blog/2008/04/27/soap-railsflex-et-objets-types/#comments</comments>
		<pubDate>Sun, 27 Apr 2008 15:54:20 +0000</pubDate>
		<dc:creator>Matsiya</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[soap]]></category>
<category>flex</category><category>ruby on rails</category><category>soap</category>
		<guid isPermaLink="false">http://www.matsiya.fr/blog/2008/04/27/soap-railsflex-et-objets-types/</guid>
		<description><![CDATA[Ruby on Rails permet de construire des webservices SOAP en quelques lignes. Mais ruby étant un langage dynamique, il faudra alors définir les types manuellement pour les entrées et les sorties. Côté flex pas de problème pour récupérer les types simples comme String , interger, datetime etc &#8230; Mais comment récupérer un objet plus complexe [...]


Aucun d'article en relation]]></description>
			<content:encoded><![CDATA[<DIV ID='zaspPost-160'><p>Ruby on Rails permet de construire des webservices SOAP en quelques lignes. Mais ruby étant un langage dynamique, il faudra alors définir les types manuellement pour les entrées et les sorties. Côté flex pas de problème pour récupérer les types simples comme String , interger, datetime etc &#8230; Mais comment récupérer un objet plus complexe ?</p>
<p>Dans le post précédent on a introduit SchemaTypeRegistry qui permet de récupérer des objets personnalisés côté Flex; aucun problème pour des services écrits en java ou c#, ces langages n&#8217;étant pas dynamiques les objets seront bien définis dans le wsdl et Flex les comprendra sans problème. En revanche imaginons que l&#8217;on ait un model User en ruby qui pointe vers la table users. En retournant cet objet dans le SOAP flex sera incapable de le comprendre , aucune de ses proriétées n&#8217;étant explicitement définies.</p>
<p>Il existe pourtant une solution à ce problème : ActionWebService::Struct. En définissant un model héritant de cette class on va pouvoir construire un &laquo;&nbsp;emballage&nbsp;&raquo; de notre model de base et y définir ses propriétés. Exemple pour un model User :</p>
<p>On définit le model UserStruct &lt; ActionWebService::Struct et on y ajoute les propriétés :</p>
<p><code>class UserStruct<br />
</code></p>
<blockquote><p><code> member :name, :string</code><br />
<code> member :pass, :string</code></p></blockquote>
<p><code>end</code></p>
<p>et dans notre class d&#8217;api on spécifie le retour comme :</p>
<blockquote><p><code>:returns =&gt; [{:answer =&gt; UserStruct}]</code></p></blockquote>
<p>Ruby étant totalement dynamique on peut directement renvoyer un objet User dans le controller, celui-ci sera automatiquement transormé en UserStruct. Exemple d&#8217;une méthode dans le controller :</p>
<p><code>def getUser(id)</code></p>
<blockquote><p><code> User.find(id)</code></p></blockquote>
<p><code>end</code></p>
<p>L&#8217;objet reçu sera alors de type userstruct (en minuscules dans le xml) et contiendra toutes les valeurs de User pour peu qu&#8217;elles aient été bien définies.<br />
Enfin pour plus de lisibilité rien n&#8217;empêche de nommer son objet &#8216;User&#8217; aussi côté flex et de spécifier le changement de nom dans SchemaTypeRegistry (voir post précédent).</p>
</DIV>

<p>Aucun d'article en relation</p>]]></content:encoded>
			<wfw:commentRss>http://www.matsiya.fr/blog/2008/04/27/soap-railsflex-et-objets-types/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SOAP+Flex =&gt; SchemaTypeRegistry</title>
		<link>http://www.matsiya.fr/blog/2008/04/27/soapflex-et-objets-types/</link>
		<comments>http://www.matsiya.fr/blog/2008/04/27/soapflex-et-objets-types/#comments</comments>
		<pubDate>Sun, 27 Apr 2008 11:01:54 +0000</pubDate>
		<dc:creator>Matsiya</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[soap]]></category>
<category>flex</category><category>soap</category>
		<guid isPermaLink="false">http://www.matsiya.fr/blog/2008/04/27/soapflex-et-objets-types/</guid>
		<description><![CDATA[Une nouveauté de Flex 3 qui est passé inaperçue c&#8217;est la possibilité de recevoir des objets fortement typés depuis un service SOAP comme on pourrait le faire via le protocole AMF. Tout se fait dans la class singleton SchemaTypeRegistry. Il suffit de lui fournir le nom de l&#8217;objet reçu , son namespace dans l&#8217;enveloppe SOAP [...]


Aucun d'article en relation]]></description>
			<content:encoded><![CDATA[<DIV ID='zaspPost-159'><p align="left">Une nouveauté de Flex 3 qui est passé inaperçue c&#8217;est la possibilité de recevoir des objets fortement typés depuis un service SOAP comme on pourrait le faire via le protocole AMF. Tout se fait dans la class singleton SchemaTypeRegistry. Il suffit de lui fournir le nom de l&#8217;objet reçu , son namespace dans l&#8217;enveloppe SOAP et la class de destination. Un petit exemple vaut mieux qu&#8217;un long discours : Imaginons que l&#8217;on veuille maper un objet user ayant pour namespace &laquo;&nbsp;http://www.matsiya.fr/user&nbsp;&raquo; vers une class User  il suffira d&#8217;ajouter dans l&#8217;application (le mapping concernera alors tous les services) :<code></code></p>
<p align="left"><code>SchemaTypeRegistry.getInstance().registerClass(new QName("http://www.matsiya.fr/user", "user"), User);</code></p>
<p><code></code>Il est aussi tout à fait possible de définir le SchemaTypeRegistry pour une opération donnée en le spécifiant au XMLDecoder :<code></code></p>
<p align="left"><code> var sr:SchemaTypeRegistry = new SchemaTypeRegistry();  </code><code>sr.registerClass(new QName("http://www.mastiya.fr/user", "user"), User);</code><code>op.decoder.typeRegistry = sr; //op étant notre opération</code><code></code>Etrange qu&#8217;adobe ne communique pas plus à ce sujet, la doc est quasi inexistante pour cette fonctionnalité et surtout tout ce qui touche au XMLDecoder. Malheureusement cette technique n&#8217;est utilisable que pour les services de type SOAP, à ma connaissance il n&#8217;est pas possible de forcer le décodage d&#8217;un XML externe ou résultant d&#8217;un service REST via le XMLDecoder.</p>
</DIV>

<p>Aucun d'article en relation</p>]]></content:encoded>
			<wfw:commentRss>http://www.matsiya.fr/blog/2008/04/27/soapflex-et-objets-types/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

