<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-5572965969277591221</id><updated>2010-02-07T23:04:30.145Z</updated><title type='text'>Tony Flaks: Tech Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://techblog.tony.flaks.org/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default'/><link rel='alternate' type='text/html' href='http://techblog.tony.flaks.org/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tony</name><uri>http://www.blogger.com/profile/09297331781346529600</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5572965969277591221.post-1377025996033719389</id><published>2008-01-29T17:30:00.001Z</published><updated>2008-02-08T16:34:33.851Z</updated><title type='text'>Siebel 7.8 Web Services: Correcting WSDL</title><content type='html'>&lt;p&gt;The WSDL that is generated by Siebel for inbound web services is lacking some internal schema imports.  The .NET SOAP tooling gives some warnings, but works around it.  Some other toolkits refuse to work with the schema.  Passing the WSDL through this XSLT transform fixes the problem:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;  &lt;br /&gt;&amp;lt;xsl:stylesheet version="1.0" xmlns:xsl="&lt;a href="http://www.w3.org/1999/XSL/Transform"&gt;http://www.w3.org/1999/XSL/Transform&lt;/a&gt;"               &lt;br /&gt;                xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"   &lt;br /&gt;                xmlns:xsd="&lt;a href="http://www.w3.org/2001/XMLSchema"&gt;http://www.w3.org/2001/XMLSchema&lt;/a&gt;"   &lt;br /&gt;                xmlns:wsdl="&lt;a href="http://schemas.xmlsoap.org/wsdl/"&gt;http://schemas.xmlsoap.org/wsdl/&lt;/a&gt;"   &lt;br /&gt;&amp;gt;   &lt;br /&gt;  &amp;lt;xsl:output method="xml" indent="no"/&amp;gt;&lt;/p&gt;  &lt;p&gt;  &amp;lt;xsl:template match="xsd:schema[@targetNamespace='http://siebel.com/asi/']"&amp;gt;  &lt;br /&gt;    &amp;lt;xsd:schema&amp;gt;   &lt;br /&gt;      &amp;lt;xsl:copy-of select="@*" /&amp;gt;     &lt;br /&gt;    &amp;lt;/xsd:schema&amp;gt;   &lt;br /&gt;    &amp;lt;xsd:import&amp;gt;   &lt;br /&gt;      &amp;lt;xsl:attribute name="namespace"&amp;gt;   &lt;br /&gt;        &amp;lt;xsl:value-of select="//xsd:schema/@targetNamespace"/&amp;gt;   &lt;br /&gt;      &amp;lt;/xsl:attribute&amp;gt;   &lt;br /&gt;    &amp;lt;/xsd:import&amp;gt;   &lt;br /&gt;    &amp;lt;xsl:copy-of select="node()"/&amp;gt;   &lt;br /&gt;  &amp;lt;/xsl:template&amp;gt;&lt;/p&gt;  &lt;p&gt;  &amp;lt;xsl:template match="@* | node()"&amp;gt;  &lt;br /&gt;    &amp;lt;xsl:copy&amp;gt;   &lt;br /&gt;      &amp;lt;xsl:apply-templates select="@* | node()"/&amp;gt;   &lt;br /&gt;    &amp;lt;/xsl:copy&amp;gt;   &lt;br /&gt;  &amp;lt;/xsl:template&amp;gt;   &lt;br /&gt;&amp;lt;/xsl:stylesheet&amp;gt;    &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5572965969277591221-1377025996033719389?l=techblog.tony.flaks.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techblog.tony.flaks.org/feeds/1377025996033719389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5572965969277591221&amp;postID=1377025996033719389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/1377025996033719389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/1377025996033719389'/><link rel='alternate' type='text/html' href='http://techblog.tony.flaks.org/2008/01/siebel-78-web-services-correcting-wsdl.html' title='Siebel 7.8 Web Services: Correcting WSDL'/><author><name>Tony</name><uri>http://www.blogger.com/profile/09297331781346529600</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09838651031401579038'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5572965969277591221.post-7748183318637338476</id><published>2008-01-21T12:00:00.001Z</published><updated>2008-01-21T12:01:29.464Z</updated><title type='text'>Visual Studio 2008 unit tests: one App.config to rule them all</title><content type='html'>&lt;h2&gt;&lt;/h2&gt;  &lt;h3&gt;Background&lt;/h3&gt;  &lt;p&gt;When using NUnit, I tended to include unit tests in their projects, so they would be built as part of the .dll or .exe depending on the output type (so they were excluded in release builds).&lt;/p&gt;  &lt;p&gt;Visual Studio's unit tests are built as separate libraries.&amp;#160; This is good in that it further removes dependencies, but removes access to internal methods: unit testing of internal methods was something I'd catered for since using JUnit, although in practice I can't remember many times that I've really needed to call an internal, rather than testing against the public interfaces.&lt;/p&gt;  &lt;p&gt;Each project (e.g. libraries) now has a settings file, and VS 2008 takes care of maintaining a skeleton app.config within each project that contains the relevant applicationSettings section.&amp;#160; Typically a unit test for a library will depend on a lot of configuration for other libraries, e.g. application settings, WCF, etc.&amp;#160; Having a separate App.config under each unit test project with all this information means duplicating a lot of information that may change (e.g. locations of web services or databases required for tests).&lt;/p&gt;  &lt;h3&gt;Solution&lt;/h3&gt;  &lt;p&gt;Under 'Solution Items', add a new App.config that will be the master configuration for development and unit testing.&amp;#160; Then configure each unit test project with a post-build step to copy this configuration into the output directory using the 'Build Events' tab in the project settings.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.google.com/TonyAndLika/R5SJYnmhGtI/AAAAAAAAAB8/7woLBCoGJRY/VS%20shared%20test%20config%5B16%5D"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="350" alt="VS shared test config" src="http://lh6.google.com/TonyAndLika/R5SJZHmhGuI/AAAAAAAAACE/36Z9mRLVU08/VS%20shared%20test%20config_thumb%5B8%5D" width="575" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5572965969277591221-7748183318637338476?l=techblog.tony.flaks.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techblog.tony.flaks.org/feeds/7748183318637338476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5572965969277591221&amp;postID=7748183318637338476' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/7748183318637338476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/7748183318637338476'/><link rel='alternate' type='text/html' href='http://techblog.tony.flaks.org/2008/01/visual-studio-2008-unit-tests-one.html' title='Visual Studio 2008 unit tests: one App.config to rule them all'/><author><name>Tony</name><uri>http://www.blogger.com/profile/09297331781346529600</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09838651031401579038'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5572965969277591221.post-2090032951754496032</id><published>2008-01-21T10:43:00.001Z</published><updated>2008-01-21T10:46:16.406Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>Unit testing: Visual Studio native and NUnit</title><content type='html'>&lt;p&gt;Since Team System unit tests are now available in Visual Studio 2008 Pro, it is convenient to be able to use this rather than rely on a 3rd party add-ins to support NUnit.&amp;#160; On the other hand, it is good to have backwards compatibility with NUnit so that code could be built outside of VS, or in VS Express edition.&lt;/p&gt;  &lt;p&gt;There is a pattern that Microsoft has been using to allow this, involving conditional compilation: place this at the top of a project file:&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;#if &lt;/span&gt;!NUNIT&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;Microsoft.VisualStudio.TestTools.UnitTesting;&lt;br /&gt;&lt;span style="color: blue"&gt;#else&lt;br /&gt;&lt;/span&gt;&lt;span style="color: gray"&gt;using NUnit.Framework;&lt;br /&gt;using TestClass = NUnit.Framework.TestFixtureAttribute;&lt;br /&gt;using TestMethod = NUnit.Framework.TestAttribute;&lt;br /&gt;using TestInitialize = NUnit.Framework.SetUpAttribute;&lt;br /&gt;using TestCleanup = NUnit.Framework.TearDownAttribute;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;#endif&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;The two APIs are not exactly the same but there is a useful subset of Assert methods that will work in both.  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5572965969277591221-2090032951754496032?l=techblog.tony.flaks.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techblog.tony.flaks.org/feeds/2090032951754496032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5572965969277591221&amp;postID=2090032951754496032' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/2090032951754496032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/2090032951754496032'/><link rel='alternate' type='text/html' href='http://techblog.tony.flaks.org/2008/01/unit-testing-visual-studio-native-and.html' title='Unit testing: Visual Studio native and NUnit'/><author><name>Tony</name><uri>http://www.blogger.com/profile/09297331781346529600</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09838651031401579038'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5572965969277591221.post-572673931384562609</id><published>2007-12-09T23:04:00.000Z</published><updated>2007-12-12T14:19:26.522Z</updated><title type='text'>Access control of HTTP addresses in Vista</title><content type='html'>Vista has namespace reservations to control the set up of HTTP listening ports.  By default, a user does not have access to listen to arbitrary HTTP ports e.g. using wsHttpBinding in WCF.&lt;br /&gt;&lt;br /&gt;To show the access control for all ports, use command:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;netsh http show urlacl&lt;/li&gt;&lt;/ul&gt;To grant user Tony access to port 8000, do:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;netsh http add urlacl url=http://+:8000/ user=Tony&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-style: italic;"&gt;Update: there is a &lt;a href="http://wcf.netfx3.com/files/folders/administration_tools/entry5725.aspx"&gt;deployment tool for WCF&lt;/a&gt; that includes this step.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5572965969277591221-572673931384562609?l=techblog.tony.flaks.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techblog.tony.flaks.org/feeds/572673931384562609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5572965969277591221&amp;postID=572673931384562609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/572673931384562609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/572673931384562609'/><link rel='alternate' type='text/html' href='http://techblog.tony.flaks.org/2007/12/access-control-of-http-addresses-in.html' title='Access control of HTTP addresses in Vista'/><author><name>Tony</name><uri>http://www.blogger.com/profile/09297331781346529600</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09838651031401579038'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5572965969277591221.post-3814521781242513978</id><published>2007-08-30T10:34:00.000Z</published><updated>2007-08-30T10:44:31.115Z</updated><title type='text'>Junctions and symbolic links</title><content type='html'>&lt;span style="font-weight: bold;"&gt;NTFS Junctions Points&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;managed through the &lt;span style="font-weight: bold;"&gt;linkd&lt;/span&gt; command from the WRK.&lt;/li&gt;&lt;li&gt;(linkd /d is the safe way to delete junction points - don't use Explorer)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;NTFS Symbolic Links&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Vista and Server 2008&lt;/li&gt;&lt;li&gt;created using &lt;span style="font-weight: bold;"&gt;mklink&lt;/span&gt;&lt;/li&gt;&lt;li&gt;file links deleted using &lt;span style="font-weight: bold;"&gt;del&lt;/span&gt;&lt;/li&gt;&lt;li&gt;directory links deleted using &lt;span style="font-weight: bold;"&gt;rmdir&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5572965969277591221-3814521781242513978?l=techblog.tony.flaks.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techblog.tony.flaks.org/feeds/3814521781242513978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5572965969277591221&amp;postID=3814521781242513978' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/3814521781242513978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/3814521781242513978'/><link rel='alternate' type='text/html' href='http://techblog.tony.flaks.org/2007/08/junctions-and-symbolic-links.html' title='Junctions and symbolic links'/><author><name>Tony</name><uri>http://www.blogger.com/profile/09297331781346529600</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09838651031401579038'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5572965969277591221.post-4483614057987156177</id><published>2007-05-14T10:35:00.001Z</published><updated>2007-05-14T10:47:30.016Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>JBoss 4.0.2 under Java 1.5 / 1.6</title><content type='html'>I had a slight problem with this combination and was getting the following exception:&lt;br /&gt;&lt;table bgcolor="lightblue"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;provider org.apache.xalan.processor.TransformerFactoryImpl not found&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;After some searching it turns out that the provider class has moved and it's now necessary to set a property to locate the new location.  I did this with a JAVA_OPTS switch in the setenv.bat:&lt;br /&gt;&lt;table bgcolor="lightblue"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;set JAVA_OPTS=-Djavax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5572965969277591221-4483614057987156177?l=techblog.tony.flaks.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techblog.tony.flaks.org/feeds/4483614057987156177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5572965969277591221&amp;postID=4483614057987156177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/4483614057987156177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/4483614057987156177'/><link rel='alternate' type='text/html' href='http://techblog.tony.flaks.org/2007/05/jboss-402-under-java-15-16.html' title='JBoss 4.0.2 under Java 1.5 / 1.6'/><author><name>Tony</name><uri>http://www.blogger.com/profile/09297331781346529600</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09838651031401579038'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5572965969277591221.post-3257462722563908253</id><published>2007-05-11T10:24:00.000Z</published><updated>2007-05-11T10:52:03.306Z</updated><title type='text'>Terminal Services / Remote Desktop commands</title><content type='html'>I was looking for a way to see who is logged on before I bounce a Windows server.  There are some useful commands for managing sessions:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;mstsc&lt;/span&gt;: start new session&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;shadow:&lt;/span&gt; join a session&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;qwinsta&lt;/span&gt;: query window station e.g. show sessions&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;tskill:&lt;/span&gt; kill a session&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;tsdisconn&lt;/span&gt;: disconnect current session.b&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5572965969277591221-3257462722563908253?l=techblog.tony.flaks.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techblog.tony.flaks.org/feeds/3257462722563908253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5572965969277591221&amp;postID=3257462722563908253' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/3257462722563908253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/3257462722563908253'/><link rel='alternate' type='text/html' href='http://techblog.tony.flaks.org/2007/05/terminal-services-remote-desktop.html' title='Terminal Services / Remote Desktop commands'/><author><name>Tony</name><uri>http://www.blogger.com/profile/09297331781346529600</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09838651031401579038'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5572965969277591221.post-5065542122547636446</id><published>2007-04-18T13:09:00.000Z</published><updated>2007-04-18T13:51:50.961Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Windows Desktop Search: Searching Sharepoint</title><content type='html'>I'm getting on very well with Windows Desktop Search (see &lt;a href="http://devshred.blogspot.com/2007/04/windows-desktop-search.html"&gt;earlier post&lt;/a&gt;).  The integration with Outlook is better than I had with Google Desktop.&lt;br /&gt;&lt;br /&gt;One more thing will make my life much easier: the ability to trawl a cetain remote Sharepoint site.  I have access to the site in question using Windows authentication and the WebDav (aka web folder) address of &lt;code&gt;http://somesite/Intranet/Hidden Folder/InterestingDocuments&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;I don't think there is any way to point WDS at a web folder - I tried specifying one in the UNC box but it wasn't accepted.&lt;br /&gt;&lt;br /&gt;On the other hand it is just about possible to mount a web folder as a drive letter and get WDS to index it.&lt;br /&gt;&lt;br /&gt;I hit some problems in my situation:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I don't have access to &lt;code&gt;Intranet&lt;/code&gt;, only to the folders underneath.&lt;/li&gt;&lt;li&gt;&lt;code&gt;Hidden Folder&lt;/code&gt; has a space in it - and the &lt;code&gt;net use&lt;/code&gt; command fails with this, even if it is encoded as &lt;code&gt;%20&lt;/code&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;These are surmountable if I mount the hidden level as a drive letter and then explicity add the folders underneath to the list of folders to index.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Mapping the Drive&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In a command prompt:&lt;blockquote&gt;&lt;code&gt;net use M: "http://somesite/Intranet" /persistent:yes&lt;/code&gt;&lt;/blockquote&gt;A &lt;code&gt;dir m:\&lt;/code&gt; shows no files because it is hidden from me.  This is okay - I don't have permission to list the folder contents but I can access folders underneath if I know their names.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Indexing the Folder&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To add the original folder to WDS, I opened the &lt;span style="font-style: italic;"&gt;Indexing Options&lt;/span&gt; in &lt;span style="font-style: italic;"&gt;Control Panel&lt;/span&gt;, clicked Advanced and then added &lt;code&gt;m:\&lt;br /&gt;Hidden Folder/InterestingDocuments&lt;/code&gt; under the &lt;span style="font-style: italic;"&gt;Add UNC Location&lt;/span&gt; tab.&lt;br /&gt;&lt;br /&gt;That's it - just let the indexing engine gradually trawl the sharepoint folders across the network.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Searching&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Searches will then include results from the sharepoint folders, but if I want to I can add a search condition to only search under those folders:&lt;br /&gt;&lt;br /&gt;e.g. &lt;code&gt;title:"Web Services" kind:docs under:InterestingDocuments&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5572965969277591221-5065542122547636446?l=techblog.tony.flaks.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techblog.tony.flaks.org/feeds/5065542122547636446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5572965969277591221&amp;postID=5065542122547636446' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/5065542122547636446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/5065542122547636446'/><link rel='alternate' type='text/html' href='http://techblog.tony.flaks.org/2007/04/windows-desktop-search-searching.html' title='Windows Desktop Search: Searching Sharepoint'/><author><name>Tony</name><uri>http://www.blogger.com/profile/09297331781346529600</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09838651031401579038'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5572965969277591221.post-7198345169798753030</id><published>2007-04-11T09:31:00.000Z</published><updated>2007-04-11T10:02:02.152Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Windows Desktop Search</title><content type='html'>I recently uninstalled Google Desktop Search after watching a demo of &lt;a href="http://www.watchfire.com/news/releases/02-21-07.aspx"&gt;an exploit&lt;/a&gt;.  Although the particular case seems to be fixed it looks like the feature of mixing the local with web results opens the door to a whole family of similar exploits.  Ideally I'd be able to just turn off the Desktop Link feature.  Until then I'm looking for another solution.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/windows/desktopsearch/default.mspx"&gt;Windows Desktop Search&lt;/a&gt; is shipped with Vista but is also available as a free download for earlier Windows.  It comes with a set of filters and a plug-in for Outlook (which is presumably the result of this &lt;a href="http://www.microsoft.com/presspass/press/2004/jul04/07-16LookoutPR.mspx"&gt;buyout&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;There are also a number of &lt;a href="http://www.ifilter.org/Links.htm"&gt;third-party filters&lt;/a&gt; available.&lt;br /&gt;&lt;br /&gt;Just waiting for the indexing service to complete it's first run, then hopefully I can find emails again...&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;br /&gt;It looks like WDS also had an XSS attack vulnerability: see &lt;a href="http://www.microsoft.com/technet/security/Bulletin/MS06-053.mspx"&gt;advisory&lt;/a&gt; and patches.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5572965969277591221-7198345169798753030?l=techblog.tony.flaks.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techblog.tony.flaks.org/feeds/7198345169798753030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5572965969277591221&amp;postID=7198345169798753030' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/7198345169798753030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/7198345169798753030'/><link rel='alternate' type='text/html' href='http://techblog.tony.flaks.org/2007/04/windows-desktop-search.html' title='Windows Desktop Search'/><author><name>Tony</name><uri>http://www.blogger.com/profile/09297331781346529600</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09838651031401579038'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5572965969277591221.post-3044502061413891950</id><published>2007-04-02T14:29:00.000Z</published><updated>2007-05-17T22:02:41.730Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='xslt wsdl'/><title type='text'>Packaging WSDL</title><content type='html'>It's often a good thing to reference XML Schema documents from WSDL so that common types are not duplicated in multiple WSDL files.&lt;br /&gt;&lt;br /&gt;On the other hand not all tooling will handle referenced schemas and it is necessary to embed the schema in the WSDL.&lt;br /&gt;&lt;br /&gt;This XSLT transformation will turn a WSDL containing references to other schemas into an equivalent WSDL that embeds those schemas inline.&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor=lightblue&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&amp;lt;?xml version="1.0"?&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;   This stylesheet will embed any schemas referenced with an 'import' element so an&lt;br /&gt;   equivalent standalone WSDL is created.  This is necessary for tools that don't work with&lt;br /&gt;   referenced schemas.&lt;br /&gt; &lt;br /&gt;--&gt;&lt;br /&gt;&amp;lt;xsl:stylesheet version="1.0"&lt;br /&gt;         xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&lt;br /&gt;         xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"&lt;br /&gt;         xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;&lt;br /&gt;       &lt;br /&gt;   &amp;lt;xsl:output method="xml" indent="no"/&gt;  &lt;br /&gt; &lt;br /&gt;   &amp;lt;xsl:template match="@*|node()"&gt;&lt;br /&gt;       &amp;lt;xsl:copy&gt;&lt;br /&gt;           &amp;lt;xsl:apply-templates select="@*|node()"/&gt;&lt;br /&gt;         &amp;lt;/xsl:copy&gt;&lt;br /&gt;   &amp;lt;/xsl:template&gt;&lt;br /&gt; &lt;br /&gt;   &amp;lt;xsl:template match="wsdl:types"&gt;&lt;br /&gt;       &amp;lt;xsl:copy&gt;&lt;br /&gt;           &amp;lt;xsl:apply-templates select="xsd:schema/xsd:import" mode="embed" /&gt;&lt;br /&gt;           &amp;lt;xsl:apply-templates select="@*|node()"/&gt;&lt;br /&gt;         &amp;lt;/xsl:copy&gt;&lt;br /&gt;   &amp;lt;/xsl:template&gt;&lt;br /&gt; &lt;br /&gt;   &amp;lt;xsl:template match="xsd:import"&gt;&lt;br /&gt;       &amp;lt;xsd:import&gt;&lt;br /&gt;           &amp;lt;xsl:attribute name="namespace"&gt;&amp;lt;xsl:value-of select="@namespace" /&gt;&amp;lt;/xsl:attribute&gt;&lt;br /&gt;       &amp;lt;/xsd:import&gt;&lt;br /&gt;   &amp;lt;/xsl:template&gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;xsl:template match="xsd:import" mode="embed"&gt;&lt;br /&gt;       &amp;lt;xsl:apply-templates select="document(@schemaLocation)" /&gt;&lt;br /&gt;   &amp;lt;/xsl:template&gt;&lt;br /&gt; &lt;br /&gt;&amp;lt;/xsl:stylesheet&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5572965969277591221-3044502061413891950?l=techblog.tony.flaks.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techblog.tony.flaks.org/feeds/3044502061413891950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5572965969277591221&amp;postID=3044502061413891950' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/3044502061413891950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/3044502061413891950'/><link rel='alternate' type='text/html' href='http://techblog.tony.flaks.org/2007/04/packaging-wsdl.html' title='Packaging WSDL'/><author><name>Tony</name><uri>http://www.blogger.com/profile/09297331781346529600</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09838651031401579038'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5572965969277591221.post-5552930140522275336</id><published>2007-01-22T16:58:00.000Z</published><updated>2007-01-22T17:13:04.488Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ssl ubuntu apache2'/><title type='text'>Enabling SSL for Apache2 in Ubuntu</title><content type='html'>Quick recipe:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family: verdana;"&gt;Create self-signed certificate:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;apache2-ssl-certificate&lt;/span&gt;&lt;/li&gt;&lt;li&gt; &lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-family: verdana;"&gt;Enable SSL mod:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;a2enmod ssl&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; &lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;Enable name-based virtual hosts on 443:&lt;br /&gt;&lt;/span&gt;NameVirtualHost *:443&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;Add virtual-host in sites-available, and include SSL directives:&lt;br /&gt;&lt;/span&gt;         SSLEngine On&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;         SSLCertificateFile /etc/apache2/ssl/apache.pem&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;Add 443 to ports.conf:&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;/span&gt;Listen 443&lt;span style="font-family:georgia;"&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5572965969277591221-5552930140522275336?l=techblog.tony.flaks.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techblog.tony.flaks.org/feeds/5552930140522275336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5572965969277591221&amp;postID=5552930140522275336' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/5552930140522275336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5572965969277591221/posts/default/5552930140522275336'/><link rel='alternate' type='text/html' href='http://techblog.tony.flaks.org/2007/01/enabling-ssl-for-apache2-in-ubuntu.html' title='Enabling SSL for Apache2 in Ubuntu'/><author><name>Tony</name><uri>http://www.blogger.com/profile/09297331781346529600</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09838651031401579038'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>