Ver Mensaje Individual
  #3  
Antiguo 28-03-2012
marcosPedraza marcosPedraza is offline
Registrado
NULL
 
Registrado: oct 2011
Posts: 7
Reputación: 0
marcosPedraza Va por buen camino
Este es el archivo wsdl

Estimado csie, pasa que estaba leyendo desde varias paginas mucha bibliografia y me marie, en fin cuando veo el wsdl y la funcion que quiere mi cliente, a ver si me corriges, llama a una funcion execute donde como uno de los parametros va Readfilexmls del tipo widestring, ¿es ahi donde mando el xml?, saque parte del codigo porque no me permiten poner enlaces web solo fue una linea


unit aupload_editar_cliente;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns;

type

upload_editar_clienteSoapPort = interface(IInvokable)
['{DA9A95AB-8E31-9087-54FC-02AD2AF06C5C}']
function Execute(const Idcompra: Integer; const Readfilexmls: WideString): WideString; stdcall;
end;

function Getupload_editar_clienteSoapPort(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): upload_editar_clienteSoapPort;


implementation

function Getupload_editar_clienteSoapPort(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): upload_editar_clienteSoapPort;
const
defWSDL = 'C:\Documents and Settings\Administrador\Escritorio\webservice\aupload_editar_cliente.xml';

defSvc = 'upload_editar_cliente';
defPrt = 'upload_editar_clienteSoapPort';
var
RIO: THTTPRIO;
begin
Result := nil;
if (Addr = '') then
begin
if UseWSDL then
Addr := defWSDL
else
Addr := defURL;
end;
if HTTPRIO = nil then
RIO := THTTPRIO.Create(nil)
else
RIO := HTTPRIO;
try
Result := (RIO as upload_editar_clienteSoapPort);
if UseWSDL then
begin
RIO.WSDLLocation := Addr;
RIO.Service := defSvc;
RIO.Port := defPrt;
end else
RIO.URL := Addr;
finally
if (Result = nil) and (HTTPRIO = nil) then
RIO.Free;
end;
end;


initialization
InvRegistry.RegisterInterface(TypeInfo(upload_editar_clienteSoapPort), 'SGTallerWeb', 'UTF-8');
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(upload_editar_clienteSoapPort), 'SGTallerWebaction/AUPLOAD_EDITAR_CLIENTE.Execute');
InvRegistry.RegisterInvokeOptions(TypeInfo(upload_editar_clienteSoapPort), ioDocument);

end.
Responder Con Cita