gpt4 book ai didi

java - 如何从 Python 连接到 JDA 服务器

转载 作者:行者123 更新时间:2023-11-30 07:42:17 24 4
gpt4 key购买 nike

我有一个带有连接详细信息的 JDA 服务器。我必须从我的 python 程序连接到这个 JDA 服务器并执行 MOCA 命令。我已经搜索过,但到目前为止还没有找到任何相关的文档。

找到了一些 jar 文件,但几乎没有找到 python。我的 python 客户端应用程序必须连接到 JDA 并执行命令。

执行请求并获得 session key 值。还使用 session key 执行了命令,但未反射(reflect)输出。

调用此特定命令以使用请求正文登录。

<moca-request autocommit="True">
<environment>
<var name="USR_ID" value="super"/>
</environment>
<query>login user where usr_id = 'super' and usr_pswd = 'super'</query>
</moca-request>

我能够成功登录并得到响应

<?xml version="1.0" encoding="UTF-8"?>
<moca-response>
<session-id></session-id>
<status>0</status>
<moca-results>
<metadata>
<column name="usr_id" type="S" length="0" nullable="true"/>
<column name="locale_id" type="S" length="0" nullable="true"/>
<column name="addon_id" type="S" length="0" nullable="true"/>
<column name="cust_lvl" type="I" length="0" nullable="true"/>
<column name="session_key" type="S" length="0" nullable="true"/>
<column name="pswd_expir" type="I" length="0" nullable="true"/>
<column name="pswd_expir_dte" type="D" length="0" nullable="true"/>
<column name="pswd_disable" type="I" length="0" nullable="true"/>
<column name="pswd_chg_flg" type="O" length="0" nullable="true"/>
<column name="pswd_expir_flg" type="O" length="0" nullable="true"/>
<column name="pswd_warn_flg" type="O" length="0" nullable="true"/>
<column name="srv_typ" type="S" length="0" nullable="true"/>
<column name="super_usr_flg" type="O" length="0" nullable="true"/>
<column name="ext_ath_flg" type="O" length="0" nullable="true"/>
</metadata>
<data>
<row>
<field>SUPER</field>
<field>US_ENGLISH</field>
<field>3pl,WM,SEAMLES,3pl</field>
<field>10</field>
<field>;uid=SUPER|sid=b6698786-85dc-41ec-9e54-c0d8f99b5cbf|dt=jttyorn7|sec=ALL;Hz1biv4HuD_Uq3g.R9QtCfwjQ0</field>
<field null="true"></field>
<field null="true"></field>
<field>6008</field>
<field>0</field>
<field>0</field>
<field>0</field>
<field>DEVELOPMENT</field>
<field>1</field>
<field>0</field>
</row>
</data>
</moca-results>
</moca-response>

根据 xml 响应,我已将 session key 设为;uid=SUPER|sid=b6698786-85dc-41ec-9e54-c0d8f99b5cbf|dt=jttyorn7|sec=ALL;Hz1biv4HuD_Uq3g.R9QtCfwjQ0并尝试执行命令。

这是我执行命令的方式

<moca-request autocommit="True">
<environment>
<var name="USR_ID" value="super"/>
<var name="SESSION_KEY" value=";uid=SUPER|sid=b6698786-85dc-41ec-9e54-c0d8f99b5cbf|dt=jttyorn7|sec=ALL;Hz1biv4HuD_Uq3g.R9QtCfwjQ0"/>
<var name="LOCALE_ID" value="US_ENGLISH"/>
<var name="MOCA_APPL_ID" value="MYAPP"/>
</environment>
<query>
create record where table = 'alt_prtmst' and prtnum = 'TEST1' and alt_prtnum = 'TEST123' and alt_prt_typ = 'SAP' and prt_client_id = '----' </query>
</moca-request>

命令执行时没有任何错误,我也得到响应。

<?xml version="1.0" encoding="UTF-8"?>
<moca-response>
<session-id></session-id>
<status>0</status>
</moca-response>

但更改没有得到反射(reflect)。

我还在查询中尝试了另一个 moca 命令..

<query>
list warehouses
</query>

即使它执行如何获取准确的输出

最佳答案

我已经解释了您尝试连接到 JDA (WMS) 实例的问题。我在 NodeJs 中创建了一个连接到实例并执行 MOCA 命令的应用程序。

我正在使用请求 header 发布 XML 'Content-Type': 'application/moca-xml'<host>:<port>/service .下面的示例 XML 正文将运行 list user tables MOCA 命令。

<moca-request autocommit="True">
<environment>
<var name="USR_ID" value="..."/>
<var name="SESSION_KEY" value="..."/>
<var name="LOCALE_ID" value="EN-GB"/>
<var name="MOCA_APPL_ID" value="MYAPP"/>
</environment>
<query>list user tables</query>
</moca-request>

SESSION_KEY可以从登录请求的响应中获取,下面是 XML 正文。

<moca-request autocommit="True">
<environment>
<var name="USR_ID" value="..."/>
</environment>
<query>login user where usr_id = '...' and usr_pswd = '...'</query>
</moca-request>

关于java - 如何从 Python 连接到 JDA 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54937885/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com