vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
XML an Webserver senden 
Autor: peter01
Datum: 22.01.15 20:25

Hallo,

ich habe eine eigene Anwendung, die auf zwei Arten Daten an eine XML-Schnittstelle schickt und dann die Ergebnisse auswertet. Unter Windows XP und Windows 2008 R2 läuft das super. Jetzt habe ich die Anwendung unter Windows 2012 R2 getestet.

Problem ist, dass dort die ganze Anwendung einfach abstürzt. Es heißt dann "importIT" funktioniert nicht mehr und das wars. Im Eventlog weist die Meldung auf ein Netzwerkproblem hin (könnte sein, Windows2012R2 hat laut Internet manchmal eine verzögerte Netzwerkverbindung wenn es virtuell läuft).

1) Kann ich diesen Fehler irgendwie finden / abfangen / vermeiden, also auch dann, wenn die Netzwerkverbindung etwas latent läuft?

2) Verwende ich die richtigen Komponenten für den XML-Transfer?


Danke für Eure Tipps.


Variante 1
Public Function callWebAPI() as boolean
 
    Dim objDom As Object
    Dim objXmlHttp As Object
    Dim strRet As String
    callWebAPI = False
    Dim xmlXMLtext, getXMLAdress as String
 
    xmlXMLtext = "<?xml version=""1.0""" & _
      "encoding=""iso-8859-1""?><DATA><ACTION><do>Vorgang" & _
      "</do></ACTION><LOGDATA><login>usr</login>" & _
      "lt#pwd>123</pwd></LOGDATA></DATA>"    getXMLAdress = _
      "https://www.mydomain.com/send.asp"
 
    On Error GoTo errHandler01
 
        ' Create objects to DOMDocument and XMLHTTP
        Set objDom = CreateObject("MSXML2.DOMDocument")
        Set objXmlHttp = CreateObject("MSXML2.XMLHTTP")
 
        ' Load XML
        objDom.async = False
        objDom.loadXML xmlXMLtext
 
        'Open the webservice
        objXmlHttp.Open "POST", getXMLAdress, False
        objXmlHttp.setRequestHeader "Content-Type", _
          "application/x-www-form-urlencoded"
        objXmlHttp.setRequestHeader "Encoding", "UTF-8"
        objXmlHttp.send ("name=" & UrlEncode(objDom.xml))
 
        ' Get all response text from webservice
        strRet = objXmlHttp.responseBody
 
        Set objXmlHttp = Nothing
        Set objDom = Nothing 
        callWebAPI = True
 
 
'// Fehlerbehandlung XML
Exit Function
errHandler01:
 
    MsgBox "Es steht kein Internetzugang zur Verfügung!" & vbCrLf & _
      "Wiederholen Sie diese Aktion später, es wurde NICHTS geändert!" & vbCrLf _
      & vbCrLf & "Internet-Fehler i-2: " & Err.Description, vbCritical + _
      vbOKOnly, "Fehler"
    callWebAPI = False
    Err.Clear
    Exit Function
 
End Function
Variante 2
Public Function runXMLscript1 as boolean
 
	runXMLscript1  = false
 
	Dim start As Variant
	Dim vartmp As Variant
	Dim strLogdataXML As String
	Dim strDebugcodeXML As String
	Dim strXMLout As String
 
	start = Timer
	strXMLurl = "https://www.mydomain.com/send.asp"
	strXMLout = "<?xml version=""1.0""" & _
  "encoding=""iso-8859-1""?><DATA><ACTION><do>Vorgang1#lt" & _
  "/do></ACTION><LOGDATA><login>usr</login><pwd>123</pwd></LOGDATA></DATA>"
 
	'XML an Schnittstelle senden
	Set XMLHTTP = CreateObject("Msxml2.ServerXMLHTTP.3.0")
	With XMLHTTP
	   .Open "POST", strXMLurl, False
	   .setTimeouts 5000, 5000, 8000, 300000
	   .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
	   .setRequestHeader "Encoding", "UTF-8"
	   .send ("name=" & UrlEncode(strXMLout))
	End With
	Call LogfileIntranet("SEND", "", "GetAll2 gesendet", LoginUsername, "1")
	vartmp = XMLHTTP.responseBody
 
	Dim objRS, objOrderNodes, objOrderNode As Variant
	Dim objXML As Variant
	Set objXML = XMLHTTP.responseXML
	objXML.loadXML (vartmp)
	If (objXML.parseError.errorCode <> 0) Then MsgBox "err113-002:" & _
  "XML-Parse-Fehler" & objXML.parseError.reason & " '" & _
  objXML.parseError.srcText & "' " & " Zeile: " & objXML.parseError.Line & "," & _
  "Zeichen: " & objXML.parseError.linepos, vbCritical, "XML-Rückgabefehler," & _
  "Syntax nicht richtig"
 
	runXMLscript1 = true
 
 
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
XML an Webserver senden2.106peter0122.01.15 20:25

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel