<?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>Ed &#34;Over&#34; Ip &#187; Tech</title>
	<atom:link href="http://www.edoverip.com/edoverip/index.php/category/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.edoverip.com/edoverip</link>
	<description>Frequently geeky, mostly dorky...</description>
	<lastBuildDate>Fri, 26 Mar 2010 15:38:09 +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>Customizing Team Foundation Build</title>
		<link>http://www.edoverip.com/edoverip/index.php/2010/03/25/customizing-team-foundation-build/</link>
		<comments>http://www.edoverip.com/edoverip/index.php/2010/03/25/customizing-team-foundation-build/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 15:54:58 +0000</pubDate>
		<dc:creator>eip</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[Visual Studio 2008]]></category>

		<guid isPermaLink="false">http://www.edoverip.com/edoverip/?p=426</guid>
		<description><![CDATA[If you are going to customize your TFS build, be aware of the existing targets and here and the order they are executed.  You might be able to reuse and not reinvent the wheel.  
]]></description>
			<content:encoded><![CDATA[<p>If you are going to customize your TFS build, be aware of the <a href="http://msdn.microsoft.com/en-us/library/aa337604(VS.80).aspx">existing targets</a> and <a href="http://blogs.msdn.com/aaronhallberg/archive/2008/02/12/team-build-2008-property-reference.aspx">here</a> and the order they are executed.  You might be able to reuse and not reinvent the wheel.  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.edoverip.com/edoverip/index.php/2010/03/25/customizing-team-foundation-build/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebSphere and .Net Interoperability using Web Services</title>
		<link>http://www.edoverip.com/edoverip/index.php/2010/02/24/websphere-and-net-interoperability-using-web-services/</link>
		<comments>http://www.edoverip.com/edoverip/index.php/2010/02/24/websphere-and-net-interoperability-using-web-services/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 20:34:24 +0000</pubDate>
		<dc:creator>eip</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[BizTalk]]></category>
		<category><![CDATA[Interoperability]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[SOAP]]></category>

		<guid isPermaLink="false">http://www.edoverip.com/edoverip/?p=417</guid>
		<description><![CDATA[This is an oldie but goodie describing potential interop issues between WebSphere and .Net web services.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.redbooks.ibm.com/redbooks/pdfs/sg246395.pdf" target="_blank">This</a> is an oldie but goodie describing potential interop issues between WebSphere and .Net web services.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.edoverip.com/edoverip/index.php/2010/02/24/websphere-and-net-interoperability-using-web-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BizUnit: XmlValidationStep vs. XmlValidationStepEx</title>
		<link>http://www.edoverip.com/edoverip/index.php/2009/11/04/bizunit-xmlvalidationstep-vs-xmlvalidationstepex/</link>
		<comments>http://www.edoverip.com/edoverip/index.php/2009/11/04/bizunit-xmlvalidationstep-vs-xmlvalidationstepex/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 19:53:16 +0000</pubDate>
		<dc:creator>eip</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[BizTalk]]></category>
		<category><![CDATA[BizUnit]]></category>

		<guid isPermaLink="false">http://www.edoverip.com/edoverip/?p=394</guid>
		<description><![CDATA[I am writing this down more to remind myself but if this become useful to anyone else, great!
XmlValidationStep:  It is the equivelent to using SelectSingleNode and must resolve to a node set
XmlValidationStepEx:  It utilizes XPathNavigator.  XmlValidationStepEx should be used when evaluating against functions such as Count()
]]></description>
			<content:encoded><![CDATA[<p>I am writing this down more to remind myself but if this become useful to anyone else, great!</p>
<p>XmlValidationStep:  It is the equivelent to using SelectSingleNode and must resolve to a node set</p>
<p>XmlValidationStepEx:  It utilizes XPathNavigator.  XmlValidationStepEx should be used when evaluating against functions such as Count()</p>
]]></content:encoded>
			<wfw:commentRss>http://www.edoverip.com/edoverip/index.php/2009/11/04/bizunit-xmlvalidationstep-vs-xmlvalidationstepex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual Studio said to WSDL, &#8220;Size does matter!&#8221;</title>
		<link>http://www.edoverip.com/edoverip/index.php/2009/09/09/visual-studio-said-to-wsdl-size-does-matter/</link>
		<comments>http://www.edoverip.com/edoverip/index.php/2009/09/09/visual-studio-said-to-wsdl-size-does-matter/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 19:13:47 +0000</pubDate>
		<dc:creator>eip</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[BizTalk 2009]]></category>
		<category><![CDATA[SOAP]]></category>
		<category><![CDATA[Visual Studio 2008]]></category>

		<guid isPermaLink="false">http://www.edoverip.com/edoverip/?p=371</guid>
		<description><![CDATA[I am sad to say that as I write this, the information is already irrelavant, however I feel it should be written simply because it is a problem nonetheless.
The circumstances (long story, will post about it later) around the BizTalk 2009 project I&#8217;m working on is forcing us to, most than likely use SOAP adapter [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I am sad to say that as I write this, the information is already irrelavant, however I feel it should be written simply because it is a problem nonetheless.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The circumstances (long story, will post about it later) around the BizTalk 2009 project I&#8217;m working on is forcing us to, most than likely use SOAP adapter instead of WCF &#8212; In case you are not aware, the SOAP adapter has been tagged as deprecated in BizTalk 2009 and should not be used with new development.  Nevertheless, it is what it is, we have to make do with the problem at hand.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The SOAP adapter needs a proxy generated from a WSDL.  In order for the entities to be made available to an Orchestration or Map during design time, the Web Reference must be added to a BizTalk project.  This is where the pain began&#8230;.the WSDLs we are seeing are north of 800KB (i.e. REALLY big WSDL).  That by itself is not a problem, however when the generated entities are used in a BizTalk map, Visual Studio 2008 SP1 will spin for 10 &#8211; 20 minutes and try to consume every bit of RAM available before throwing a very frustruction System.OutOfMemoryException.  Don&#8217;t understand it, and absolutely can&#8217;t work around it.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">To see for yourself:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">1. Create a BizTalk project</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">2. Add Web Reference to a large (&gt; 500kb) WSDL</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">3. Create a Map and transform anything into an entity created during step #2.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">4. Hit build and enjoy the show</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">For the record, my development environment consists of Windows 2003 Enterprise x64 with 3.75GB of RAM.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I will update if/when I find a workaround.</div>
<p>I am sad to say that as I write this, the information is already irrelavant, however I feel it should be written simply because it is a problem nonetheless.</p>
<p>The circumstances (long story, will post about it later) around the BizTalk 2009 project I&#8217;m working on is forcing us to, most than likely use SOAP adapter instead of WCF &#8212; In case you are not aware, the SOAP adapter has been tagged as <a href="http://msdn.microsoft.com/en-us/library/aa559720(BTS.10).aspx" target="_blank">deprecated in BizTalk 2009</a> and should not be used with new development.  Nevertheless, it is what it is, we have to make do with the problem at hand.</p>
<p>The SOAP adapter need a proxy generated from a WSDL.  In order for the entities to be made available to an Orchestration or Map during design time, the Web Reference must be added to a BizTalk project.  This is where the pain began&#8230;.the WSDLs we are seeing are north of 800KB (i.e. REALLY big WSDL).  That by itself is not a problem, however when the generated entities are used in a BizTalk map, Visual Studio 2008 SP1 will spin for 10 &#8211; 20 minutes and try to consume every bit of RAM available before throwing a very frustruction System.OutOfMemoryException.  Don&#8217;t understand it, and absolutely can&#8217;t work around it.</p>
<p>To see for yourself:</p>
<p>1. Create a BizTalk project<br />
2. Add Web Reference to a large (&gt; 500kb) WSDL<br />
3. Create a Map and transform anything into an entity created during step #2.<br />
4. Hit build and enjoy the show</p>
<p>For the record, my development environment consists of Windows 2003 Enterprise x64 with 3.75GB of RAM.</p>
<p>I know what you are thinking, may be we should pare down the WSDL.  Well, let just say the 3rd party vendor can&#8217;t do that.  I will update if/when I find a workaround.</p>
<p>Update 09/14/2009:  One of my colleague figured this out.  The root of the problem is a bunch of circular reference in the schema &#8212; Entity A contain Entity B, B contain Entity C, C contain A.  This is a known deficiency in the .NET XMLSerializer.</p>
<p>Update 09/18/2009:  A bunch of test later, it looks like WSDL size is a problem at design time (i.e. can&#8217;t compile) and circular reference is a problem at run time (i.e. SOAP Adapter can&#8217;t serialize the message using XMLSerializer).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.edoverip.com/edoverip/index.php/2009/09/09/visual-studio-said-to-wsdl-size-does-matter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing ESB 2.0 CTP2 on x64</title>
		<link>http://www.edoverip.com/edoverip/index.php/2009/05/27/installing-esb-20-ctp2-on-x64/</link>
		<comments>http://www.edoverip.com/edoverip/index.php/2009/05/27/installing-esb-20-ctp2-on-x64/#comments</comments>
		<pubDate>Wed, 27 May 2009 16:47:02 +0000</pubDate>
		<dc:creator>eip</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[BizTalk 2009]]></category>
		<category><![CDATA[ESB]]></category>

		<guid isPermaLink="false">http://www.edoverip.com/edoverip/?p=325</guid>
		<description><![CDATA[Took me a 2 days to figure this out, so thought to pass it along.  If you try to install Enterprise Service Bus Guidance 2.0 CTP2 on x64, it will throw an error similar to &#8220;The Application required Enterprise Library version 4.  Please install the Enterprise Library V4 and then run the installer.&#8221;

The problem is that [...]]]></description>
			<content:encoded><![CDATA[<div>Took me a 2 days to figure this out, so thought to pass it along.  If you try to install <a href="http://www.codeplex.com/esb" target="_blank">Enterprise Service Bus Guidance 2.0</a> CTP2 on x64, it will throw an error similar to &#8220;The Application required Enterprise Library version 4.  Please install the Enterprise Library V4 and then run the installer.&#8221;</div>
<div></div>
<div>The problem is that the MSI is looking for this registry key:</div>
<div>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Enterprise Library v4</div>
<div></div>
<div>While EntLib created the key here:</div>
<div>HKEY_LOCAL_MACHINE\SOFTWARE\<strong>Wow6432Node</strong>\Microsoft\Enterprise Library v4</div>
<div></div>
<div>So&#8230;create the key and string values yourself.  Enjoy!</div>
]]></content:encoded>
			<wfw:commentRss>http://www.edoverip.com/edoverip/index.php/2009/05/27/installing-esb-20-ctp2-on-x64/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Vista Activation 0&#215;800705B4 Error</title>
		<link>http://www.edoverip.com/edoverip/index.php/2009/02/16/windows-vista-activation-0x800705b4-error/</link>
		<comments>http://www.edoverip.com/edoverip/index.php/2009/02/16/windows-vista-activation-0x800705b4-error/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 20:52:56 +0000</pubDate>
		<dc:creator>eip</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.edoverip.com/edoverip/?p=264</guid>
		<description><![CDATA[
I kept getting this error in my Vista Enterprise install.  I tried a bunch of stuff including turning off the firewall, going to a different network, and at the end of it all, the error had nothing to do with &#8220;Timeout&#8221; &#8212; The product key I&#8217;ve entered was bad.  Arrgh!
 
 
 
 
 
 
&#8211;
]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-266" title="0x800705B4 Error " src="http://www.edoverip.com/edoverip/wp-content/uploads/picture-1-300x245.png" alt="0x800705B4 Error " width="300" height="245" /></p>
<p>I kept getting this error in my Vista Enterprise install.  I tried a bunch of stuff including turning off the firewall, going to a different network, and at the end of it all, the error had nothing to do with &#8220;Timeout&#8221; &#8212; The product key I&#8217;ve entered was bad.  Arrgh!</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>&#8211;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.edoverip.com/edoverip/index.php/2009/02/16/windows-vista-activation-0x800705b4-error/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>MLLP Blank Messages</title>
		<link>http://www.edoverip.com/edoverip/index.php/2009/02/10/mllp-blank-messages/</link>
		<comments>http://www.edoverip.com/edoverip/index.php/2009/02/10/mllp-blank-messages/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 18:20:34 +0000</pubDate>
		<dc:creator>eip</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[BizTalk]]></category>

		<guid isPermaLink="false">http://www.edoverip.com/edoverip/?p=278</guid>
		<description><![CDATA[A while back I wrote about a problem I encountered where my client&#8217;s system is experiencing &#8220;Object not set to a reference of an object&#8221; errors in the receive pipeline for one of their client.  After yet another round of experimentation, I FINALLY figured out what caused it!
This particular client appear to programmatically connect to the BizTalk server [...]]]></description>
			<content:encoded><![CDATA[<p>A while back I wrote about a problem I encountered where my client&#8217;s system is experiencing &#8220;<a href="http://www.edoverip.com/edoverip/index.php/2008/11/20/mllp-object-not-set-to-a-reference-of-an-object/">Object not set to a reference of an object</a>&#8221; errors in the receive pipeline for one of their client.  After yet another round of experimentation, I FINALLY figured out what caused it!</p>
<p>This particular client appear to programmatically connect to the BizTalk server via Telnet as a way to keep the socket open.  In return, BizTalk would treat the connection as having a <em>missing</em> body (not to be confused with an <em>empty</em> body). To solve the problem, although it&#8217;s not ideal, is to put a try/catch around the GetOriginalDataStream() and return null if it encounters an error.   Unfortunately, the side affect of this is an active blank message instance in the BizTalk Administration Console.  But at least there are no more error event logs and suspended message instances.  </p>
<pre><span>public</span><span> </span>IBaseMessage<span> Execute(</span>IPipelineContext<span> pContext, </span>IBaseMessage<span> pInMsg)
{
<span>    IBaseMessagePart</span> msgBody = pInMsg.BodyPart;</span></pre>
<pre style="padding-left: 30px;"><span>if</span> (msgBody != <span>null</span>)
{</pre>
<pre style="padding-left: 60px;"><span>string</span> oldStr = <span>string</span>.Empty;

<span><strong>try
{
<span style="font-weight: normal;"><span><strong>    using</strong></span><strong> (</strong><span><strong>StreamReader</strong></span><strong> sr = </strong><span><strong>new</strong></span><strong> </strong><span><strong>StreamReader</strong></span><strong>(msgBody.GetOriginalDataStream()))
    {
         oldStr = sr.ReadToEnd();
    }
}
catch
{
<span style="font-weight: normal;"><span><strong>    return</strong></span><strong> </strong><span><strong>null</strong></span><strong>;
}</strong></span></strong></span></strong></span>

&lt;&lt; INSERT STUFF YOU NEED TO DO HERE&gt;&gt;</pre>
<pre style="padding-left: 30px;">}</pre>
<pre>}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.edoverip.com/edoverip/index.php/2009/02/10/mllp-blank-messages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running WCF on GoDaddy</title>
		<link>http://www.edoverip.com/edoverip/index.php/2009/01/30/running-wcf-on-godaddy/</link>
		<comments>http://www.edoverip.com/edoverip/index.php/2009/01/30/running-wcf-on-godaddy/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 20:02:05 +0000</pubDate>
		<dc:creator>eip</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://www.edoverip.com/edoverip/?p=274</guid>
		<description><![CDATA[GoDaddy and many ASP.NET hosting company operate IIS under medium trust.  As such,  you will need to make a number of modifications to your app.config/web.config to make WCF work.  Assuming your WCF service is compiled against the 3.5 framework, the following is a list of errors I encountered along the way and the respective solution.
Error:
There [...]]]></description>
			<content:encoded><![CDATA[<p>GoDaddy and many ASP.NET hosting company operate IIS under medium trust.  As such,  you will need to make a number of modifications to your app.config/web.config to make WCF work.  Assuming your WCF service is compiled against the 3.5 framework, the following is a list of errors I encountered along the way and the respective solution.</p>
<p><strong>Error:</strong><br />
<strong><span style="color: #800000;">There is no build provider registered for the extension &#8216;.svc&#8217;. You can register one in the &lt;compilation&gt;&lt;buildProviders&gt; section in machine.config or web.config. Make sure is has a BuildProviderAppliesToAttribute attribute which includes the value &#8216;Web&#8217; or &#8216;All&#8217;.</span></strong></p>
<p><strong>Solution:</strong></p>
<pre style="padding-left: 30px; ">&lt;<span style="font-family: 'Courier New'; line-height: 18px; white-space: pre;">compilation</span><span style="font-family: 'Courier New'; line-height: 18px; white-space: pre;">&gt;
<strong>     &lt;</strong><strong>buildProviders</strong><strong>&gt;
<span style="font-weight: normal;"><strong>          &lt;</strong><strong>add</strong><strong> </strong><strong>extension</strong><strong>=</strong><strong>"</strong><strong>.svc</strong><strong>"</strong><strong> </strong><strong>type</strong><strong>=</strong><strong>"</strong><strong>System.ServiceModel.Activation.ServiceBuildProvider, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</strong><strong>"</strong><strong>/&gt;
<span style="font-weight: normal;"><strong>     &lt;/</strong><strong>buildProviders</strong><strong>&gt;
</strong>&lt;/compilation&gt; </span></strong></span></strong></span></pre>
<p><strong>Error:</strong><br />
<strong><span style="color: #800000;">This collection already contains an address with scheme http.  There can be at most one address per scheme in this collection. </span></strong></p>
<p><strong><span style="color: #000000;">Solution:<br />
</span></strong></p>
<pre style="padding-left: 30px; "><span style="color: #000000;">&lt;system.serviceModel&gt;
  ...
<span style="font-family: 'Courier New'; line-height: 18px; white-space: pre;"><span style="font-family: Georgia; line-height: 19px; white-space: normal;">      &lt;</span>serviceHostingEnvironment&gt;
      &lt;baseAddressPrefixFilters&gt;
           &lt;add prefix="http://services.edoverip.com/" /&gt;
      &lt;/baseAddressPrefixFilters&gt;
   &lt;/serviceHostingEnvironment&gt;
  ...
&lt;/system.serviceModel&gt; </span></span></pre>
<p><strong>Error:</strong><br />
<span style="color: #800000;"><strong>The WSHttpBinding with name WSHttpBinding failed validation because it contains a BindingElement with type System.ServiceModel.Channels.SymmetricSecurityBindingElement which is not supported in partial trust. Consider disabling the message security and reliable session options, using BasicHttpBinding, or hosting your application in a full-trust environment. </strong></span></p>
<p><strong><span style="color: #000000;">Solution:<br />
<span style="font-weight: normal;"> This one is a bit tricky.  If you prefer to use wsHttpBinding, you will have to set the Security Mode to either None or Transport.  For example,  to set it to None, it looks something like this&#8230; </span></span></strong></p>
<pre style="padding-left: 30px;"><span style="color: #000000;">&lt;bindings&gt;
   &lt;wsHttpBinding&gt;
        &lt;binding name="<strong>wsHttp</strong>"&gt;
            &lt;security mode="None" /&gt;
        &lt;/binding&gt;
   &lt;/wsHttpBinding&gt;
&lt;/bindings&gt;</span></pre>
<pre style="padding-left: 30px;"><strong><span style="color: #000000;"><span style="font-weight: normal;">
&lt;services&gt;
     &lt;service behaviorConfiguration="DistanceWS.ServiceBehavior" name="DistanceWS.Service"&gt;
          &lt;endpoint binding="wsHttpBinding" bindingConfiguration="<strong>wsHttp</strong>" contract="DistanceWS.IService" /&gt;
          &lt;host&gt;
               &lt;baseAddresses&gt;
                    &lt;add baseAddress="http://localhost:8731/Design_Time_Addresses/DistanceWS/Service/" /&gt;
               &lt;/baseAddresses&gt;
          &lt;/host&gt;
     &lt;/service&gt;
&lt;/services&gt;</span>
</span></strong></pre>
<p>That&#8217;s all I can think of for now.  I will update this post if I come across anything else.  Meanwhile, enjoy and good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.edoverip.com/edoverip/index.php/2009/01/30/running-wcf-on-godaddy/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>ZipCode Radius</title>
		<link>http://www.edoverip.com/edoverip/index.php/2009/01/08/zipcode-radius/</link>
		<comments>http://www.edoverip.com/edoverip/index.php/2009/01/08/zipcode-radius/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 15:41:34 +0000</pubDate>
		<dc:creator>eip</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.edoverip.com/edoverip/?p=246</guid>
		<description><![CDATA[I am working on a personal project that needed a list of US City, State and Zip and the ability to get a list of nearby Zips by radius. For awhile there, I thought I was going to have to pay for a list of ZipCodes but thank goodness I found Gabe Summer&#8217;s blog.  To [...]]]></description>
			<content:encoded><![CDATA[<p>I am working on a personal project that needed a list of US City, State and Zip and the ability to get a list of nearby Zips by radius. For awhile there, I thought I was going to have to pay for a list of ZipCodes but thank goodness I found <a href="http://www.goondocks.com/blog/08-01-22/zip_code_radius_search_using_mysql.aspx" target="_blank">Gabe Summer&#8217;s</a> blog.  To pay it forward, so to speak, I have adapted Gabe&#8217;s code to SQL Server.  </p>
<p>CityStateZip Table</p>
<p><code> </code></p>
<p style="padding-left: 30px;"><code>CREATE TABLE [dbo].[CityStateZip](<br />
[ZipCode] [char](5) NOT NULL,<br />
[Latitude] [numeric](18, 6) NULL,<br />
[Longitude] [numeric](18, 6) NULL,<br />
[City] [varchar](50) NOT NULL,<br />
[State] [char](2) NOT NULL,<br />
[County] [varchar](50) NOT NULL,<br />
[Zip_Class] [varchar](50) NOT NULL,<br />
CONSTRAINT [PK_CityStateZip] PRIMARY KEY CLUSTERED<br />
(<br />
[ZipCode] ASC<br />
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]<br />
) ON [PRIMARY]</code></p>
<p>GetDistance Function</p>
<p style="padding-left: 30px;"><code>CREATE  FUNCTION GetDistance(<br />
     @lat1  numeric (9,6),<br />
     @lon1  numeric (9,6),<br />
     @lat2  numeric (9,6),<br />
     @lon2  numeric (9,6)<br />
     )  RETURNS decimal (10,5)<br />
BEGIN </code></p>
<p style="padding-left: 60px;"><code>DECLARE  @x  decimal (20,10);</code></p>
<p><code> </code></p>
<p style="padding-left: 60px;"><span style="font-family: -webkit-monospace;">SET  @x = sin( @lat1 * pi()/180 ) * sin( @lat2 * pi()/180  ) + cos(@lat1 * pi()/180 ) * cos( @lat2 * pi()/180 ) * cos(  abs ( (@lon2 * pi()/180) &#8211;  (@lon1 * pi()/180) ) );</span></p>
<p style="padding-left: 60px;"><code> SET  @x = atan( ( sqrt( 1- power( @x, 2 ) ) ) / @x );</code></p>
<p style="padding-left: 60px;"><code> RETURN  ( 1.852 * 60.0 * ((@x/pi())*180) ) / 1.609344;</code></p>
<p style="padding-left: 30px;"><code>END</code></p>
<p>GetNearbyZipCodes Stored Procedure</p>
<p style="padding-left: 30px; "><code>CREATE  PROCEDURE usp_GetNearbyZipCodes<br />
     @zipbase  varchar (6),<br />
     @range  numeric (15)<br />
AS<br />
BEGIN</code></p>
<p style="padding-left: 30px; "><code>     SET NOCOUNT ON</code></p>
<p><code> </code></p>
<p> </p>
<p><code></p>
<p style="padding-left: 60px; ">DECLARE  @lat1  decimal (5,2);<br />
DECLARE  @long1  decimal (5,2);<br />
DECLARE  @rangeFactor  decimal (7,6);</p>
<p style="padding-left: 60px; ">SET  @rangeFactor = 0.014457;</p>
<p style="padding-left: 60px; ">SELECT  @lat1=latitude, @long1=longitude<br />
  FROM  CityStateZip<br />
 WHERE  zipcode = @zipbase;</p>
<p style="padding-left: 60px; ">SELECT  B.zipcode, dbo.GetDistance(@lat1,@long1,B.latitude,B.longitude) Distance<br />
  FROM  CityStateZip AS  B<br />
 WHERE  B.latitude  BETWEEN  @lat1-(@range*@rangeFactor) AND  @lat1+(@range*@rangeFactor)<br />
   AND  B.longitude  BETWEEN  @long1-(@range*@rangeFactor) AND @long1+(@range*@rangeFactor)<br />
   AND  dbo.GetDistance(@lat1,@long1,B.latitude,B.longitude) &lt;= @range;</p>
<p></code></p>
<p> </p>
<p> </p>
<p style="padding-left: 30px; "><code>END</code></p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.edoverip.com/edoverip/index.php/2009/01/08/zipcode-radius/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google App and 3rd party web host</title>
		<link>http://www.edoverip.com/edoverip/index.php/2008/12/29/google-app-and-3rd-party-web-host/</link>
		<comments>http://www.edoverip.com/edoverip/index.php/2008/12/29/google-app-and-3rd-party-web-host/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 01:07:04 +0000</pubDate>
		<dc:creator>eip</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.edoverip.com/edoverip/?p=230</guid>
		<description><![CDATA[In the recent months, anytime I am asked to help a client to set up domain purchase, email and web hosting, I&#8217;ve been using a combination of Google App and 3rd party web hosts such as GoDaddy.com.  I prefer to register the domain via Google App for $10/yr which include private registration and everything [...]]]></description>
			<content:encoded><![CDATA[<p>In the recent months, anytime I am asked to help a client to set up domain purchase, email and web hosting, I&#8217;ve been using a combination of <a href="www.google.com/apps" target="_blank">Google App</a> and 3rd party web hosts such as <a href="http://www.godaddy.com" target="_blank">GoDaddy.com</a>.  I prefer to register the domain via Google App for <strong>$10/yr</strong> which include private registration and everything Google has to offer. The same purchase will cost twice to three times as much elsewhere.  For example, at GoDaddy, the cost of any given domain might look something like this:</p>
<p>- Domain: $14.99/yr<br />
- <a href="http://www.godaddy.com/gdshop/dbp/landing.asp" target="_blank">Private Domain Registration</a>: $8.99/yr<br />
- Email: $19.99/yr (which reduces your domain to just $1.99)</p>
<p>Total: $30.99/yr</p>
<p>The tricky part (while not really tricky at all) is configuring thr DNS of the Google App to point web hosting to the 3rd party while retaining email and everything else on Google.  </p>
<p>To configure DNS for your Google App to work with a 3rd party web host:</p>
<ol>
<li>Go to the admin dashboard for your domain</li>
<li>Click Domain Settings in the top navigation bar</li>
<li>Click the Domain Names tab under Domain Settings</li>
<li>Click Advanced DNS Settings and following the instructions on the next page</li>
<li>Once you&#8217;re logged in, click on your domain name</li>
<li>Click &#8220;Total DNS Control and MX Records&#8221; in the middle column of the top box</li>
<li>Once you&#8217;re in Total DNS Control, remove all the A Records and put in a single A record with @ as the host and IP pointing to your 3rd party web host.</li>
<li>In CNAMES, modify the www record from being pointed to ghs.google.com to @.</li>
</ol>
<p>That&#8217;s it! The changes might take up to 48 hours to propagate but your job is done.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.edoverip.com/edoverip/index.php/2008/12/29/google-app-and-3rd-party-web-host/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
