Buenas Wilson
Te dejo 2 implementaciones , una con SOAPClient, no lo he podido probar porque no me funciona SOAP en mi W7 64 y otro usando peticion directo por http;
Vesion SoapClient, no probado.
Code: Select all | Expand
function testWilson() Local cValue := "" Local oSoapClient Local lOk Local cDominio_WebServices := "http://69.20.52.167/eforce/wsInterfacesEc/InterfacesEc3.php?wsdl" Local cad := [<login> ]+; [ <servidorBaseDatos>www.ecom.com.co</servidorBaseDatos>]+; [ <nombreBaseDatos>natsilepru</nombreBaseDatos>]+; [ <usuarioBaseDatos>pedidos@natsilepru</usuarioBaseDatos>]+; [ <claveBaseDatos>Ecom2015</claveBaseDatos>]+; [ <fechaInicial>2016-01-01</fechaInicial> ]+; [ <fechaFinal>2016-01-30</fechaFinal>]+; [ <limiteRegistros>10</limiteRegistros>]+; [ <offset>0</offset>]+; [ </login> ] lOk := .T. oSoapClient := NIL
Por POST
Code: Select all | Expand
FUNCTION testWilson_2() Local oHttp Local cDominio_WebServices := "http://69.20.52.167/eforce/wsInterfacesEc/InterfacesEc3.php" Local cXml := [<?xml version="1.0" encoding="UTF-8"?> ]+; [<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:InterfazEc">]+; [ <soapenv:Header/>]+; [ <soapenv:Body>]+; [ <urn:getMarca soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">]+; [ <parametros xsi:type="xsd:string"><login>]+; [ <servidorBaseDatos>www.ecom.com.co</servidorBaseDatos>]+; [ <nombreBaseDatos>natsilepru</nombreBaseDatos>]+; [ <usuarioBaseDatos>pedidos@natsilepru</usuarioBaseDatos>]+; [ <claveBaseDatos>Ecom2015</claveBaseDatos>]+; [ <fechaInicial>2016-01-01</fechaInicial> ]+; [ <fechaFinal>2016-01-30</fechaFinal>]+; [ <limiteRegistros>10</limiteRegistros>]+; [ <offset>0</offset>]+; [ </login></parametros>]+; [ </urn:getMarca>]+; [ </soapenv:Body>]+; [ </soapenv:Envelope>] try oHttp := CreateObject( "MSXML2.XMLHTTP" ) catch e ? "Error de creacion" end oHttp:Open( "POST", cDominio_WebServices, .F. ) ohttp:SetRequestHeader("Content-Type" ,"text/xml;charset=UTF-8" ) ohttp:SetRequestHeader( "SOAPAction" , "urn:InterfazEc#getMarca" ) oHttp:SetRequestHeader( "Connection:", "Keep-Alive" ) oHttp:SetRequestHeader( "Content-length: ", Str( len( cXml ) ) ) hFile := FCreate( "entrada.xml" ) If hFile = -1 MsgStop( "No se pudo abrir el fichero" + "entrada.xml" ) return nil endif Fwrite( hFile, cXMl ) fClose( hFile ) oHttp:Send( cXml ) alert( oHttp:responseText ) hFile := FCreate( "salida.xml" ) If hFile = -1 MsgStop( "No se pudo abrir el fichero" + "salida.xml" ) return nil endif Fwrite( hFile, oHttp:responseText ) fClose( hFile )RETURN NIL
Devuelve lo mismo que SOAPui, por lo tanto, todo correcto
Espero que esto te ayude en el camino

Saludos Cordiales
Saludos Cordiales