jj json
This commit is contained in:
parent
ecf7788c00
commit
feac055ae7
@ -204,46 +204,85 @@ Public Class clsDateiverarbeitung
|
|||||||
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsDateiverarbeitung.Rename_File_Vektor")
|
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsDateiverarbeitung.Rename_File_Vektor")
|
||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
Public Shared Function BNSjsonDownload(WMFile As WMObject, userId As String)
|
|
||||||
|
Private Shared Function GetWMAPILink(docId As String, userId As String)
|
||||||
|
Dim hostname = "http://documents.mylogitservices.syncreon.com:8100"
|
||||||
|
Dim link As String = $"{hostname}/WMWebApi/windream.web.api/DigitalData/BNSDownload?docId={docId}&userId={userId}"
|
||||||
|
|
||||||
|
Return link
|
||||||
|
End Function
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Generiert einen Link für BNS und fügt das Dokument WMFile
|
||||||
|
''' ins BNS ein
|
||||||
|
''' </summary>
|
||||||
|
''' <param name="WMFile">Das WMObject, dass das aktuelle Dokument repräsentiert</param>
|
||||||
|
''' <param name="userId">Die eindeutige Benutzer Kennung für die Authentifizierung in Windream</param>
|
||||||
|
Public Shared Sub BNSjsonDownload(WMFile As WMObject, userId As String)
|
||||||
Try
|
Try
|
||||||
'den Wert des Indexes für das aktuelle Dokument auslesen
|
' Indizes für das aktuelle Dokument auslesen
|
||||||
Dim SENDUNGNR = WMFile.GetVariableValue("Sendungnr")
|
Dim SENDUNGNR = WMFile.GetVariableValue("Sendungnr")
|
||||||
Dim DOKID = WMFile.GetVariableValue("Dokument-ID")
|
Dim DOKID = WMFile.GetVariableValue("Dokument-ID")
|
||||||
Dim DOKART = WMFile.GetVariableValue("Dokumentart")
|
Dim DOKART = WMFile.GetVariableValue("Dokumentart")
|
||||||
'Add Info to JsonArray
|
|
||||||
'......
|
|
||||||
Dim hostname = "91.229.192.183:8100"
|
|
||||||
Dim link As String = $"http://{hostname}/WMWebApi/windream.web.api/DigitalData/BNSDownload?docId={DOKID}&userId={userId}"
|
|
||||||
Dim now As DateTime = DateTime.Now
|
Dim now As DateTime = DateTime.Now
|
||||||
|
|
||||||
|
' Download Link für Dokument erstellen
|
||||||
|
Dim link As String = GetWMAPILink(DOKID, userId)
|
||||||
|
|
||||||
|
' JSON Payload erstellen und serialisieren
|
||||||
Dim doc As New BNSDocument()
|
Dim doc As New BNSDocument()
|
||||||
doc.Bemerkung = DOKART
|
doc.Bemerkung = DOKART
|
||||||
doc.Ivalidfrom = now
|
doc.Ivalidfrom = now
|
||||||
doc.Ivaliduntil = now.AddDays(30)
|
doc.Ivaliduntil = now.AddDays(30)
|
||||||
doc.Pfad = link
|
doc.Pfad = link
|
||||||
|
doc.Kategorie.Add(DOKART)
|
||||||
|
|
||||||
Dim json = JsonConvert.SerializeObject(doc, Formatting.None)
|
Dim json As String = JsonConvert.SerializeObject(doc, Formatting.Indented)
|
||||||
Dim bytes = Encoding.Default.GetBytes(json)
|
Dim bytes As Byte() = Encoding.Default.GetBytes(json)
|
||||||
|
|
||||||
' HTTP Request machen
|
' HTTP Request machen
|
||||||
' URL Anpassen!
|
Dim mandatenId As Integer = 1 ' Mandanten ID ist Standartmäßig 1
|
||||||
|
Dim geschaeftsObjekt = "Sendung"
|
||||||
|
Dim geschaeftsId = SENDUNGNR
|
||||||
|
Dim baseURL As String = "https://mylogitservices.syncreon.com/onwebui/api"
|
||||||
|
Dim url As String = $"{baseURL}/Customer/{mandatenId}/{geschaeftsObjekt}/{geschaeftsId}/dokument"
|
||||||
|
|
||||||
Dim url As String = "http://{Domain}:{Port}/Customer/{Kunden ID}/{Geschäftsobjekt}/{GeschäftsobjektID}/dokument"
|
clsLogger.Add($"Generiertes JSON: {json}", False, "BNSjsonDownload")
|
||||||
|
clsLogger.Add($"Creating WebRequest for {url}", False, "BNSjsonDownload")
|
||||||
|
|
||||||
Using wc As WebClient = New WebClient()
|
Dim req As HttpWebRequest = DirectCast(WebRequest.Create(url), HttpWebRequest)
|
||||||
|
|
||||||
wc.Headers.Add(HttpRequestHeader.ContentType, "application/json")
|
req.Method = "POST"
|
||||||
Dim response As Byte() = wc.UploadData(url, bytes)
|
req.ContentType = "application/json"
|
||||||
Dim responseString = Encoding.Default.GetString(response)
|
req.ContentLength = bytes.Length
|
||||||
|
req.Timeout = 3000
|
||||||
|
req.ServicePoint.Expect100Continue = False
|
||||||
|
|
||||||
clsLogger.Add($"Datei geschrieben! docId: {DOKID}, dokart: {DOKART}, userId: {userId}", "BNSjsonDownload")
|
Dim reqStream As Stream = req.GetRequestStream()
|
||||||
|
reqStream.Write(bytes, 0, bytes.Length)
|
||||||
|
reqStream.Close()
|
||||||
|
|
||||||
|
clsLogger.Add($"Datei wird hochgeladen... docId: {DOKID}, dokart: {DOKART}, userId: {userId}", False, "BNSjsonDownload")
|
||||||
|
clsLogger.Add($"Upload URL: {url}", False, "BNSjsonDownload")
|
||||||
|
|
||||||
|
Using res As HttpWebResponse = req.GetResponse()
|
||||||
|
Dim code As HttpStatusCode = res.StatusCode
|
||||||
|
Dim text As String = res.StatusDescription
|
||||||
|
|
||||||
|
' Status 201 Created bedeutet: Alles okay!
|
||||||
|
If code = HttpStatusCode.Created Then
|
||||||
|
clsLogger.Add($"Datei geschrieben! docId: {DOKID}, dokart: {DOKART}, userId: {userId}", False, "BNSjsonDownload")
|
||||||
|
End If
|
||||||
|
|
||||||
|
res.Close()
|
||||||
|
|
||||||
|
Throw New Exception($"Server Error (HTTP {code}: {text})")
|
||||||
End Using
|
End Using
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "BNSjsonDownload")
|
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "BNSjsonDownload")
|
||||||
Return False
|
|
||||||
End Try
|
End Try
|
||||||
End Function
|
End Sub
|
||||||
Public Shared Function RUN_ORACLE_COMMAND(WMFile As WMObject, OracleCS As String, OracleCommandRAW As String)
|
Public Shared Function RUN_ORACLE_COMMAND(WMFile As WMObject, OracleCS As String, OracleCommandRAW As String)
|
||||||
Try
|
Try
|
||||||
Dim result = REGEX_REPLACE(WMFile, OracleCommandRAW)
|
Dim result = REGEX_REPLACE(WMFile, OracleCommandRAW)
|
||||||
@ -338,6 +377,7 @@ Public Class clsDateiverarbeitung
|
|||||||
Public Ivaliduntil As DateTime
|
Public Ivaliduntil As DateTime
|
||||||
Public Bemerkung As String
|
Public Bemerkung As String
|
||||||
Public Primaer As Boolean = False
|
Public Primaer As Boolean = False
|
||||||
|
Public Kategorie As List(Of String)
|
||||||
|
|
||||||
Public Sub New()
|
Public Sub New()
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@ -444,6 +444,7 @@ Public Class frmMain
|
|||||||
lblString1.Text = "Email-Empfänger:"
|
lblString1.Text = "Email-Empfänger:"
|
||||||
Case 2 'json BNS
|
Case 2 'json BNS
|
||||||
lblString1.Text = "User Kunde:"
|
lblString1.Text = "User Kunde:"
|
||||||
|
lblString2.Text = "BNS Kundennummer:"
|
||||||
End Select
|
End Select
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user