如何使用C#消耗HANA服务层调用GET CompanyService_GetAdminInfo?

2020-09-22 13:07发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我们最近开始使用C#中的...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我们最近开始使用C#中的HANA服务层调用进行开发。 我们找到了以下网站 https://blogs.sap.com/2015/07/15/how-to-consume-service-layer-odata-services-from-net-via-wcf/,并使用 示例代码以开始我们自己的项目。

一切顺利,直到我们需要检索公司信息为止。

//此调用没有问题
 var uri = new Uri(BaseUrl + @" VatGroups('A2')");
 var vatGroup = serviceLayer.Execute (uri," GET",true).SingleOrDefault();

//此调用产生错误
 uri =新的Uri(BaseUrl +" CompanyService_GetAdminInfo");
 var admin = serviceLayer.Execute (uri," POST",true).SingleOrDefault(); 

我们收到以下错误:
响应有效载荷不是有效的响应有效载荷。 请确保顶级元素是有效的Atom或JSON元素或属于' http://schemas.microsoft.com/ado/2007/08/dataservices '名称空间。

当我使用邮递员进行相同的呼叫时,没有问题!?

正如您在上述URL上看到的那样,我已经在那里询问过,并且我已经得到建议将我的代码更改为(她使用了更多代码,但这应该是相同的):

 var uri =新的Uri(BaseUrl +" CompanyService_GetAdminInfo");
 BodyOperationParameter [] body = null;
 var admin =(AdminInfo)serviceLayer.Execute (uri," POST",true,body).SingleOrDefault();
 

不幸的是,这并没有解决问题...

有人知道为什么我在某些电话上会收到此错误以及如何使其正常工作吗?

我正在使用SAP 9.2 PL 08和Visual Studio 2015。

我想上传我的项目,但似乎不可能,因此我将上传控制台应用程序的源代码(Program.cs => program.txt )。

您将必须添加一个链接到" https://<您的服务器ip>:50000/b1s/v1/$ metadata"的"服务参考"(不要忘记首先在(for (例如邮递员),并且很可能必须添加一些参考。 您还必须更改顶部的某些const值...

如果需要更多信息,请询问...

以诚挚的问候,

Ruben Pol

program.txt (8.3 kB)
4条回答
hongfeng1314
2020-09-22 13:27 .采纳回答

鲁宾,

我们的开发团队正在调查该问题。

好像WCF希望服务层返回类似的内容:
{
" odata.metadata":" http://10.58.136.174:9080/b1s/v1/$metadata#SAPB1.CompanyInfo",< br>"版本":930130,
" EnableExpensesManagement":" tNO",
" EnableAccountSegmentation":" tYES",
" EnableBillOfExchange":" tNO",
" BaseDateForExchangeRate":" bdr_PostingDate ",
" BISRBankActKey":null,
" BISRBankCountry":null,
....
}

但是目前," odata.metadata":" http://10.58.136.174:9080/b1s/v1/$metadata#SAPB1.CompanyInfo"丢失。

应该在即将发布的补丁中修复,我会及时通知您。

致谢,
特立尼达。

一周热门 更多>