2016-07-21 2 views
0

Ich erstelle eine Asp-Seite, um XML-Daten zu verarbeiten, die uns von einer Drittanbieter-Site übermittelt wurden. Ich habe keinerlei Kontrolle über die Sende-Website.Der Versuch, XML aus dem Post mit xmlDomDoc.Load (Request) zu ziehen, gibt nutzlosen Fehler

Ich arbeite gerade in der klassischen Asp (Vbscript), nur weil ich Old School bin denke ich, aber ich bin offen für eine. NET-Lösung auch. Alles, was an diesem Punkt funktioniert.

Im Moment habe ich den folgenden Code:

Set objXmlRequest = Server.CreateObject("MSXML2.DOMDOCUMENT.3.0") 

If objXmlRequest.Load (Request) Then 
    strLogEntry = strLogEntry & " | XML received" 
Else 
    strLogEntry = strLogEntry & " | XML failed to load. " & objXmlRequest.parseError.reason 
End If 

Wenn die vom Dritten Website gebucht, dieser Code legt den folgenden Fehler in der Protokolldatei:

The download of the specified resource has failed. 
Error processing resource 'https://blahblah.thirdpartysite.com/xxxx/xxxx-ver2_0.dtd' 

Alle Versuche zur Unterstützung von der Third-Party-Site werden von einem Projektmanager bearbeitet, der absolut keine Ahnung hat, wovon er redet. Dennoch sind sie ein Hauptverantwortlicher für diese Art von Dingen und ich muss denken, dass das Problem an meinem Ende liegt.

Eine schnelle Überprüfung von request.servervariables zeigt, dass für die Post alles in Ordnung zu sein scheint.

HTTP_CONTENT_LENGTH: 1120 
HTTP_CONTENT_TYPE: text/xml 

Ich habe viele ähnliche Fragen gefunden, aber keine mit funktionierenden Lösungen. Also, bitte nenn das nicht ein Betrogener und schließt es.

+0

Vielleicht möchten Sie einstellen, um versuchen die [ 'ProhibitDTD'] (https://msdn.microsoft.com/en-us/ Bibliothek/ms762632 (v = vs.85) .aspx) Eigenschaft –

+0

Nun, das änderte die Fehlermeldung zu "XML konnte nicht geladen werden. DTD ist verboten." –

+0

Eine andere Eigenschaft, die Sie ausprobieren könnten, ist resolutionexternals –

Antwort

1

reine Voodoo, scheint aber zu umgehen: Deaktivieren der Validierung durch

Einstellung
.validateOnParse = False 
Verwandte Themen