Как использовать веб-сервис SAP в C#
Я хочу использовать веб-сервис SAP в моем приложении 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);
но в последней строке я получил сообщение об ошибке "Установленное основное соединение закрыто. Неожиданный формат был отправлен".
Помогите мне, пожалуйста...
1 ответ
Я на самом деле использую сервис мыла для SAP WebService и думаю, что знаю, в чем проблема. Сначала вы должны сделать запрос, включающий 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;