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.
|