Giter VIP home page Giter VIP logo

xmlrpcwsc-dotnet's Introduction

Hi there, I'm Saúl Piña

  • 🧑🏽‍💻 I'm a Software Engineer
  • 🐎 I’m currently working at LittleHorse
  • 🪶 I have extensive experience in Apache Kafka
  • 🦦 and some in Kafka Streams
  • ☕ I develop on Java
  • 🐍 and Python
  • 🏗️ I'm passionate about Github Actions, Kubernetes, ArgoCD, Terraform and Docker
  • 🐧 I use Ubuntu
  • 🚀 My personal Open-source project is kaskade
  • 🧙🏾‍♂️ I like D&D
  • 🎮 I love playing video games

kaskade donate linkedin littlehorse

xmlrpcwsc-dotnet's People

Contributors

sauljabin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

xmlrpcwsc-dotnet's Issues

To Json

It would be really helpful if XmpRpcResponse.GetString() would return as valid json. The namespace / class name is used when values are of type Dictionary<string, object> in ObjectToString(object value) and the temp.Value is a List. My current workaround is to manually parse the response.

var query = new List<string> { "name", "ilike", "fieldservice.task"};
var fields = new List<string> { "problems", "name" }; 
var list = response.GetObject() as List<object>;
var dict = list[0] as Dictionary<string, object>;
var problemIds = dict["problems"];

Perhaps a new method GetJson() would be a great enhancement?

My XmlRpcResponse.GetString() returns the following:

[{"problems": "System.Collections.Generic.List1[System.Object]", "id": "3434", "name": "Engine / Exhaust System"}]`

Another workaround, for me, would be to modify the foreach loop in the ObjectToString method to test if the temp.Value is List and insert another for loop to iterate over it to build up the desired json string. Is there another option that I am missing?

How to search_read odoo's certain model?

I want to reach this goal as below:
Could somebody know how to write by using C#?

models.execute_kw(db, uid, password,
    'res.partner', 'search_read',
    [[['is_company', '=', True], ['customer', '=', True]]],
    {'fields': ['name', 'country_id', 'comment'], 'limit': 5})

multi-parameter

The odoo code for calling is
def fcm_registry(self, deviceInfo, action, **kw):

But I write the code as below, the action is null. Does somebody know how to pass the multi-parameter of odoo function?

			XmlRpcRequest requestCreate = new XmlRpcRequest("execute_kw");
			requestCreate.AddParams(db, loginDataReturnMgr.uid, passSign, "test.m", "fr",
				XmlRpcParameter.AsArray(
					XmlRpcParameter.AsStruct(
						XmlRpcParameter.AsMember("config_name", deviceInfo.config_name)
						, XmlRpcParameter.AsMember("device_uuid", deviceInfo.device_uuid)
						, XmlRpcParameter.AsMember("device_os", deviceInfo.device_os)
						, XmlRpcParameter.AsMember("device_os_ver", deviceInfo.device_os_ver)
						, XmlRpcParameter.AsMember("device_manufacturer", deviceInfo.device_manufacturer)
						, XmlRpcParameter.AsMember("model", deviceInfo.model)
						, XmlRpcParameter.AsMember("fcm_token", deviceInfo.fcm_token)
						)
				, deviceInfo.action
				, XmlRpcParameter.EmptyArray()
				)
			);

sample of write please

Hi I have following lines of code

var dict = XmlRpcParameter.EmptyStruct();                            
dict = XmlRpcParameter.AsStruct(XmlRpcParameter.AsMember("state", "done"));
var parameters = XmlRpcParameter.AsArray(dict);
                            
client.Rpc.Path = "xmlrpc/2/object";
XmlRpcRequest request = new XmlRpcRequest("execute_kw");
var objToUpdate = XmlRpcParameter.AsArray(XmlRpcParameter.AsArray(id),parameters);
request.AddParams(client.DbName, client.UserId, client.DbPwd, "stock.picking", "write", objToUpdate);
response = client.Rpc.Execute(request);

The error is:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/addons/base/controllers/rpc.py", line 69, in xmlrpc_2
    response = self._xmlrpc(service)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/controllers/rpc.py", line 49, in _xmlrpc
    result = dispatch_rpc(service, method, params)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 139, in dispatch_rpc
    result = dispatch(method, params)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 41, in dispatch
    res = fn(db, uid, *params)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 174, in execute_kw
    return execute(db, uid, obj, method, *args, **kw or {})
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 181, in execute
    res = execute_cr(cr, uid, obj, method, *args, **kw)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 165, in execute_cr
    result = odoo.api.call_kw(recs, method, args, kw)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 387, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 374, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/stock/models/stock_picking.py", line 594, in write
    if vals.get('picking_type_id') and self.state != 'draft':
AttributeError: 'list' object has no attribute 'get'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.