<?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>Art Of Creation - Dynamics AX Blog &#187; AIF</title>
	<atom:link href="http://www.artofcreation.be/tag/aif/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.artofcreation.be</link>
	<description>The everyday life of a Dynamics AX developer</description>
	<lastBuildDate>Fri, 23 Jul 2010 16:29:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>AIF: &#8216;EndElement&#8217; is an invalid XmlNodeType</title>
		<link>http://www.artofcreation.be/2010/04/20/aif-endelement-is-an-invalid-xmlnodetype/</link>
		<comments>http://www.artofcreation.be/2010/04/20/aif-endelement-is-an-invalid-xmlnodetype/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 09:31:08 +0000</pubDate>
		<dc:creator>Klaas Deforche</dc:creator>
				<category><![CDATA[AIF]]></category>
		<category><![CDATA[Dynamics AX]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Error]]></category>

		<guid isPermaLink="false">http://www.artofcreation.be/?p=698</guid>
		<description><![CDATA[Hi all. I got this error when developing a C# .NET application that consumed a AIF web service, and couldn&#8217;t find a solution online so let me share mine :-). The problem was that I initialised my queryCriteria wrong: CriteriaElement ace = new CriteriaElement&#40;&#41;; ace.FieldName = &#34;AccountNum&#34;; ace.Value1 = &#34;000001&#34;; I forgot the specify the [...]]]></description>
			<content:encoded><![CDATA[<p>Hi all. </p>
<p>I got this error when developing a C# .NET application that consumed a AIF web service, and couldn&#8217;t find a solution online so let me share mine :-). </p>
<p>The problem was that I initialised my queryCriteria wrong:</p>
<div class="codecolorer-container csharp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">CriteriaElement ace <span style="color: #008000;">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> CriteriaElement<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
ace<span style="color: #008000;">.</span><span style="color: #0000FF;">FieldName</span> <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;AccountNum&quot;</span><span style="color: #008000;">;</span><br />
ace<span style="color: #008000;">.</span><span style="color: #0000FF;">Value1</span> <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;000001&quot;</span><span style="color: #008000;">;</span></div></div>
<p>I forgot the specify the datasourcename and operation:</p>
<div class="codecolorer-container csharp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">CriteriaElement ace <span style="color: #008000;">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> CriteriaElement<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
ace<span style="color: #008000;">.</span><span style="color: #0000FF;">FieldName</span> <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;AccountNum&quot;</span><span style="color: #008000;">;</span><br />
ace<span style="color: #008000;">.</span><span style="color: #0000FF;">Value1</span> <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;000001&quot;</span><span style="color: #008000;">;</span><br />
ace<span style="color: #008000;">.</span><span style="color: #0000FF;">DataSourceName</span> <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;VendTable&quot;</span><span style="color: #008000;">;</span><br />
ace<span style="color: #008000;">.</span><span style="color: #0600FF; font-weight: bold;">Operator</span> <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">Operator</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Equal</span><span style="color: #008000;">;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.artofcreation.be/2010/04/20/aif-endelement-is-an-invalid-xmlnodetype/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AIF: HTTP Error 404.3 &#8211; Not Found</title>
		<link>http://www.artofcreation.be/2010/04/19/aif-http-error-404-3-not-found/</link>
		<comments>http://www.artofcreation.be/2010/04/19/aif-http-error-404-3-not-found/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 14:34:24 +0000</pubDate>
		<dc:creator>Klaas Deforche</dc:creator>
				<category><![CDATA[AIF]]></category>
		<category><![CDATA[Dynamics AX]]></category>
		<category><![CDATA[Error]]></category>
		<category><![CDATA[IIS]]></category>

		<guid isPermaLink="false">http://www.artofcreation.be/?p=688</guid>
		<description><![CDATA[After installing an AIF web server and deploying services on it, I got an error when I tried to browse my web service http://myhost:82/MicrosoftDynamicsAXAif50/itemservice.svc. The error was: HTTP Error 404.3 &#8211; Not Found When I tried to add a web reference the svc in visual studio .NET, I got a similar error: HTTP Error 404 [...]]]></description>
			<content:encoded><![CDATA[<p>After installing an AIF web server and deploying services on it, I got an error when I tried to browse my web service http://myhost:82/MicrosoftDynamicsAXAif50/itemservice.svc.<br />
The error was:</p>
<blockquote><p>HTTP Error 404.3 &#8211; Not Found</p></blockquote>
<p>When I tried to add a web reference the svc in visual studio .NET, I got a similar error:</p>
<blockquote><p>HTTP Error 404 &#8211; Not Found</p></blockquote>
<p>I solved it by using the method described on the AIF blog:<br />
<a href="http://blogs.msdn.com/aif/archive/2008/12/12/http-error-404-3-is-received-when-calling-a-web-service.aspx">http://blogs.msdn.com/aif/archive/2008/12/12/http-error-404-3-is-received-when-calling-a-web-service.aspx</a></p>
<p>Basically, execute the following command on your web server:</p>
<div class="codecolorer-container dos default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="dos codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">ServiceModelReg.exe -i -x</div></div>
<p>After that, everything worked fine. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.artofcreation.be/2010/04/19/aif-http-error-404-3-not-found/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AIF: The class method for the specified action %1 could not be found</title>
		<link>http://www.artofcreation.be/2010/04/14/aif-the-class-method-for-the-specified-action-1-could-not-be-found/</link>
		<comments>http://www.artofcreation.be/2010/04/14/aif-the-class-method-for-the-specified-action-1-could-not-be-found/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 16:13:46 +0000</pubDate>
		<dc:creator>Klaas Deforche</dc:creator>
				<category><![CDATA[AIF]]></category>
		<category><![CDATA[Dynamics AX]]></category>
		<category><![CDATA[Job]]></category>

		<guid isPermaLink="false">http://www.artofcreation.be/?p=678</guid>
		<description><![CDATA[When you get this error: The class method for the specified action %1 could not be found It probably means you have regenerated you classes using the AIF document wizard, or that you have imported the AIF classes without id&#8217;s. You can use this job to fix the class id&#8217;s in the AIFAction table: static [...]]]></description>
			<content:encoded><![CDATA[<p>When you get this error:</p>
<blockquote><p>The class method for the specified action %1 could not be found</p></blockquote>
<p>It probably means you have regenerated you classes using the AIF document wizard, or that you have imported the AIF classes without id&#8217;s. </p>
<p>You can use this job to fix the class id&#8217;s in the AIFAction table:</p>
<div class="codecolorer-container xpp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xpp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> KlForFixAIFActions<span style="color: #000000;">&#40;</span>Args _args<span style="color: #000000;">&#41;</span><br />
<span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; AIFAction &nbsp; aIFAction;<br />
&nbsp; &nbsp; ClassId &nbsp; &nbsp; classId;<br />
<br />
&nbsp; &nbsp; <span style="color: #007f00;">// inner method:</span><br />
&nbsp; &nbsp; <span style="color: #007f00;">// spit string at delimeter, keep left substring</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">str</span> lSplit<span style="color: #000000;">&#40;</span> <span style="color: #0000ff;">str</span> _s<span style="color: #00007f;">,</span> <span style="color: #0000ff;">str</span> _delimeter <span style="color: #000000;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">str</span> s <span style="color: #00007f;">=</span> <span style="color: #ff0000;">&quot;&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">int</span> pos;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">int</span> len <span style="color: #00007f;">=</span> <span style="color: #0000ff;">strlen</span><span style="color: #000000;">&#40;</span> _s <span style="color: #000000;">&#41;</span>;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; pos <span style="color: #00007f;">=</span> <span style="color: #0000ff;">strfind</span><span style="color: #000000;">&#40;</span> _s<span style="color: #00007f;">,</span> _delimeter<span style="color: #00007f;">,</span> <span style="color: #000000;">0</span><span style="color: #00007f;">,</span> len <span style="color: #000000;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; s <span style="color: #00007f;">=</span> <span style="color: #0000ff;">strdel</span><span style="color: #000000;">&#40;</span> _s<span style="color: #00007f;">,</span>pos<span style="color: #00007f;">,</span>len<span style="color: #00007f;">-</span>pos<span style="color: #00007f;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">&#41;</span>;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">return</span> s;<br />
&nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
&nbsp; &nbsp; ;<br />
<br />
&nbsp; &nbsp; <span style="color: #007f00;">// fix all actions</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">while</span> <span style="color: #0000ff;">select</span> aIFAction<br />
&nbsp; &nbsp; <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007f00;">// get 'real' classid</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; classId <span style="color: #00007f;">=</span> classname2id<span style="color: #000000;">&#40;</span>lSplit<span style="color: #000000;">&#40;</span>aIFAction.<span style="color: #000000;">ActionId</span><span style="color: #00007f;">,</span> <span style="color: #ff0000;">'.'</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007f00;">// check if classid and classname match</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">if</span><span style="color: #000000;">&#40;</span>aIFAction.<span style="color: #000000;">ClassId</span> <span style="color: #00007f;">!=</span> classId<span style="color: #000000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">if</span><span style="color: #000000;">&#40;</span>classId <span style="color: #00007f;">==</span> <span style="color: #000000;">0</span><span style="color: #000000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007f00;">// class does not exist</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; warning<span style="color: #000000;">&#40;</span><span style="color: #0000ff;">strfmt</span><span style="color: #000000;">&#40;</span><span style="color: #ff0000;">&quot;Class %1 does not exist&quot;</span><span style="color: #00007f;">,</span> lSplit<span style="color: #000000;">&#40;</span>aIFAction.<span style="color: #000000;">ActionId</span><span style="color: #00007f;">,</span> <span style="color: #ff0000;">'.'</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007f00;">// doesn't match</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007f00;">// update classid</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">ttsbegin</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; aIFAction.<span style="color: #000000;">selectForUpdate</span><span style="color: #000000;">&#40;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; aIFAction.<span style="color: #000000;">ClassId</span> <span style="color: #00007f;">=</span> classId;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; aIFAction.<span style="color: #000000;">update</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; info<span style="color: #000000;">&#40;</span><span style="color: #0000ff;">strfmt</span><span style="color: #000000;">&#40;</span><span style="color: #ff0000;">'Action %1 updated'</span><span style="color: #00007f;">,</span> aIFAction.<span style="color: #000000;">ActionId</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">ttscommit</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
<br />
&nbsp; &nbsp; info<span style="color: #000000;">&#40;</span><span style="color: #ff0000;">'done'</span><span style="color: #000000;">&#41;</span>;<br />
<span style="color: #000000;">&#125;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.artofcreation.be/2010/04/14/aif-the-class-method-for-the-specified-action-1-could-not-be-found/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Start learning about AIF</title>
		<link>http://www.artofcreation.be/2010/04/08/start-learning-about-aif/</link>
		<comments>http://www.artofcreation.be/2010/04/08/start-learning-about-aif/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 20:49:06 +0000</pubDate>
		<dc:creator>Klaas Deforche</dc:creator>
				<category><![CDATA[AIF]]></category>
		<category><![CDATA[Dynamics AX]]></category>
		<category><![CDATA[link]]></category>

		<guid isPermaLink="false">http://www.artofcreation.be/?p=629</guid>
		<description><![CDATA[Hi everyone. When I was starting to learn about AIF, I made a list of the resources I used to get familiar with it. I know how hard it is to learn AIF (there&#8217;s a lot you need to know), so I&#8217;d like to share this list of links with you. General: Microsoft Dynamics AX [...]]]></description>
			<content:encoded><![CDATA[<p>Hi everyone. </p>
<p>When I was starting to learn about AIF, I made a list of the resources I used to get familiar with it.<br />
I know how hard it is to learn AIF (there&#8217;s a lot you need to know), so I&#8217;d like to share this list of links with you. </p>
<p><strong>General:</strong></p>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=edc62433-5b21-4f74-b065-b075ba6dc86d&#038;displaylang=en">Microsoft Dynamics AX 2009 White Paper: Application Integration Framework (AIF) BizTalk Adapter Configuration for Data Exchange, Part I</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=90388B14-FB8C-4633-A255-28FF7146C5B2&#038;displaylang=en">Tips for Creating Services in Microsoft Dynamics AX 2009</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&#038;FamilyID=c06033bb-ba3a-4237-9ab8-d7b77c0439be">Microsoft Dynamics AX 2009 White Paper: Application Integration Framework (AIF) BizTalk Adapter Configuration for Data Exchange, Part II</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/bb496535.aspx">Application Integration Framework Overview</a></li>
</ul>
<p><strong>Blogs: </strong></p>
<ul>
<li><a href="http://blogs.msdn.com/aif/">Dynamics AX Integration using AIF &#8211; Integration scenarios, problems, solutions, etc</a></li>
<li><a href="http://gregondax.wordpress.com/2009/10/26/aif-pipeline-example/">Greg Philpott</a></li>
<li><a href="http://gregondax.wordpress.com/2009/09/24/top-5-aif-development-tips-and-tricks/">Top 5 AIF Development Tips and Tricks</a></li>
</ul>
<p><strong>Videos:</strong></p>
<ul>
<li><a href="http://channel9.msdn.com/posts/benriga/WCF-and-AIF-in-Dynamics-2009-Chatting-with-Michael-Merz/">WCF and AIF in Dynamics 2009: Chatting with Michael Merz</a></li>
<li><a href="http://msdn.microsoft.com/en-us/dynamics/ax/cc664615.aspx">How Do I: Create a Custom AIF Pipeline Component?</a></li>
</ul>
<p><strong>Axaptapedia:</strong></p>
<ul>
<li><a href="http://www.axaptapedia.com/AIFEnvelopeTool">AIFEnvelopeTool</a></li>
</ul>
<p><strong>Books:</strong>
<ul>
<li>Inside Microsoft Dynamics AX 2009: Chapter 17 The Application Integration Framework</li>
</ul>
<p>Of course, there are also some articles on this blog that are <a href="http://www.artofcreation.be/tag/aif/">tagged AIF</a>. </p>
<p>Hope you find these links useful!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artofcreation.be/2010/04/08/start-learning-about-aif/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Run AIF inbound and outbound manually</title>
		<link>http://www.artofcreation.be/2010/02/17/run-aif-inbound-and-outbound-manually/</link>
		<comments>http://www.artofcreation.be/2010/02/17/run-aif-inbound-and-outbound-manually/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 17:51:53 +0000</pubDate>
		<dc:creator>Klaas Deforche</dc:creator>
				<category><![CDATA[AIF]]></category>
		<category><![CDATA[Dynamics AX]]></category>
		<category><![CDATA[Batch]]></category>
		<category><![CDATA[Job]]></category>

		<guid isPermaLink="false">http://www.artofcreation.be/?p=485</guid>
		<description><![CDATA[To have AIF import and export message, you have to have 4 batch tasks running (all about it here on TechNet). However, when developing, it is inefficient (and also tad tedious) to wait for those batches. Here are two jobs to run inbound and outbound messages manually, so you don&#8217;t have to wait for the [...]]]></description>
			<content:encoded><![CDATA[<p>To have AIF import and export message, you have to have 4 batch tasks running (<a href="http://technet.microsoft.com/en-us/library/aa570105.aspx">all about it here on TechNet</a>). However, when developing, it is inefficient (and also tad tedious) to wait for those batches.</p>
<p>Here are two jobs to run inbound and outbound messages manually, so you don&#8217;t have to wait for the batches to pick them up.</p>
<p>Inbound:</p>
<div class="codecolorer-container xpp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xpp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> KlForrunAIFInbound<span style="color: #000000;">&#40;</span>Args _args<span style="color: #000000;">&#41;</span><br />
<span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; ;<br />
&nbsp; &nbsp; <span style="color: #007f00;">// read the messages</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">new</span> AifGateWayReceiveService<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>.<span style="color: #000000;">run</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;<br />
<br />
&nbsp; &nbsp; <span style="color: #007f00;">// process the messages in queue</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">new</span> AifInboundProcessingService<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>.<span style="color: #000000;">run</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;<br />
<br />
&nbsp; &nbsp; info<span style="color: #000000;">&#40;</span><span style="color: #ff0000;">&quot;done&quot;</span><span style="color: #000000;">&#41;</span>;<br />
<span style="color: #000000;">&#125;</span></div></div>
<p>Outbound:</p>
<div class="codecolorer-container xpp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xpp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> KlForrunAIFOutbound<span style="color: #000000;">&#40;</span>Args _args<span style="color: #000000;">&#41;</span><br />
<span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; ;<br />
&nbsp; &nbsp; <span style="color: #007f00;">// process messages in queue</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">new</span> AifOutboundProcessingService<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>.<span style="color: #000000;">run</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;<br />
<br />
&nbsp; &nbsp; <span style="color: #007f00;">// send messages</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">new</span> AifGateWaySendService<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>.<span style="color: #000000;">run</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;<br />
<br />
&nbsp; &nbsp; info<span style="color: #000000;">&#40;</span><span style="color: #ff0000;">&quot;done&quot;</span><span style="color: #000000;">&#41;</span>;<br />
<span style="color: #000000;">&#125;</span></div></div>
<p>Ofcourse, you can put this code in classes, or combine them so they are executed together. Because inbound messages can trigger outbound messages, it&#8217;s better to process the inbound messages before the outbound messages.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artofcreation.be/2010/02/17/run-aif-inbound-and-outbound-manually/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AIF: The path %1 does not exist or is not accessible from an AOS server. Always use a UNC path.</title>
		<link>http://www.artofcreation.be/2009/12/08/aif-the-path-1-does-not-exist-or-is-not-accessible-from-an-aos-server-always-use-a-unc-path/</link>
		<comments>http://www.artofcreation.be/2009/12/08/aif-the-path-1-does-not-exist-or-is-not-accessible-from-an-aos-server-always-use-a-unc-path/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 17:03:27 +0000</pubDate>
		<dc:creator>Klaas Deforche</dc:creator>
				<category><![CDATA[AIF]]></category>
		<category><![CDATA[Dynamics AX]]></category>
		<category><![CDATA[Error]]></category>

		<guid isPermaLink="false">http://www.artofcreation.be/?p=350</guid>
		<description><![CDATA[Hi guys, It seems like I&#8217;m going to be doing a lot of AIF in the future, so I&#8217;d like to share the first AIF error I came across: The path C:\AIF does not exist or is not accessible from an AOS server. Always use a UNC path. You can get this error when setting [...]]]></description>
			<content:encoded><![CDATA[<p>Hi guys,</p>
<p>It seems like I&#8217;m going to be doing a lot of AIF in the future, so I&#8217;d like to share the first AIF error I came across:</p>
<blockquote><p>The path C:\AIF does not exist or is not accessible from an AOS server. Always use a UNC path.</p></blockquote>
<p>You can get this error when setting up channels.<br />
While I immediately know what the problem was (you have to use shares), my less technical-minded colleague didn&#8217;t know what to do. </p>
<p>This is what Wikipedia has to say about &#8216;UNC path&#8217;:</p>
<blockquote><p>The Microsoft Windows UNC, short for Universal Naming Convention or Uniform Naming Convention, specifies a common syntax to describe the location of a network resource, such as a shared file, directory, or printer. The UNC syntax for Windows systems has the generic form:</p>
<p>\\ComputerName\SharedFolder\Resource</p></blockquote>
<p>So there you have it, you have to use a shared folder in stead of a local folder.<br />
This is logical, as AIF runs on server, and the AOS can not access your local folders.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artofcreation.be/2009/12/08/aif-the-path-1-does-not-exist-or-is-not-accessible-from-an-aos-server-always-use-a-unc-path/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
