Buenas
Esto no soluciona la cuestión anterior, ver exactamente que es lo que envia PHP, pero esta solución, otra más, lo que hace es no
depender de terceros, haciendo portable el codigo a otras plataformas, GNU/Linux, Android, etc..
usando simplemente las clases que nos provee Harbour.
- Code: Select all Expand view
#require "hbtip"
Funtion SendSoap()
LOCAL oHttp, cResponse := ""
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>]
oHttp := TIPClientHTTP():new( "http://69.20.52.167/eforce/wsInterfacesEc/InterfacesEc3.php" )
oHttp:nConnTimeout := 20000
/* Connect to the HTTP server */
IF ! oHttp:open( )
Alert( "Connection error:", oHttp:lastErrorMessage() )
RETURN ""
ENDIF
oHttp:hFields["Content-Type"] := "text/xml;charset=UTF-8"
oHttp:hFields["Connection:"] := "Keep-Alive"
oHttp:hFields["SOAPAction:"] := "urn:InterfazEc#getMarca"
if oHttp:post( cXML )
cResponse := oHttp:readAll()
endif
oHttp:close()
RETURN cResponse