public static bool SplitQty(string Username, string Password, string Container, int splitQty,int plateQty,ref List<string> childList,ref string Msg)
{
string SessionID = Guid.NewGuid().ToString();
csiClient Client = new csiClient();
csiConnection Connection = Client.createConnection(Constants.CAMSTAR_HOST, Constants.CAMSTAR_PORT);
Connection.setConnectionTimeout(600000);
csiSession Session = Connection.createSession(Username, Password, SessionID);
try
{
csiDocument Document = Session.createDocument("SplitDoc");
csiService Service = Document.createService("Split");
csiObject InputData = Service.inputData();
InputData.containerField("Container").setRef(Container, "");
InputData.dataField("AutoNumber").setValue("True");
InputData.dataField("CloseWhenEmpty").setValue("False");
InputData.namedObjectField("AutoNumberRule").setRef("SplitRule");
InputData.dataField("ES_SNDetail").setValue("1");
csiSubentityList Details = InputData.subentityList("ToContainerDetails");
for(int i=1;i<=plateQty;i++)
{
csiSubentity Detail = Details.appendItem();
Detail.dataField("Qty").setValue(splitQty.ToString());
}
Service.setExecute();
Service.requestData().requestField("CompletionMsg");
Service.requestData().requestField("ToContainerDetails");
Service.requestData().requestField("ChildContainers");
csiDocument ResponseDocument = Document.submit();
if (ResponseDocument.checkErrors())//提交失败
{
csiExceptionData csiexceptiondata = ResponseDocument.exceptionData();
Msg = csiexceptiondata.getDescription();
return false;
}
else//提交成功
{
csiService RespService = ResponseDocument.getService();
var xxxxx = RespService.responseData();
csiField CompletionMsg = RespService.responseData().getResponseFieldByName("CompletionMsg");
csiField details = RespService.responseData().getResponseFieldByName("ToContainerDetails"); //需要解析XML
csiSubentityList list = details.asSubentityList();
for (int i = 0; i < plateQty; i++)
{
csiSubentity item = list.getItemByIndex(i);
var a = item.getField("ToContainerName");
var sn=a.asDataField().getValue();
childList.Add(sn);
}
Msg = CompletionMsg.asDataField().getValue();
return true;
}
}
catch (Exception e)
{
Msg = e.Message;
return false;
}
finally
{
if (Session != null)
Session.removeDocument("SplitDoc");
if (Connection != null)
Connection.removeSession(SessionID);
if (Client != null)
Client.removeConnection(Constants.CAMSTAR_HOST, Constants.CAMSTAR_PORT);
}
}

  

Camstar获取回参的更多相关文章

  1. python socket连接服务器获取回显

    军训回来了,皮皮..... import socket import sys try: s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #创建一个 ...

  2. Python做接口自动化测试框架

    框架结构如下: Test_Api_Project||---base.py|---base_api| |---register_api.py | |---send_sms_code_api.py|--- ...

  3. [转]教大家如何打造使用Tcpview(tcp查看器

    原文地址:教大家如何打造使用Tcpview(tcp查看器)作者:jybasenet3   一玩 VS 对战平台的同学有一次发现了一个可以踢人的方法,就是用 TcpView 把那个连 接关掉.后来VS ...

  4. [原创]K8 Cscan 3.6大型内网渗透自定义扫描器

    前言:无论内网还是外网渗透信息收集都是非常关键,信息收集越多越准确渗透的成功率就越高但成功率还受到漏洞影响,漏洞受时效性影响,对于大型内网扫描速度直接影响着成功率漏洞时效性1-2天,扫描内网或外网需1 ...

  5. Android Fragment 详解(未完...)

    版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. 之前写过一篇关于 Fragment 生命周期的文章 ...

  6. Hadoop生态圈-Kafka的旧API实现生产者-消费者

    Hadoop生态圈-Kafka的旧API实现生产者-消费者 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.旧API实现生产者-消费者 1>.开启kafka集群 [yinz ...

  7. Fragment管理工具类

    Fragment相关→FragmentUtils.java→Demo addFragment : 新增fragment removeFragment : 移除fragment replaceFragm ...

  8. SSH连接与自动化部署工具paramiko与Fabric

    paramiko paramiko是基于Python实现的SSH2远程安全连接,支持认证及密钥方法.可以实现远程命令执行,文件传输,中间SSH代理等功能,相对于Pexpect,封装层次更高. pip ...

  9. 6.shell脚本

    6.1 shell基础语法 6.1.1 shell的概述 shell的基本概念 1.什么是shell shell是用户和Linux操作系统之间的接口,它提供了与操作系统之间的通讯方式 shell是一个 ...

  10. python并发编程-进程池线程池-协程-I/O模型-04

    目录 进程池线程池的使用***** 进程池/线程池的创建和提交回调 验证复用池子里的线程或进程 异步回调机制 通过闭包给回调函数添加额外参数(扩展) 协程*** 概念回顾(协程这里再理一下) 如何实现 ...

随机推荐

  1. Ubuntu/linux下最强大的下载工具-aria2

    aria2 是 Linux 下一个不错的高速下载工具 .由于它具有分段下载引擎,所以支持从多个地址或者从一个地址的多个连接来下载同一个文件.这样自然就大大加快了文件的下载速 度.aria2 也具有断点 ...

  2. JavaScript数组的方法大全(最新)

    JavaScript数组方法大全 趁着有时间,总结了下数组所有的属性和方法,记录博客,便于后续使用 array.at() at方法,用于获取数组中,对应索引位置的值,不能修改. 语法:array.at ...

  3. RocketMQ - 生产者消息发送流程

    RocketMQ客户端的消息发送通常分为以下3层 业务层:通常指直接调用RocketMQ Client发送API的业务代码. 消息处理层:指RocketMQ Client获取业务发送的消息对象后,一系 ...

  4. ctfshow-web入门-SSTI学习

    千万要仔细,不要拼错单词 千万要仔细,不要拼错单词 千万要仔细,不要拼错单词 web 361 payload name={{[].__class__.__base__.__subclasses__() ...

  5. .net 定时任务(调度 .net quartz) demo

    详细解说:https://blog.csdn.net/noaman_wgs/article/details/80984873 demo如下: 新建控制台应用程式: 添加Nuget包 static vo ...

  6. Can not use keyword ‘await’ outside an async function

  7. js提示框触发和定时关闭

    <!DOCTYPE html><meta charset="utf-8"> <script src="https://cdn.staticf ...

  8. react-native-sortable-list没有渲染数据

    问题如题. 原因是我的order数组为空数组,应该将数组元素补充上.

  9. 编程基础与python介绍

    思维导图 https://gitee.com/starry-tong/python-data/blob/pyimage/day02.png 1.计算机内部存储数据的原理 2.编程语言的发展史 3.py ...

  10. ESXi 安装 Truenas Core 解决企业共享存储免费方案

    服务器配置 创建虚拟机内存最少8+,建议选择32,CPU没啥用,我给了2,硬盘我选择了50G+8T,因为一个虚拟机无法使用两个存储池,所以全部使用非SSD硬盘,自带网卡删除,单独给一个直通网卡,建议上 ...