MSXML “Le système ne peut pas localiser la ressource spécifiée”
J'ai une fonction qui utilise MSXML publier un document XML qui hier a commencé à défaut malgré l'absence de modification du code. La fonction est la suivante:
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
Le document XML et l'adresse transmises sont tous les deux corrects - la ligne qui provoque l'erreur est xmlHTTP.send(xmlDoc)
. J'ai essayé sur 2 machines différentes avec la même erreur à chaque fois et ont également essayé resinstalling MSXML3, sans succès.
L'exception renvoyée est:
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"
OriginalL'auteur Macros | 2010-10-28
Vous devez vous connecter pour publier un commentaire.
Il s'est avéré être un problème de mise en réseau - que je ne soupçonnais pas d'abord ce que l'erreur a grandi si vite, qui n'a pas de proposer un problème avec le point de terminaison. Le problème, c'était une règle qui avait été ajouté (ne me demandez pas pourquoi) pour le pare-feu empêchant la communication avec l'adresse de destination.
Merci de m'avoir mis dans la bonne direction. Le message d'erreur au départ m'a fait penser que j'allais avoir de la difficulté à tirer les autorisations pour les COMS objet lui-même. Mais, l'erreur signifiait l'objet xmlhttp n'était pas en mesure de se connecter à l'url avec succès.
Nous avons juste eu un serveur de descendre. Un autre serveur était de tenter de faire une demande XMLHTTP ce serveur et nous avons obtenu de cette même msxml3.dll erreur. Je n'aurais pas mis 2 et 2 sur la base d'un message d'erreur, semblait plus comme un serveur local problème avec la DLL que la DLL pas pu trouver le serveur, il était à la recherche pour. Bon à savoir.
OriginalL'auteur Macros
Si vous êtes juste de traitement xml ou dtd est en mode hors connexion, vous pouvez utiliser:
xmlDoc.resolveExternals = False
OriginalL'auteur TeflonDon