mirror of
https://github.com/iminet/xmlrpcwsc-dotnet.git
synced 2024-12-21 21:52:39 +01:00
Update readme
This commit is contained in:
parent
a09862058e
commit
9f4b6264d6
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -30,6 +30,7 @@ $RECYCLE.BIN/
|
|||
*.msi
|
||||
*.msm
|
||||
*.msp
|
||||
*.mdb
|
||||
|
||||
# Windows shortcuts
|
||||
*.lnk
|
||||
|
|
30
README.md
30
README.md
|
@ -5,6 +5,8 @@ Description
|
|||
-----------
|
||||
XmlRpc Web Service Client is a C# implementation of XML-RPC, a popular
|
||||
protocol that uses XML over HTTP to implement remote procedure calls.
|
||||
This implementation can be used in .NET 4.5, NET 3.5 CF.
|
||||
This software was tested with Odoo 8 and 9.
|
||||
|
||||
|
||||
Features
|
||||
|
@ -17,7 +19,31 @@ Features
|
|||
- Version: v1.3.0
|
||||
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
Links
|
||||
-----
|
||||
- http://xmlrpc.scripting.com/
|
||||
- https://en.wikipedia.org/wiki/XML-RPC
|
||||
|
||||
|
||||
Example Create Partner and Image
|
||||
--------------------------------
|
||||
- Source:
|
||||
|
||||
```c#
|
||||
```
|
||||
|
||||
- Output:
|
||||
|
||||
```
|
||||
```
|
||||
|
||||
|
||||
- Odoo Output:
|
||||
|
||||
![](/documents/printscreen-1.png)
|
||||
|
||||
![](/documents/printscreen-2.png)
|
||||
|
||||
- WinCE PrintScreen Example:
|
||||
|
||||
![](/documents/printscreen-3.png)
|
||||
|
|
|
@ -31,7 +31,7 @@ namespace sandbox {
|
|||
/// </summary>
|
||||
class MainClass {
|
||||
|
||||
public static string Url = "http://localhost:8069/xmlrpc/2", db = "odoo", pass = "admin", user = "admin";
|
||||
public static string Url = "http://localhost:8069/xmlrpc/2", db = "odoo9", pass = "admin", user = "admin";
|
||||
|
||||
public static void TestRequestXml() {
|
||||
XmlRpcRequest request = new XmlRpcRequest("version");
|
||||
|
@ -211,74 +211,6 @@ namespace sandbox {
|
|||
}
|
||||
}
|
||||
|
||||
public static void TestCreateRecord() {
|
||||
XmlRpcClient client = new XmlRpcClient();
|
||||
client.Url = Url;
|
||||
client.Path = "common";
|
||||
|
||||
// LOGIN
|
||||
|
||||
XmlRpcRequest requestLogin = new XmlRpcRequest("authenticate");
|
||||
requestLogin.AddParams(db, user, pass, XmlRpcParameter.EmptyStruct());
|
||||
|
||||
XmlRpcResponse responseLogin = client.Execute(requestLogin);
|
||||
|
||||
// Console.WriteLine("authenticate");
|
||||
// Console.WriteLine("REQUEST: ");
|
||||
// client.WriteRequest(Console.Out);
|
||||
|
||||
// Console.WriteLine();
|
||||
// Console.WriteLine();
|
||||
// Console.WriteLine("RESPONSE: ");
|
||||
// client.WriteResponse(Console.Out);
|
||||
|
||||
Console.WriteLine();
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("LOGIN: ");
|
||||
if (responseLogin.IsFault()) {
|
||||
Console.WriteLine(responseLogin.GetFaultString());
|
||||
} else {
|
||||
Console.WriteLine(responseLogin.GetString());
|
||||
}
|
||||
|
||||
// CREATE
|
||||
|
||||
client.Path = "object";
|
||||
|
||||
XmlRpcRequest requestCreate = new XmlRpcRequest("execute_kw");
|
||||
requestCreate.AddParams(db, responseLogin.GetInt(), pass, "res.partner", "create",
|
||||
XmlRpcParameter.AsArray(
|
||||
XmlRpcParameter.AsStruct(
|
||||
XmlRpcParameter.AsMember("name", "Albert Einstein")
|
||||
, XmlRpcParameter.AsMember("image", Convert.ToBase64String(File.ReadAllBytes("img/einstein.jpg")))
|
||||
, XmlRpcParameter.AsMember("email", "albert.einstein@email.com")
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
XmlRpcResponse responseCreate = client.Execute(requestCreate);
|
||||
|
||||
// Console.WriteLine();
|
||||
// Console.WriteLine();
|
||||
// Console.WriteLine("create");
|
||||
// Console.WriteLine("REQUEST: ");
|
||||
// client.WriteRequest(Console.Out);
|
||||
|
||||
// Console.WriteLine();
|
||||
// Console.WriteLine();
|
||||
// Console.WriteLine("RESPONSE: ");
|
||||
// client.WriteResponse(Console.Out);
|
||||
|
||||
Console.WriteLine();
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("READ: ");
|
||||
if (responseCreate.IsFault()) {
|
||||
Console.WriteLine(responseCreate.GetFaultString());
|
||||
} else {
|
||||
Console.WriteLine(responseCreate.GetString());
|
||||
}
|
||||
}
|
||||
|
||||
public static void TestSearchReadRecords() {
|
||||
XmlRpcClient client = new XmlRpcClient();
|
||||
client.Url = Url;
|
||||
|
@ -327,20 +259,18 @@ namespace sandbox {
|
|||
)
|
||||
);
|
||||
|
||||
|
||||
|
||||
XmlRpcResponse responseSearch = client.Execute(requestSearch);
|
||||
|
||||
// Console.WriteLine();
|
||||
// Console.WriteLine();
|
||||
// Console.WriteLine("search");
|
||||
// Console.WriteLine("REQUEST: ");
|
||||
// client.WriteRequest(Console.Out);
|
||||
Console.WriteLine();
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("search");
|
||||
Console.WriteLine("REQUEST: ");
|
||||
client.WriteRequest(Console.Out);
|
||||
|
||||
Console.WriteLine();
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("RESPONSE: ");
|
||||
|
||||
// Console.WriteLine();
|
||||
// Console.WriteLine();
|
||||
// Console.WriteLine("RESPONSE: ");
|
||||
// client.WriteResponse(Console.Out);
|
||||
|
||||
Console.WriteLine();
|
||||
Console.WriteLine();
|
||||
|
@ -353,12 +283,80 @@ namespace sandbox {
|
|||
|
||||
}
|
||||
|
||||
public static void TestCreateRecord() {
|
||||
XmlRpcClient client = new XmlRpcClient();
|
||||
client.Url = Url;
|
||||
client.Path = "common";
|
||||
|
||||
// LOGIN
|
||||
|
||||
XmlRpcRequest requestLogin = new XmlRpcRequest("authenticate");
|
||||
requestLogin.AddParams(db, user, pass, XmlRpcParameter.EmptyStruct());
|
||||
|
||||
XmlRpcResponse responseLogin = client.Execute(requestLogin);
|
||||
|
||||
Console.WriteLine("authenticate");
|
||||
Console.WriteLine("REQUEST: ");
|
||||
client.WriteRequest(Console.Out);
|
||||
|
||||
Console.WriteLine();
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("RESPONSE: ");
|
||||
client.WriteResponse(Console.Out);
|
||||
|
||||
Console.WriteLine();
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("LOGIN: ");
|
||||
if (responseLogin.IsFault()) {
|
||||
Console.WriteLine(responseLogin.GetFaultString());
|
||||
} else {
|
||||
Console.WriteLine(responseLogin.GetString());
|
||||
}
|
||||
|
||||
// CREATE
|
||||
|
||||
client.Path = "object";
|
||||
|
||||
XmlRpcRequest requestCreate = new XmlRpcRequest("execute_kw");
|
||||
requestCreate.AddParams(db, responseLogin.GetInt(), pass, "res.partner", "create",
|
||||
XmlRpcParameter.AsArray(
|
||||
XmlRpcParameter.AsStruct(
|
||||
XmlRpcParameter.AsMember("name", "Albert Einstein")
|
||||
, XmlRpcParameter.AsMember("image", Convert.ToBase64String(File.ReadAllBytes("img/einstein.jpg")))
|
||||
, XmlRpcParameter.AsMember("email", "albert.einstein@email.com")
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
XmlRpcResponse responseCreate = client.Execute(requestCreate);
|
||||
|
||||
Console.WriteLine();
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("create");
|
||||
Console.WriteLine("REQUEST: ");
|
||||
client.WriteRequest(Console.Out);
|
||||
|
||||
Console.WriteLine();
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("RESPONSE: ");
|
||||
client.WriteResponse(Console.Out);
|
||||
|
||||
Console.WriteLine();
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("READ: ");
|
||||
if (responseCreate.IsFault()) {
|
||||
Console.WriteLine(responseCreate.GetFaultString());
|
||||
} else {
|
||||
Console.WriteLine(responseCreate.GetString());
|
||||
}
|
||||
}
|
||||
|
||||
public static void Main(string[] args) {
|
||||
TestRequestXml();
|
||||
// TestRequestXml();
|
||||
// TestResponseXml();
|
||||
// TestReadVersion();
|
||||
// TestReadRecords();
|
||||
// TestCreateRecord();
|
||||
TestCreateRecord();
|
||||
// TestSearchReadRecords();
|
||||
Console.ReadKey();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user