Tengo una función que utiliza MSXML para publicar un documento XML que ayer comenzó a fallar a pesar de que no se realizó ningún cambio en el código. La función es la siguiente:MSXML "El sistema no puede encontrar el recurso especificado"
Public Function PostFile(ByVal address As String, ByVal data As Byte()) As xmldocument
Dim xmlHTTP As New MSXML2.XMLHTTP
Dim response As New XmlDocument
Dim xmlDoc As New MSXML2.DOMDocument
Try
xmlDoc.load(data)
xmlHTTP.open("post", address, False)
xmlHTTP.send(xmlDoc)
If xmlHTTP.responseXML.xml <> String.Empty Then
response.LoadXml(xmlHTTP.responseXML.xml)
Return response
Else
Dim result As String = "<NO_Response><Error>the post succeeded to " + address + " but there was no responce returned</Error><Hint>Check FireWall Settings</Hint></NO_Response>"
response.loadxml(result)
Return response
End If
Catch ex As Exception
'Error logging code removed
End Try
Return Nothing
End Function
el documento XML y la dirección en la que se pasa son ambas correctas - la línea que hace que el error es xmlHTTP.send(xmlDoc)
. He intentado esto en 2 máquinas diferentes con el mismo error cada vez y también he intentado reinstalar MSXML3, sin éxito.
La excepción lanzada es:
InnerException: Nothing
Message: "The system cannot locate the resource specified. "
Source: "msxml3.dll"
StackTrace: " at MSXML2.XMLHTTPClass.send(Object varBody) at comms.HTTPHandler.PostFile(String address, Byte[] data) in D:\SCC\Main\Sender\Http.vb:line 42"
arriba! solo porque me ahorró una depuración innecesaria – idanshmu
Gracias por guiarme en la dirección correcta. El mensaje de error inicialmente me hizo pensar que iba a tener que solucionar los permisos para el objeto COMS. Pero el error solo significaba que el objeto xmlhttp no podía conectarse correctamente a la url. – WWC
Acabamos de tener un servidor inactivo. Otro servidor estaba intentando realizar una solicitud XMLHTTP a ese servidor y obtuvimos el mismo error msxml3.dll. No habría puesto 2 y 2 juntos según el mensaje de error, parecía más un problema de servidor local con el DLL que el DLL no pudo encontrar el servidor que estaba buscando. Bueno saber. –