RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1587948
Accepted
auem
auem
Asked:2024-07-22 16:24:49 +0000 UTC2024-07-22 16:24:49 +0000 UTC 2024-07-22 16:24:49 +0000 UTC

1C 命名法的创建

  • 772

大家好!我遇到了使用 OData 和 Python 在 1C 中创建项目的问题。这是我的代码:

import requests
from requests.auth import HTTPBasicAuth
import xml.etree.ElementTree as ET

post_url = 'http://localhost/mc/odata/standard.odata/Catalog_%D0%9D%D0%BE%D0%BC%D0%B5%D0%BD%D0%BA%D0%BB%D0%B0%D1%82%D1%83%D1%80%D0%B0'

data_to_post = {
    "Description": "Товар на продажу",
    "Code": "1234554321"
}

ns = {
    'atom': 'http://www.w3.org/2005/Atom',
    'm': 'http://schemas.microsoft.com/ado/2007/08/dataservices/metadata',
    'd': 'http://schemas.microsoft.com/ado/2007/08/dataservices'
}

root = ET.Element(ET.QName(ns['atom'], 'entry'))
content = ET.SubElement(root, ET.QName(ns['atom'], 'content'), type="application/xml")
properties = ET.SubElement(content, ET.QName(ns['m'], 'properties'))

for key, value in data_to_post.items():
    prop = ET.SubElement(properties, ET.QName(ns['d'], key))
    prop.text = value

xml_data = ET.tostring(root, encoding="utf-8", method="xml")

headers = {'Content-Type': 'application/xml'}

response = requests.post(post_url, auth=HTTPBasicAuth(username='odata.user', password=''), data=xml_data, headers=headers)

if response.status_code == 201:
    print("Data successfully posted.")
    print("Response:", response.text)
else:
    print(f"Failed to post data: {response.status_code}")
    print("Response content:", response.text)

结果,它给出了以下错误

Failed to post data: 500
Response content: <m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
    <m:code>-1</m:code>
    <m:message>Ошибка при выполнении обработчика - 'ПередЗаписью'</m:message>
</m:error>

无论我用谷歌搜索多少次,我都找不到遇到过这种情况的人。请告诉我如何解决这个问题,也许添加一些参数或者使用现成的库更容易

python
  • 1 1 个回答
  • 33 Views

1 个回答

  • Voted
  1. Best Answer
    auem
    2024-07-22T17:19:27Z2024-07-22T17:19:27Z

    我发现问题出在用户权限上,系统建议创建的标准用户odata.user只能读取数据。要进行更改,您需要授予此权限(尚未尝试过),或者在可以在系统中执行相同操作的其他人的领导下工作。创建了一个新用户,名字必须是英文,否则系统会报错

    UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-5: ordinal not in range(256)
    

    我以该用户的名义提出请求

    • 0

相关问题

  • 是否可以以某种方式自定义 QTabWidget?

  • telebot.anihelper.ApiException 错误

  • Python。检查一个数字是否是 3 的幂。输出 无

  • 解析多个响应

  • 交换两个数组的元素,以便它们的新内容也反转

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5