WebServices Em Delphi
01/11/2016
0
Boa tarde
Não tenho muita experiencia com WebServices e preciso fazer uma integração com webservices...
Alguns problemas ja Solucionei porém estou meio perdido na hora do consumo desse webservices..
Fiz a importação da Classe do webservices atraves do WSDL importer... Meu problema no momento esta no fato de compreender bem a logica por tras desse consumo..
Por exemplo, Pela documentação a min enviada na entidade de Stock eu preciso Enviar apenas dois campos SkuID e StockType, quanto a isso me parece tranquilo, o metodo responsavel por esse envio será o SetStock..
Minha Duvida é a Seguinte...
Dentro dos metodos importados pelo WSDL tenho uma classe Stock3 que contém os meus campos que necessito atualizar e mais alguns outros campos que no momento não serão utilizados..
Então Preciso instanciar a classe Stock3 e passar os parametros para os campos que eu preciso atualizar correto?
mais como ou quem vai startar o metodo SetStock da minha classe?
Será eu após passar os parametros para a classe Stock3?
E Como Chama-la corretamento visto que o parametro que ela aceita é um tipo setStockRequest...
Segue abaixo todo o codigo da classe se puderem me dar um exemplo com essas informações qe coloquei acima seria de muita ajuda.
Não tenho muita experiencia com WebServices e preciso fazer uma integração com webservices...
Alguns problemas ja Solucionei porém estou meio perdido na hora do consumo desse webservices..
Fiz a importação da Classe do webservices atraves do WSDL importer... Meu problema no momento esta no fato de compreender bem a logica por tras desse consumo..
Por exemplo, Pela documentação a min enviada na entidade de Stock eu preciso Enviar apenas dois campos SkuID e StockType, quanto a isso me parece tranquilo, o metodo responsavel por esse envio será o SetStock..
Minha Duvida é a Seguinte...
Dentro dos metodos importados pelo WSDL tenho uma classe Stock3 que contém os meus campos que necessito atualizar e mais alguns outros campos que no momento não serão utilizados..
Então Preciso instanciar a classe Stock3 e passar os parametros para os campos que eu preciso atualizar correto?
mais como ou quem vai startar o metodo SetStock da minha classe?
Será eu após passar os parametros para a classe Stock3?
E Como Chama-la corretamento visto que o parametro que ela aceita é um tipo setStockRequest...
Segue abaixo todo o codigo da classe se puderem me dar um exemplo com essas informações qe coloquei acima seria de muita ajuda.
// ************************************************************************ // // The types declared in this file were generated from data read from the // WSDL File described below: // WSDL : L:\\Renato\\Jeferson\\Ecommerce - Steve Jobs\\manual-integracoes\\AcecServices\\StockServices.wsdl // >Import : L:\\Renato\\Jeferson\\Ecommerce - Steve Jobs\\manual-integracoes\\AcecServices\\StockServices.wsdl>0 // >Import : L:\\Renato\\Jeferson\\Ecommerce - Steve Jobs\\manual-integracoes\\AcecServices\\schemas\\StockServices.xsd // >Import : L:\\Renato\\Jeferson\\Ecommerce - Steve Jobs\\manual-integracoes\\DataModel\\AcecStock.xsd // >Import : L:\\Renato\\Jeferson\\Ecommerce - Steve Jobs\\manual-integracoes\\AcecServices\\schemas\\ErrorLog.xsd // Encoding : UTF-8 // Version : 1.0 // (27/10/2016 08:04:03 - - $Rev: 76228 $) // ************************************************************************ // unit StockServices1; interface uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns; const IS_OPTN = $0001; IS_UNBD = $0002; IS_REF = $0080; type // ************************************************************************ // // The following types, referred to in the WSDL document are not being represented // in this file. They are either aliases[@] of other types represented or were referred // to but never[!] declared in the document. The types from the latter category // typically map to predefined/known XML or Embarcadero types; however, they could also // indicate incorrect WSDL documents that failed to declare or import a schema type. // ************************************************************************ // // !:int - "http://www.w3.org/2001/XMLSchema"[Gbl] // !:string - "http://www.w3.org/2001/XMLSchema"[Gbl] // !:dateTime - "http://www.w3.org/2001/XMLSchema"[Gbl] // !:boolean - "http://www.w3.org/2001/XMLSchema"[Gbl] setStockResponse = class; { "http://www.accurate.com/acec/StockServices"[Lit][GblElm] } error = class; { "http://www.accurate.com/acec/ErrorLog"[Flt][GblElm] } error2 = class; { "http://www.accurate.com/acec/ErrorLog"[GblCplx] } stock3 = class; { "http://www.accurate.com/acec/Stock"[GblCplx] } stock = class; { "http://www.accurate.com/acec/Stock"[GblElm] } stock2 = class; { "http://www.accurate.com/acec/StockServices"[GblElm] } setStockRequest = class; { "http://www.accurate.com/acec/StockServices"[Lit][GblElm] } StockList = array of stock3; { "http://www.accurate.com/acec/StockServices"[GblCplx] } // ************************************************************************ // // XML : setStockResponse, global, <element> // Namespace : http://www.accurate.com/acec/StockServices // Serializtn: [xoLiteralParam] // Info : Wrapper // ************************************************************************ // setStockResponse = class(TRemotable) private Fresult: string; public constructor Create; override; published property result: string read Fresult write Fresult; end; // ************************************************************************ // // XML : error, global, <element> // Namespace : http://www.accurate.com/acec/ErrorLog // Info : Fault // Base Types: error // ************************************************************************ // error = class(ERemotableException) private Fdate: string; Fmessage_: string; Fsummary: string; Fsummary_Specified: boolean; Fdetail: string; Fdetail_Specified: boolean; Fcode: string; Fcode_Specified: boolean; procedure Setsummary(Index: Integer; const Astring: string); function summary_Specified(Index: Integer): boolean; procedure Setdetail(Index: Integer; const Astring: string); function detail_Specified(Index: Integer): boolean; procedure Setcode(Index: Integer; const Astring: string); function code_Specified(Index: Integer): boolean; published property date: string read Fdate write Fdate; property message_: string read Fmessage_ write Fmessage_; property summary: string Index (IS_OPTN) read Fsummary write Setsummary stored summary_Specified; property detail: string Index (IS_OPTN) read Fdetail write Setdetail stored detail_Specified; property code: string Index (IS_OPTN) read Fcode write Setcode stored code_Specified; end; // ************************************************************************ // // XML : error, global, <complexType> // Namespace : http://www.accurate.com/acec/ErrorLog // ************************************************************************ // error2 = class(TRemotable) private Fdate: string; Fmessage_: string; Fsummary: string; Fsummary_Specified: boolean; Fdetail: string; Fdetail_Specified: boolean; Fcode: string; Fcode_Specified: boolean; procedure Setsummary(Index: Integer; const Astring: string); function summary_Specified(Index: Integer): boolean; procedure Setdetail(Index: Integer; const Astring: string); function detail_Specified(Index: Integer): boolean; procedure Setcode(Index: Integer; const Astring: string); function code_Specified(Index: Integer): boolean; published property date: string read Fdate write Fdate; property message_: string read Fmessage_ write Fmessage_; property summary: string Index (IS_OPTN) read Fsummary write Setsummary stored summary_Specified; property detail: string Index (IS_OPTN) read Fdetail write Setdetail stored detail_Specified; property code: string Index (IS_OPTN) read Fcode write Setcode stored code_Specified; end; // ************************************************************************ // // XML : stock, global, <complexType> // Namespace : http://www.accurate.com/acec/Stock // ************************************************************************ // stock3 = class(TRemotable) private FskuId: string; FwareHouseId: Integer; FwareHouseId_Specified: boolean; FwarehouseCnpj: Integer; FwarehouseCnpj_Specified: boolean; FstockType: Integer; FleadTime: Integer; FleadTime_Specified: boolean; Fquantity: Integer; Fquantity_Specified: boolean; FrelativeStockFlag: Boolean; FrelativeStockFlag_Specified: boolean;
Jeferson Taboni
Curtir tópico
+ 0
Responder
Posts
03/11/2016
Jeferson Taboni
Boa tarde
Fiz algo parecido com isto, é por ai que devo fazer?
Stock.SkuID.XSToNative(''016549797789'');
Stock.StockType.XSToNative(''1'');
(HTTPRIOTeste As StockServices1.StockServices).SetStock(StockServices1.StockServicesRequest.Create);
(HTTPRIOTeste As StockServices1.StockServices).SetStock(StockServices1.StockServicesRequest(Voucher));
Fiz algo parecido com isto, é por ai que devo fazer?
Stock.SkuID.XSToNative(''016549797789'');
Stock.StockType.XSToNative(''1'');
(HTTPRIOTeste As StockServices1.StockServices).SetStock(StockServices1.StockServicesRequest.Create);
(HTTPRIOTeste As StockServices1.StockServices).SetStock(StockServices1.StockServicesRequest(Voucher));
Responder
Clique aqui para fazer login e interagir na Comunidade :)