Login
u:
p:

Adds

Links


Veroz Software solutions

Dotnetforum.dk

eCarlos.net - Påny forbundet til dotnetforum.dk

13-08-2005 05:25:00

Ak ja, hvorfor gøre noget nemt når det kan være svært.. Det burde næsten være guidmesterens motto.

http://eCarlos.net har tidligere været direkte forbundet med weblogs.dotnetforum.dk, men efter mesterens omlægning til CS har der ikke liiiiiiiiige været hul igennem. SimpleBlogService (SBS) var nemlig forsvundet.. Hulk hulk.

Og her komme det "svære" så ind i billedet, i stedet for at lave en ny ws til CS, er den desværre udstyret med metaWebBlogApi. Dette ændrer egentlig ikke så meget i forhold til en webservice, liiiiiiiiiiiiiiige bortset fra du skal lave din egen proxy, hvor vi jo ellers er så dejligt forvænt med at VS200x gør det for os..

eCarlos var på totalt bar bund da han læste følgende: At bruge vores metaBlogApi, fik dog googlet lidt metaBlogApi, og fandt frem til at der nok skulle bruges noget XMLRpc.. Derfra så over til http://www.xmlrpc.com/ for at læse lidt om hvad det nu var for en fisk. Fandt ud af at langt det nemmeste ville være at finde et lib der kunne det hele for mig, og der har Charles Cook heldigvis lige lavet det der skulle bruges.

Så langt så godt, nu var transporten på vej, så er det lige det med at få skruet sin egen proxy sammen, fik googlet lidt diverse og læst et par kodeeksempler igennem og så var det på med kodevanten. Det blev til følgende proxy prototype.

<XmlRpc.XmlRpcUrl("http://weblogs.dotnetforum.dk/metablogapi.aspx")> _
Public Class metaWeblogProxy
   
Inherits XmlRpc.XmlRpcClientProtocol

   Public Structure post
      
Public dateCreated As DateTime
      
Public description As String
      
Public title As String
   
End Structure

'Returns postid as response
<XmlRpc.XmlRpcMethod("metaWeblog.newPost")> _
Public Function newPost(ByVal blogid As String, ByVal userid As String, ByVal password As String, ByVal post As post, ByVal publish As Boolean) As String

   Dim myObj As Object() = New Object() {blogid, userid, password, post, publish}
   Return
CType(MyBase.Invoke("newPost", myObj), String)
End Function

'Returns bool for operation success.
<XmlRpc.XmlRpcMethod("metaWeblog.editPost")> _
Public Function editPost(ByVal postid As String, ByVal username As String, ByVal password As String, ByVal post As post, ByVal publish As Boolean) As Boolean

   Return CType(MyBase.Invoke("editPost", New Object() {postid, username, password, post, publish}), Boolean)
End Function
End Class

Derefter er det blot at kalde metaWeblogProxy.newPost med de rigtige parametre.. Utroligt en så simpel task skal tage så lang tid.. Til gengæld lærte jeg en masse på kort tid :)


#13-08-2005 12:36:00 - RE: eCarlos.net - Påny forbundet til dotnetforum.dk   Dan
Det er ellers meget flot kbmand carl... ;)

Name  
URL
Email (Will not be shown)
Comments
 
Image Text Wierd Image