Fórum WebServices Em Delphi #570283
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
Alguem?
Responder
Gostei + 0
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)