点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在尝试使用B1WS更新销售订单,但是在使用GetByParams时出现如下错误
InnerException :在将字符串转换为Date Time时,在将每个变量放入DateTime对象
之前解析该字符串。InnerException :确保方法参数的格式正确。
我的示例代码:
将orderDocSvc视作OrdersService.OrdersService = New OrdersService.OrdersService()
将Header作为OrdersService.MsgHeader = New OrdersService.MsgHeader()
Header.ServiceName = OrdersService.MsgHeaderServiceName.OrdersService Header.ServiceNameSpecified = True
Header.SessionID = l_sessID.ToString()
orderDocSvc.MsgHeaderValue =标头
将mparams用作OrdersService.DocumentParams = New OrdersService.DocumentParams()
mparams.DocEntry = 17290
mparams.DocEntrySpecified =真
将orderDoc视为OrdersService.Document = orderDocSvc.GetByParams(mparams)//抛出错误
orderDoc.Comments ="测试更新"
orderDocSvc.Update(orderDoc);
上面的代码是否有问题? 看起来XML反序列化有问题。
请建议我
谢谢
你好拉胡尔,
错误与SOAP响应xml反序列化有关,该解析是将日期时间(DocDate,DocDueDate等)从字符串格式解析为日期时间。
1。在使用B1WS之前,是否已使用WsdlServicesGenerator工具为公司数据库生成WSDL文件? 它将从DI Server下载对象架构,并根据公司数据库生成WSDL文件。 将包括UDF/UDO。
2。如果是,请与不带B1WS的普通DI Server测试相同的功能。
请检查DI Server返回的DocDate格式,并检查OS区域设置中的日期格式。 您可以尝试更改操作系统的区域设置。
Yatsea的问候
您是否已解决此问题?
感谢Yatsea,
我已经使用WsdlServicesGenerator工具重新生成了WSDL文件,但错误仍然存在,我也尝试过使用本地系统日期格式,但仍然保持不变。
请建议
亲爱的Yatsea,
感谢您的支持和建议。
1。我们直接尝试使用DI Server。 我们可以添加文档,但是执行更新时仍然会出现问题。
a。我们已经检查了论坛上提到的GetByParams方法的解决方案,但是在调试过程中,应用程序会跳过此步骤,默认情况下会使用原始xml。
2。我们还尝试了Debug B1WSHandler,但无法附加aspnet_wp.exe进程进行调试。
我们还在论坛上更新了以上评论。
您能进一步指导我们吗?
大家好,我在一段时间前也在这个问题上苦苦挣扎,所以我与Rahul Sonawane 作为解决方案-我也相信有人也会在寻找解决方案,因此就在这里-您需要打开wsdl文件, 托管在您的IIS上,然后打开IIS(GoTo B1WS-WebReferences-任何WSDL文件)
现在,在我的情况下,我使用的是" OrdersService.wsdl",因此我编辑了该文件并注释了第741行,但是在 Rahul Sonawane 是另一行。 因此,您需要使用被引用的wsdl文件,从文件中编辑一些行,然后更新引用项目中的服务,然后再次执行我们的代码部分,然后@成功一点。
所以我希望这会像我这样帮助一个人:)...如果您仍然在这个问题上苦苦挣扎,可以直接给我...我很乐意为您提供帮助。
如果有人尝试使用IIS上托管的B1WS应用程序进行调试,请找到以下屏幕截图,我相信这会有所帮助。
再次感谢您 Rahul Sonawane &李亚瑟。
此致
Rahul Jain
一周热门 更多>