Click here to Skip to main content
15,896,526 members
Articles / Programming Languages / Visual Basic

RSS Feed Aggregator and Blogging Smart Client

Rate me:
Please Sign up or sign in to vote.
4.91/5 (85 votes)
16 Aug 2005CPOL52 min read 1.1M   2.4K   397  
RSS Feed aggregator and blogging Smart Client which uses Enterprise Library, Updater Application Block, lots of XML hacks and desktop tricks. A comprehensive guide to real life hurdles of Smart Client development.
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://communityserver.org/blogs/services/posts/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://communityserver.org/blogs/services/posts/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://communityserver.org/blogs/services/posts/">
      <s:element name="Blogs">
        <s:complexType />
      </s:element>
      <s:element name="BlogsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="BlogsResult" type="tns:ArrayOfString" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfString">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="BlogCredentials" type="tns:BlogCredentials" />
      <s:complexType name="BlogCredentials">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Blogname" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="Create">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="post" type="tns:BlogPost" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="BlogPost">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="PostID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="Title" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Body" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="Date" type="s:dateTime" />
          <s:element minOccurs="0" maxOccurs="1" name="Excerpt" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Categories" type="tns:ArrayOfString" />
          <s:element minOccurs="1" maxOccurs="1" name="IsPublished" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="EnableComments" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="EnableTrackbacks" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="ModerateComments" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="EnableRatings" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="Syndicate" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="SyndicateExcerpt" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="SydicateRoot" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="DisplayOnHome" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="IsArticle" type="s:boolean" />
        </s:sequence>
      </s:complexType>
      <s:element name="CreateResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="CreateResult" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="Update">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="post" type="tns:BlogPost" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UpdateResponse">
        <s:complexType />
      </s:element>
      <s:element name="Delete">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="PostID" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DeleteResponse">
        <s:complexType />
      </s:element>
      <s:element name="GetRecentPosts">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="count" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetRecentPostsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetRecentPostsResult" type="tns:ArrayOfBlogPost" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfBlogPost">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="BlogPost" type="tns:BlogPost" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetRecentArticles">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="count" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetRecentArticlesResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetRecentArticlesResult" type="tns:ArrayOfBlogPost" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetPostCategories">
        <s:complexType />
      </s:element>
      <s:element name="GetPostCategoriesResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetPostCategoriesResult" type="tns:ArrayOfString" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetArticleCategories">
        <s:complexType />
      </s:element>
      <s:element name="GetArticleCategoriesResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetArticleCategoriesResult" type="tns:ArrayOfString" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="Ping">
        <s:complexType />
      </s:element>
      <s:element name="PingResponse">
        <s:complexType />
      </s:element>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="BlogsSoapIn">
    <wsdl:part name="parameters" element="tns:Blogs" />
  </wsdl:message>
  <wsdl:message name="BlogsSoapOut">
    <wsdl:part name="parameters" element="tns:BlogsResponse" />
  </wsdl:message>
  <wsdl:message name="BlogsBlogCredentials">
    <wsdl:part name="BlogCredentials" element="tns:BlogCredentials" />
  </wsdl:message>
  <wsdl:message name="CreateSoapIn">
    <wsdl:part name="parameters" element="tns:Create" />
  </wsdl:message>
  <wsdl:message name="CreateSoapOut">
    <wsdl:part name="parameters" element="tns:CreateResponse" />
  </wsdl:message>
  <wsdl:message name="CreateBlogCredentials">
    <wsdl:part name="BlogCredentials" element="tns:BlogCredentials" />
  </wsdl:message>
  <wsdl:message name="UpdateSoapIn">
    <wsdl:part name="parameters" element="tns:Update" />
  </wsdl:message>
  <wsdl:message name="UpdateSoapOut">
    <wsdl:part name="parameters" element="tns:UpdateResponse" />
  </wsdl:message>
  <wsdl:message name="UpdateBlogCredentials">
    <wsdl:part name="BlogCredentials" element="tns:BlogCredentials" />
  </wsdl:message>
  <wsdl:message name="DeleteSoapIn">
    <wsdl:part name="parameters" element="tns:Delete" />
  </wsdl:message>
  <wsdl:message name="DeleteSoapOut">
    <wsdl:part name="parameters" element="tns:DeleteResponse" />
  </wsdl:message>
  <wsdl:message name="DeleteBlogCredentials">
    <wsdl:part name="BlogCredentials" element="tns:BlogCredentials" />
  </wsdl:message>
  <wsdl:message name="GetRecentPostsSoapIn">
    <wsdl:part name="parameters" element="tns:GetRecentPosts" />
  </wsdl:message>
  <wsdl:message name="GetRecentPostsSoapOut">
    <wsdl:part name="parameters" element="tns:GetRecentPostsResponse" />
  </wsdl:message>
  <wsdl:message name="GetRecentPostsBlogCredentials">
    <wsdl:part name="BlogCredentials" element="tns:BlogCredentials" />
  </wsdl:message>
  <wsdl:message name="GetRecentArticlesSoapIn">
    <wsdl:part name="parameters" element="tns:GetRecentArticles" />
  </wsdl:message>
  <wsdl:message name="GetRecentArticlesSoapOut">
    <wsdl:part name="parameters" element="tns:GetRecentArticlesResponse" />
  </wsdl:message>
  <wsdl:message name="GetRecentArticlesBlogCredentials">
    <wsdl:part name="BlogCredentials" element="tns:BlogCredentials" />
  </wsdl:message>
  <wsdl:message name="GetPostCategoriesSoapIn">
    <wsdl:part name="parameters" element="tns:GetPostCategories" />
  </wsdl:message>
  <wsdl:message name="GetPostCategoriesSoapOut">
    <wsdl:part name="parameters" element="tns:GetPostCategoriesResponse" />
  </wsdl:message>
  <wsdl:message name="GetPostCategoriesBlogCredentials">
    <wsdl:part name="BlogCredentials" element="tns:BlogCredentials" />
  </wsdl:message>
  <wsdl:message name="GetArticleCategoriesSoapIn">
    <wsdl:part name="parameters" element="tns:GetArticleCategories" />
  </wsdl:message>
  <wsdl:message name="GetArticleCategoriesSoapOut">
    <wsdl:part name="parameters" element="tns:GetArticleCategoriesResponse" />
  </wsdl:message>
  <wsdl:message name="GetArticleCategoriesBlogCredentials">
    <wsdl:part name="BlogCredentials" element="tns:BlogCredentials" />
  </wsdl:message>
  <wsdl:message name="PingSoapIn">
    <wsdl:part name="parameters" element="tns:Ping" />
  </wsdl:message>
  <wsdl:message name="PingSoapOut">
    <wsdl:part name="parameters" element="tns:PingResponse" />
  </wsdl:message>
  <wsdl:portType name="BlogServiceSoap">
    <wsdl:operation name="Blogs">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Returns a list of blog the current user has post access to</documentation>
      <wsdl:input message="tns:BlogsSoapIn" />
      <wsdl:output message="tns:BlogsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="Create">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Creates a new Post</documentation>
      <wsdl:input message="tns:CreateSoapIn" />
      <wsdl:output message="tns:CreateSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="Update">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Updates an existing post</documentation>
      <wsdl:input message="tns:UpdateSoapIn" />
      <wsdl:output message="tns:UpdateSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="Delete">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Deletes a post by the PostID</documentation>
      <wsdl:input message="tns:DeleteSoapIn" />
      <wsdl:output message="tns:DeleteSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetRecentPosts">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Returns an array of recent posts</documentation>
      <wsdl:input message="tns:GetRecentPostsSoapIn" />
      <wsdl:output message="tns:GetRecentPostsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetRecentArticles">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Returns an array of recent articles</documentation>
      <wsdl:input message="tns:GetRecentArticlesSoapIn" />
      <wsdl:output message="tns:GetRecentArticlesSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetPostCategories">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Returns a list of Category Names</documentation>
      <wsdl:input message="tns:GetPostCategoriesSoapIn" />
      <wsdl:output message="tns:GetPostCategoriesSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetArticleCategories">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Returns a list of Category Names</documentation>
      <wsdl:input message="tns:GetArticleCategoriesSoapIn" />
      <wsdl:output message="tns:GetArticleCategoriesSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="Ping">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Enables pinging to see if the site is online</documentation>
      <wsdl:input message="tns:PingSoapIn" />
      <wsdl:output message="tns:PingSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="BlogServiceSoap" type="tns:BlogServiceSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <wsdl:operation name="Blogs">
      <soap:operation soapAction="http://communityserver.org/blogs/services/posts/Blogs" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:BlogsBlogCredentials" part="BlogCredentials" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Create">
      <soap:operation soapAction="http://communityserver.org/blogs/services/posts/Create" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:CreateBlogCredentials" part="BlogCredentials" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Update">
      <soap:operation soapAction="http://communityserver.org/blogs/services/posts/Update" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:UpdateBlogCredentials" part="BlogCredentials" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Delete">
      <soap:operation soapAction="http://communityserver.org/blogs/services/posts/Delete" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:DeleteBlogCredentials" part="BlogCredentials" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRecentPosts">
      <soap:operation soapAction="http://communityserver.org/blogs/services/posts/GetRecentPosts" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:GetRecentPostsBlogCredentials" part="BlogCredentials" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRecentArticles">
      <soap:operation soapAction="http://communityserver.org/blogs/services/posts/GetRecentArticles" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:GetRecentArticlesBlogCredentials" part="BlogCredentials" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPostCategories">
      <soap:operation soapAction="http://communityserver.org/blogs/services/posts/GetPostCategories" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:GetPostCategoriesBlogCredentials" part="BlogCredentials" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetArticleCategories">
      <soap:operation soapAction="http://communityserver.org/blogs/services/posts/GetArticleCategories" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:GetArticleCategoriesBlogCredentials" part="BlogCredentials" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Ping">
      <soap:operation soapAction="http://communityserver.org/blogs/services/posts/Ping" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="BlogService">
    <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Community Server :: Blogs Posting Web Service</documentation>
    <wsdl:port name="BlogServiceSoap" binding="tns:BlogServiceSoap">
      <soap:address location="http://localhost/cs/blogs/blogservice.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect BT, UK (ex British Telecom)
United Kingdom United Kingdom

Comments and Discussions