2011-11-15 5 views
0

J'essaie d'écrire un programme en C# et je suis bloqué. Le programme suppose de créer un post sur wordpress via xmlrpc. Je peux créer le message avec succès, mais j'ai des problèmes pour créer des champs personnalisés pour le post. Donc, quand j'ouvre poste créé, les champs personnalisés ne sont jamais là. J'espère que certains d'entre vous gourous peut me aider comme je suis coincé pendant 3 jours maintenant et ne peux pas comprendre ce qu'il faut faire, se sentir tout à fait sans défense :(C# XMLRPC Champs personnalisés

Heres un code:

public struct customField 
     { 
      public string key; 
      public string value; 
     } 
     public struct newPost 
     { 
      public string[] categories; 
      public string title; 
      public string description; 
      public string mt_excerpt; 
      public customField[] cf; 
     } 
public interface IcreatePost 
     { 
      [CookComputing.XmlRpc.XmlRpcMethod("metaWeblog.newPost")] 
      string NewPost(int blogId, string strUserName, 
       string strPassword, newPost content, int publish); 
     } 

Heres comment je définir des valeurs pour l'objet

customField newCustomField2 = default(customField); 

    newCustomField2.key = "some data"; 

    newCustomField2.value = "some data"; 


    newPost newBlogPost = default(newPost); 
    newBlogPost.title = "Some Title"; 
    newBlogPost.description = "Some Content"; 
    newBlogPost.cf = new customField[] { newCustomField2 }; 
createPost(newBlogPost); 

Fonction appelée:

public void createPost(newPost np) 
     { 

      string postid; 
      icp = (IcreatePost)XmlRpcProxyGen.Create(typeof(IcreatePost)); 
      clientProtocol = (XmlRpcClientProtocol)icp; 
      clientProtocol.Url = "http://127.0.0.1/xmlrpc.php"; 
      try 
      { 
       postid = icp.NewPost(1, "admin", "1234", np, 1); 

      } 
      catch (Exception ex) 
      { 
       MessageBox.Show("createPost ERROR ->"+ ex.Message); 
      } 
     } 

Répondre

2

Mon seul pense ici serait qu'il ya un namin g discordance dans vos paramètres. La documentation que je l'ai vu dit que le champ intérieur de la struct newPost devrait être custom_fields plutôt que cf:

public struct newPost 
{ 
    public string[] categories; 
    public string title; 
    public string description; 
    public string mt_excerpt; 
    public customField[] custom_fields; 
} 
+0

Merci beaucoup !!! problème résolu:) – user1047463

Questions connexes