如何消费SAP Web服务在C#(How to Consume SAP Web Service in

2019-10-20 09:21发布

我想消费SAP Web服务到我的C#应用​​程序。 对于我写的代码一块如下。

NetworkCredential ntobj = new NetworkCredential();
            ZWEBSERVICE_INTERNAL_ORDER2 zClassobj = new ZWEBSERVICE_INTERNAL_ORDER2();
            ZbapiFiCreateInternalOrder zMethodObj = new ZbapiFiCreateInternalOrder();
            ZbapiFiCreateInternalOrderResponse zMethodResobj = new ZbapiFiCreateInternalOrderResponse();

            ntobj.UserName = "alpldev";
            ntobj.Password = "alpl123";

            zClassobj.PreAuthenticate = true;
            zClassobj.Credentials = ntobj;

            zMethodObj.IDriverNo = "KD00000014";
            zMethodObj.IPlant = "1001";
            zMethodObj.ITripNo = "1001201406140027";
            zMethodObj.IVhclNo = "AP29Q8639";

            zMethodResobj = zClassobj.ZbapiFiCreateInternalOrder(zMethodObj);

但在最后一行我得到了“建立被关闭底层连接。意想不到的格式是发出”错误。

请帮我...

Answer 1:

实际上,我使用了SAP的WebService SOAP服务,我想我知道问题是什么。 你首先要做的包括QaaWsHeader和ReportBlock配置的请求,然后创建请求,最后用与ServicesSoapClient帮助安排送你的结果的方法。

使用此作为一个例子,我希望这会有所帮助,祝你好运

Sellers.QaaWSHeader qaawsHeaderDatos = new Sellers.QaaWSHeader();
Sellers.GetReportBlock_WBS_Sellers getReportBlock = new Sellers.GetReportBlock_WBS_Sellers();
getReportBlock.login = userWS;
getReportBlock.password = passWS;
getReportBlock.refresh = true;
getReportBlock.startRow = 0;
getReportBlock.startRowSpecified = true;
getReportBlock.endRow = 1000;
getReportBlock.endRowSpecified = true;
Sellers.GetReportBlock_WBS_Sellers_Request WSRequest = new Sellers.GetReportBlock_WBS_Sellers_Request(qaawsHeaderDatos, getReportBlock);

Sellers.BIServicesSoap BiService = new Sellers.BIServicesSoapClient();
Sellers.GetReportBlock_WBS_Sellers_Response FinalResponse = BiService.GetReportBlock_WBS_Sellers(WSRequest);
object[][] yourTable = FinalResponse.table;


文章来源: How to Consume SAP Web Service in C#