问题:0x80072F0C需要证书才能完成客户端身份验证

2020-09-19 23:02发布

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

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


专家们,

我想使用Sql Server中的过程读取SAP bydesign系统中的odata。

PS:我们正在使用SQL Server 2008

1。我测试了odata的网址,该网址是: https://my336304.sapbydesign.com/sap/byd/odata/cust/v1/khmaterial/MaterialCollection?$filter=InternalID eq'1001'&$ expand = MaterialQuantityConversion&$ format = json

它需要用户名和密码,我使用的是Weiming.wang和********

运行正常,结果在图片下方。

2。现在我在sql server中获得了脚本,下面是脚本:

使用[hb]
 走
/******对象:StoredProcedure [dbo]。[proc_CallWebService_odata]脚本日期:05/18/2018 08:38:55 ******/
 设置ANSI_NULLS ON
 走
 将QUOTED_IDENTIFIER设置为ON
 走
 ALTER过程[dbo]。[proc_CallWebService_odata]
 如
 开始
     声明@obj int
     声明@url varchar(200)
     声明@response varchar(5000)
    
     宣告@hResult int
     声明@source varchar(255),@ desc varchar(255)
    
     宣告@UserName nvarchar(100)
     声明@Password nvarchar(100)

     SET @UserName ='weiming.wang'
     SET @Password ='********'
    
     设置@url ='https://my336304.sapbydesign.com/sap/byd/odata/cust/v1/khmaterial/MaterialCollection?$filter=InternalID eq``1001''&$ expand = MaterialQuantityConversion&$ format = json'
    
     exec sp_OACreate'MSXML2.ServerXMLHttp',@ obj出来

     EXEC sp_OAMethod @Obj,'打开',NULL,'GET',@URL,假,@用户名,@密码
    
     EXEC sp_OAMethod @ Obj,'setRequestHeader',NULL,'Content-Type','application/x-www-form-urlencoded'
     exec sp_OAMethod @ obj,'setRequestHeader',NULL,'用户名','weiming.wang'
     exec sp_OAMethod @ obj,'setRequestHeader',NULL,'Password','********'
    
     选择@url
       
     EXEC @hResult = sp_OAMethod @Obj,发送,NULL,''
    
     如果@hResult <> 0
     开始
           EXEC sp_OAGetErrorInfo @ obj,@ source OUT,@ desc OUT
           选择hResult = convert(varbinary(4),@hResult),
                       来源= @来源,
                       描述= @desc,
                       FailPoint ='创建失败2',
                       MedthodName ='GET'
           转到销毁
           返回
     结束
    
     exec sp_OAGetProperty @ obj,'responseText',@响应出来
        
     选择@response [响应]
    
     破坏:
     exec sp_OADestroy @obj
 结束
 

3。问题:运行该程序时,它引发错误" 0x80072F0C需要证书才能完成客户端身份验证",任何人都可以帮助检查该问题,我需要调整哪一步?

4。非常感谢。

当我使用sql server调用Bydesign Web服务时,它提出了同样的问题,我很疯狂。

最好的问候

Benny Huang

(45.3 kB)

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

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


专家们,

我想使用Sql Server中的过程读取SAP bydesign系统中的odata。

PS:我们正在使用SQL Server 2008

1。我测试了odata的网址,该网址是: https://my336304.sapbydesign.com/sap/byd/odata/cust/v1/khmaterial/MaterialCollection?$filter=InternalID eq'1001'&$ expand = MaterialQuantityConversion&$ format = json

它需要用户名和密码,我使用的是Weiming.wang和********

运行正常,结果在图片下方。

2。现在我在sql server中获得了脚本,下面是脚本:

使用[hb]
 走
/******对象:StoredProcedure [dbo]。[proc_CallWebService_odata]脚本日期:05/18/2018 08:38:55 ******/
 设置ANSI_NULLS ON
 走
 将QUOTED_IDENTIFIER设置为ON
 走
 ALTER过程[dbo]。[proc_CallWebService_odata]
 如
 开始
     声明@obj int
     声明@url varchar(200)
     声明@response varchar(5000)
    
     宣告@hResult int
     声明@source varchar(255),@ desc varchar(255)
    
     宣告@UserName nvarchar(100)
     声明@Password nvarchar(100)

     SET @UserName ='weiming.wang'
     SET @Password ='********'
    
     设置@url ='https://my336304.sapbydesign.com/sap/byd/odata/cust/v1/khmaterial/MaterialCollection?$filter=InternalID eq``1001''&$ expand = MaterialQuantityConversion&$ format = json'
    
     exec sp_OACreate'MSXML2.ServerXMLHttp',@ obj出来

     EXEC sp_OAMethod @Obj,'打开',NULL,'GET',@URL,假,@用户名,@密码
    
     EXEC sp_OAMethod @ Obj,'setRequestHeader',NULL,'Content-Type','application/x-www-form-urlencoded'
     exec sp_OAMethod @ obj,'setRequestHeader',NULL,'用户名','weiming.wang'
     exec sp_OAMethod @ obj,'setRequestHeader',NULL,'Password','********'
    
     选择@url
       
     EXEC @hResult = sp_OAMethod @Obj,发送,NULL,''
    
     如果@hResult <> 0
     开始
           EXEC sp_OAGetErrorInfo @ obj,@ source OUT,@ desc OUT
           选择hResult = convert(varbinary(4),@hResult),
                       来源= @来源,
                       描述= @desc,
                       FailPoint ='创建失败2',
                       MedthodName ='GET'
           转到销毁
           返回
     结束
    
     exec sp_OAGetProperty @ obj,'responseText',@响应出来
        
     选择@response [响应]
    
     破坏:
     exec sp_OADestroy @obj
 结束
 

3。问题:运行该程序时,它引发错误" 0x80072F0C需要证书才能完成客户端身份验证",任何人都可以帮助检查该问题,我需要调整哪一步?

4。非常感谢。

当我使用sql server调用Bydesign Web服务时,它提出了同样的问题,我很疯狂。

最好的问候

Benny Huang

(45.3 kB)
付费偷看设置
发送
1条回答
半个程序猿
1楼-- · 2020-09-19 23:11

嗨,本尼,

不幸的是,我无法帮助您解决有关SQL Server的问题。 但是,您的OData请求正在您的浏览器中运行,因此这不是我们可以在ByD中解决的问题。 因此,我认为,Microsoft论坛将是对您有关sql脚本问题的合格答案的更好的地方。

最好的问候,
克努特

一周热门 更多>