Friday, December 13, 2002

There's a new spec out there called RSD (Really Simple Discovery). It's similar to WS-Inspection (which I co-wrote). As a thought experiment, I thought I would see how close WS-Inspection comes to RSD's functionality. This isn't meant to imply I think RSD shouldn't exist, but purely for fun.

Here's an example RSD:

<?xml version="1.0" ?>
<rsd version="0.6" xmlns:rsd="http://archipelago.phrasewise.com/rsd" >
<service>
<engineName>Blog CMS</engineName>
<engineLink>http://www.blog.com/ </engineLink>
<homePageLink>http://www.user.com/ </homePageLink>
<apis>
<api name="Weblog" preferred="true" rpcLink="http://example.com/xml/rpc/url" blogID="123abc" />
</apis>
</service>
</rsd>

And here is the equivalent in WS-Inspection, with some RSD-like elements and attributes added:

<inspection xmlns="http://schemas.xmlsoap.org/ws/2001/10/inspection/"
xmlns:wsilwsdl="http://schemas.xmlsoap.org/ws/2001/10/inspection/wsdl/"
xmlns:rsd="http://archipelago.phrasewise.com/2002/12/rsd" >

<rsd:engineName>Blog Munging CMS</rsd:engineName>
<rsd:engineLink>http://www.blogmunging.com/ </rsd:engineLink>
<rsd:homePageLink>http://www.userdomain.com/ </rsd:homePageLink>
<abstract>This is the list of services supported by the Blog Munging CMS</abstract>

<service rsd:preferred="true" rsd:blogID="123abc">
<abstract>This is the MetaWeblog</abstract>
<description referencedNamespace="http://schemas.xmlsoap.org/wsdl/"
location="http://example.com/xml/rpc/url?WSDL">
<wsilwsdl:reference endpointPresent="yes">
<wsilwsdl:referencedService>rsd:MetaWeblog</wsilwsdl:referencedService>
</wsilwsdl:reference>
</description>
<rsd:rpcLink>http://example.com/xml/rpc/url<rsd:rpcLink>
</service>

</inspection>

Wednesday, December 11, 2002

Here's your next WSE tip of the day:

When you are having trouble, you can use the tracing feature of the WSE. This feature will write the input and output messages into the files specified.

<xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="microsoft.web.services" type="Microsoft.Web.Services.Configuration.WebServicesConfiguration, Microsoft.Web.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</configSections>
<microsoft.web.services>
<diagnostics>
<trace enabled="true" input="c:\InputTrace.webinfo" output="c:\OutputTrace.webinfo" />
</diagnostics>
</microsoft.web.services>
</configuration>

Tuesday, December 10, 2002

Here's your WSE 1.0 tip of the day:

By default, the WSE will give errors that won't give tons of information during errors. During development, you may need to see more explicit error messages, like a stack trace. We use the ASP.NET custom errors settings for this:

<configuration>
<system.web>
<customErrors mode="RemoteOnly" />
</system.web>
</configuration>

You have three options here: On, Off, and RemoteOnly. I recommend RemoteOnly - note that this means you will get the detailed error messages when sending messages from locahost.

Monday, December 09, 2002

Web Services Enhancements for Microsoft .NET

I've been working on this one all year. Formally known as the WSDK, I've never been more proud of a release. I'll try to find more time this winter to post - focusing on related topics.

Saturday, December 07, 2002

Save Firefly! The best new show out there. Fox is on the fence about it. Let them know how you feel.

Today's letter is "W".