ric_rio2 Aprendiz


Registrado: Segunda-Feira, 1 de Outubro de 2018 Mensagens: 108
|
Enviada: Qua Abr 24, 2019 5:33 pm Assunto: Criar Item para Pedido SOAP |
|
|
Boa tarde
Estou desenvolvendo um servidor SOAP.
Consegui implementar o método que RECEBE o VENDEDOR.
Agora estou TENTANDO implementar o método que RECEBE o Pedido e SEUS ITENS..
Já consegui fazer o método PEDIDO_ITEM quando é um para um..
Não estou conseguindo fazer o Pedido receber MAIS QUE UM ITEM..
Estou tentando o seguinte código
| Código: | type
Pedido = Class;
Pedido_Response = Class;
Capa = Class;
Item = Class;
Array_of_Item = Array of Item;
Pedido = class(TRemotable)
private
fCapa : Capa;
fItem : Array_of_Item;
public
published
property capa : capa index (IS_REF) read fCapa write fCapa;
Property Item : Array_of_Item read Fitem write Fitem;
end;
Item = Class(TRemotable)
private
Fcd_seq_item_cliente : String;// ok
Ftx_acao : String;// ok
Fcd_produto : String;// ok
Ftx_produto : String;// ok
public
published
property cd_seq_item_cliente : String Read Fcd_seq_item_cliente Write Fcd_seq_item_cliente;
property tx_acao : String Read Ftx_acao Write Ftx_acao;
property cd_produto : String Read Fcd_produto Write Fcd_produto;
property tx_produto : String Read Ftx_produto Write Ftx_produto;
end;
IDM4_Pedido = interface(IAppServerSOAP)
['{10251934-5ACA-4279-A8CB-8A7FBF04D33B}']
Function Ping4 : String; stdcall;
Function Pedido_Request(pImportacao : Pedido) : Pedido_Response; stdcall;
end;
TFo_DM4_Pedido = class(TSoapDataModule, IDM4_Pedido, IAppServerSOAP, IAppServer)
private
{ Private declarations }
Function Insere_Pedido(pImportacao : Pedido) : String;
Procedure Inclui_na_Tabela_Pedido(pid_Pedido : Integer; pCapa : Capa);
Procedure Inclui_Item_Pedido(pId_Pedido : Integer; pDados : Item);
Procedure Parametro_Dos_Itens(pDados : Item);
public
{ Public declarations }
Function Ping4 : String; stdcall;
Function Pedido_Request(pImportacao : Pedido) : Pedido_Response; stdcall;
end;
{$R *.dfm}
procedure TDM4_PedidoCreateInstance(out obj: TObject);
begin
obj := TFo_DM4_Pedido.Create(nil);
end;
{-------}
function TFo_DM4_Pedido.Ping4: String;
begin
Result := 'DAMASTE 4 ' + DateTimeToStr(Now);
end;
{-------}
outras funcoes e procedures ....
initialization
InvRegistry.RegisterInvokableClass(TFo_DM4_Pedido, TDM4_PedidoCreateInstance);
InvRegistry.RegisterInterface(TypeInfo(IDM4_Pedido));
|
Quando rodo o servidor e busco o .WSDL NÃO vejo a propriedade
minOccurs="1" maxOccurs="unbounded
Creio que é isso que esta faltando para gerar corretamente o relacionamento
que quero 1 : N
Algum dos senhores tem ideia do que estou fazendo de errado ou do que esta faltando ??
Abraços  |
|