Msxml2.ServerXMLHTTP.3.0

480 views
Skip to first unread message

KIM MARTINEZ

unread,
Oct 18, 2013, 6:33:55 PM10/18/13
to publice...@googlegroups.com
Hola amigos de foro una consulta. si me puedan ayudar.


TEXT TO sXMLRequest TEXTMERGE NOSHOW 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.webserviceX.NET">
<soapenv:Header>
  <soapenv:Body>
     <web:test>
        <web:entidad>'ADES'</web:entidad>
        <web:referenciaCliente>'ADESY'</web:referenciaCliente>
        <web:idTerminal>'99990033'</web:idTerminal>
        <web:idCliente>'99990033'</web:idCliente>
     </web:test>
  </soapenv:Body>
</soapenv:Envelope>
ENDTEXT 
oHTTP = CREATEOBJECT('Msxml2.ServerXMLHTTP.3.0')
oHTTP.open("POST","https://213.60.183.50:8023/WSPIT.asmx?WSDL",.f.,"99990033","111222333444")

*** Ejecitando***********************
oHTTP.SEND(sXMLRequest)

* Muestra el siguiente Error. ya e registrado el archivo.
msxml6.dll, mediante regsvr32. 


Error 1429 Mensaje  : Ole IDispatch exception code 0 from msxml6.dll
The Certificate authority is invalid or incorrect. 



Fernando D. Bozzo

unread,
Oct 18, 2013, 9:20:39 PM10/18/13
to publice...@googlegroups.com
Hola Kim:

Tenés el XML mal formado. Esto me funcionó:

*--------------------------------------------------------------------
*-- www.webserviceX.net
*--------------------------------------------------------------------

*-- Ver valores en: http://msdn.microsoft.com/en-us/library/ms753798%28v=vs.85%29.aspx
#DEFINE SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS 13056

LOCAL lcEnvioXML, lcURL, lcUser, lcPwd, lcEntidad, lcReferencia, lnIdTerminal, lnIdCliente ;
    , loXmlHttp AS "MSXML2.ServerXMLHTTP.6.0" ;
    , loXMLBody    AS "MSXML2.DOMDocument.6.0"

lcURL           = "https://213.60.183.50:8023/WSPIT.asmx?WSDL"
lcUser            = "99990033"
lcPwd            = "111222333444"
lcEntidad        = "ADES"
lcReferencia    = "ADESY"
lnIdTerminal    = 99990033
lnIdCliente        = 99990033

TEXT TO lcEnvioXML TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4+8
    <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:web="WebServicePIT">
       <soap:Header>
          <web:AuthHeader>
             <web:UserName><<lcUser>></web:UserName>
             <web:Password><<lcPwd>></web:Password>
          </web:AuthHeader>
       </soap:Header>
       <soap:Body>
          <web:test>
             <web:entidad><<lcEntidad>></web:entidad>
             <web:referenciaCliente><<lcReferencia>></web:referenciaCliente>
             <web:idTerminal><<TRANSFORM(lnIdTerminal)>></web:idTerminal>
             <web:idCliente><<TRANSFORM(lnIdCliente)>></web:idCliente>
          </web:test>
       </soap:Body>
    </soap:Envelope>
ENDTEXT

loXmlHttp    = CREATEOBJECT("MSXML2.ServerXMLHTTP.6.0")
loXMLBody    = CREATEOBJECT("MSXML2.DOMDocument.6.0")

IF NOT loXMLBody.LOADXML( lcEnvioXML )
    ERROR loXMLBody.parseError.reason
ENDIF

loXmlHttp.OPEN( "POST", lcURL, .F., lcUser, lcPwd )
loXmlHttp.setRequestHeader( "Accept-Encoding", "gzip,deflate" )
loXmlHttp.setRequestHeader( "Content-Type", "text/xml" )
*loXmlHttp.setRequestHeader( "Content-Type", "text/xml;charset=UTF-8" )
loXmlHttp.setRequestHeader( "Content-Length", LEN(lcEnvioXML) )
loXmlHttp.setRequestHeader( "soapAction", "WebServicePIT/test" )
loXmlHttp.setOption( 2, SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS )

loXmlHttp.SEND( loXMLBody.documentElement.XML )

IF loXmlHttp.STATUS # 200
    ERROR (NVL(loXmlHttp.responseText,''))
ENDIF

MESSAGEBOX( 'Status: ' + NVL(loXmlHttp.statusText,'') + CHR(13) + 'Responde: ' + NVL(loXmlHttp.responseText,'') )


Saludos.-

KIM MARTINEZ

unread,
Oct 19, 2013, 11:28:58 AM10/19/13
to publice...@googlegroups.com
Hola.  Fernando. Gracias por el dato. 

Saludos.
Reply all
Reply to author
Forward
0 new messages