ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:164.13KB ,
资源ID:3181413      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-3181413.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(.net平台调用U9接口.doc)为本站会员(weiwoduzun)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

.net平台调用U9接口.doc

1、第三方调用 U9 服务 (DotNet 平台)一、业务场景PLM(PDM)系统和 U9ERP 系统整合,PLM 设计完产品后需要传入到 U9ERP 系统,比如要传入厂牌,料品,BOM 等基础信息二、引用 U9 服务以创建料品服务为例, UFIDA.U9.ISV.Item.BatchCreateItemByDTOSRVa)验证服务是否可用如果能显示显示下面的图片说明服务没有问题b)生成代理类若使用 Visual Studio 2005 则需要先下载 SvcUtil.exe在命令行输入SvcUtil http:/localhost/portal/services/UFIDA.U9.ISV.Item

2、.IBatchCreateItemByDTOSRV.svc /serializer:DataContractSerializer如下图所示:输入命令后输出的不上上图格式则重新再试或查看第一步服务地址是否正确c)构架项目1.用 VS 新建项目,2.把代理类和配置文件加到项目中3.修改 output.config 名称为 app.config4.添加 System.Runtime.Serialization.dll 和 System.ServiceModel.dll 引用如下图所示如果一个项目中需要用到调用多个服务,则需要合并代理类和配置文件,请参考合并代理类说明文档三、项目实现细节a)调用服务框

3、架代码/实例化代理类UFIDAU9ISVItemIBatchCreateItemByDTOSRVClient client;client = new UFIDAU9ISVItemIBatchCreateItemByDTOSRVClient();UFIDAU9CBOSCMItemItemMasterData returnItems; /服务返回结果UFSoft.UBF.Exceptions.MessageBase returnMsg; /返回异常信息,目前还没有使用此属性object context; /上下文信息UFIDAU9ISVItemItemMasterDTOData itemMaste

4、rDtos; /传入参数trycontext = CreateContextObj();/给上下文信息赋值itemMasterDtos = SetItemMasterDtos();/给传入参数赋值returnItems = client.Do(out returnMsg, context, itemMasterDtos); /服务调用catch (Exception ex)/异常信息捕获throw new Exception(GetExceptionMessage(ex);b)上下文信息/ /给上下文信息赋值/private static ThreadContext CreateContext

5、Obj()/ 实例化应用上下文对象ThreadContext thContext = new ThreadContext();System.Collections.Generic.Dictionary ns = new Dictionary();ns.Add(“OrgID“, “1000911212125298“); /组织ns.Add(“UserID“, “1000911217626500“); /用户ns.Add(“CultureName“, “zh-CN“);/语言ns.Add(“EnterpriseID“, “007“);/企业thContext.nameValueHas = ns;r

6、eturn thContext;c)传入参数/ / 给传入参数赋值/ / private static UFIDAU9ISVItemItemMasterDTOData SetItemMasterDtos()List dtos = new List();foreach( i . UFIDAU9ISVItemItemMasterDTOData dto = new UFIDAU9ISVItemItemMasterDTOData();/为料品 dto赋值dto.m_code = “1-01-“+ i.ToString();dto.m_name = “自建料品“+i.ToString();dto.m_s

7、tatus = SetCommonArchiveDTO(“3200“); / 状态码(关联实体类型赋值)dto.m_inventoryUOM = SetCommonArchiveDTO(“001“); / 库存主单位dto.m_itemFormAttribute = 10;/制造件/描述性弹性域UFIDAU9BaseFlexFieldDescFlexFieldDescFlexSegmentsData descFlexSegs = newUFIDAU9BaseFlexFieldDescFlexFieldDescFlexSegmentsData();descFlexSegs.m_privateDe

8、scSeg1 = “英文描述等“;dto.m_descFlexField = descFlexSegs;省略部分代码/把料品 dto添加到集合中dtos.Add(dto);return dtos.ToArray();d)提取服务异常如果还有异常提取有问题,请开发人员跟踪检查异常信息结构,在修改下面的方法/ /提取异常信息/private static string GetExceptionMessage(Exception ex)string faultMessage = “未知错误,请查看 ERP日志!“;System.TimeoutException timeoutEx = ex as S

9、ystem.TimeoutException;if (timeoutEx != null)faultMessage = “因第一次访问 ERP服务,访问超时,如避免此错误,请先启动 ERP系统!“;elseFaultException faultEx = ex as FaultException;if (faultEx = null)faultMessage = ex.Message;elseServiceException serviceEx = faultEx.Detail;if (serviceEx != null int endIndex = serviceEx.Message.Ind

10、exOf(“n“);if (endIndex = -1)endIndex = serviceEx.Message.Length;if (endIndex 0 elsefaultMessage = serviceEx.Message;return faultMessage;e)公共方法/ /为关联实体属性赋值/实体记录 ID/public static UFIDAU9CBOPubControllerCommonArchiveDataDTOData SetCommonArchiveDTO(long entityID)return SetCommonArchiveDTO(entityID, stri

11、ng.Empty);/为关联实体属性赋值/实体记录编码/public static UFIDAU9CBOPubControllerCommonArchiveDataDTOData SetCommonArchiveDTO(string entityCode)return SetCommonArchiveDTO(-1, entityCode);/ /为关联实体属性赋值/实体记录 ID/实体记录编码/public static UFIDAU9CBOPubControllerCommonArchiveDataDTOData SetCommonArchiveDTO(long entityID, stri

12、ng entityCode)UFIDAU9CBOPubControllerCommonArchiveDataDTOData dto = new UFIDAU9CBOPubControllerCommonArchiveDataDTOData();if (entityID 下面是自动生成的配置文件五、常见异常信息a)枚举类型默认值错误如果枚举类型未赋值,应该赋为-1,但目前默认赋为 0,对于这种类型的需要手工赋为-11可能引起的错误:“实体 料品 的引用对象 标准成分 不存在”解决方式:料品.标准成分 = -1;2未出现错误,但是所赋默认值错误。(portal 中保存一条记录,对比和服务导入的记录

13、的差别确定应该为枚举类型赋什么默认值)解决方式:赋值为相应的值b)业务完整性异常请了解该业务后检查传入的参数是否正确,做相应修改比如:“料号已存在,请重新输入”, 编码重复异常“料品库存相关信息的属性 库存上限 不允许为零”,规划方法为 最高最低点法时,库存上限需要有一个值c)已超过传入消息(65536)的最大消息大小配额错误信息:已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的MaxReceivedMessageSize 属性解决方法:修改配置文件中的 MaxReceivedMessageSize 和 maxBufferSize 的字节大小,把数值增大d)

14、IIS7 提示无法读取配置文件,因为它的大小超过了最大设置HKLMSOFTWAREMicrosoftInetStpConfigurationMaxWebConfigFileSizeInKB 的值如果没有,创建一个 Configuration 项,添加一个 DWORD 值 MaxWebConfigFileSizeInKB重启 IISe)“ExceptionDetail”方法没有采用“0”个参数的重载 在报错的相应位置添加public ServiceExceptionDetail(Exception exception) : base(exception) f)MessageBase 找不到命名空间修改原则为: UFSoft.UBF.Exceptions1 修改为 UFSoft.UBF.ExceptionsUFSoft.UBF.Exceptions修改为 UFSoft.UBF.Exceptions1只修改报错的位置

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报