FlowHeater Demo Video
 
Der Daten Import / Export Spezialist
 
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Schauen Sie sich auch die verfügbaren allgemeinen Beispiele an evtl. kann Ihre Frage hiermit schon beantwortet werden: Hello World 1 / 2 / 3 , Zahlen in Zeichenketten formatieren , Einfache Wenn-Dann-Sonst Bedingung , Komplexe If-Then-ElseIf ... Bedingung , Daten filtern und gruppieren , Daten gruppieren und Werte über die Gruppierung summieren
  • Seite:
  • 1

THEMA:

Import zu InnovaPhone Contacts-App 1 Jahr 1 Woche her #3991

  • FlowHeater-Team
  • FlowHeater-Teams Avatar Autor
  • Offline
  • Beiträge: 1674
Moin zusammen,

ich nutze seit Jahren immer mal wieder erfolgreich FlowHeater. Nun habe ich ein weiteres Einsatzfeld gefunden und frage mich, ob Sie Interesse haben meinen Lösungsansatz etwas besser zu gestalten.

Kurz zur Aufgabenstellung:
Innovaphone ist eine Telefonsystem aus Deutschland mit stark wachsenden Marktanteilen, welches mit seiner neuen Softwareversion 13 endlich auch direkt Kontakte auf dem System hosten kann (bisher nur externe LDAP-Server). Leider muss man die Daten manuell in die Contacts-App als CSV (UTF8) hochladen. Die CSV kann ich natürlich aus meinen Datenquellen mittels FlowHeater erstellen. Auch das Hochladen geht über ein PowerShell-Script ( http://wiki.innovaphone.com/index.php?title=Reference13r1:Concept_App_Contacts#Upload_Data_by_HTTP_Post ) .

Nun zu meiner Anfrage / Anregung:
Toll wäre es ja, wenn man das nachlaufende PowerShell-Script sparen könnte und im FlowHeater bereits ein Ziel ‚Innovaphone Contacts-App‘ oder allgemeiner ‚http-Post‘ hat, welche die Daten automatisch auf das System postet. Http wäre im Übrigen  auch als Importer für z.B. SalesForce interessant.

Vielen Dank
N. Hansen
Anfrage per Email erhalten
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von FlowHeater-Team.

Import zu InnovaPhone Contacts-App 1 Jahr 1 Woche her #3992

  • FlowHeater-Team
  • FlowHeater-Teams Avatar Autor
  • Offline
  • Beiträge: 1674
Hallo Herr Hansen,

das können Sie über untenstehendes C# Skript und dem .NET Script Heater erledigen. Sie müssen hierzu einen .NET Script Heater auf den Designer ziehen und „Ausführen bei“ auf „Ende“ einstellen. Zusätzlich müssen Sie auf dem Reiter erweitert bei Usings/Imports folgendes eintragen, siehe Screenshot.

Das Skript wird so am Ende des Verarbeitungsschrittes aufgerufen, auf dem der .NET Script Heater platziert wurde. Macht dann im Prinzip genau das gleich wie das PowerShell Script. Liest die erzeugte Textdatei ein und übergibt das an die angegebene URL per HTTP POST.

Achtung: Das Skript ist mangels Testumgebung ungetestet. Am besten mal versuchen und ggf. Fehlermeldungen, Änderungswünsche, etc. posten.

Im Angang finden Sie auch eine kleine Beispieldefinition dazu.

C# Skript um InnovaPhone Contact App per HTTP POST zu beliefern
public object DoWork()
{
  TextFileAdapter write = (TextFileAdapter)AdapterWrite;

  // Name und Inhalt der erzeugten Textdatei holen
  byte [] buf = File.ReadAllBytes(write.Filename);

  // WebRequest holen, Domain und URL anpassen
  WebRequest request = WebRequest.Create("https://www.test.xyz/site.php");

  request.Method = "POST";
  request.ContentType = "application/octet-stream";
  request.ContentLength = buf.Length;
    
  Stream data = request.GetRequestStream();
  data.Write(buf, 0, buf.Length);
  data.Close();

  WebResponse response = request.GetResponse();
    
  // Rückgabe bei Ausführen bei Ende nicht notwendig!
  return null;    
}





Dateianhang:

Dateiname: web-request-post.zip
Dateigröße:5 KB
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Import zu InnovaPhone Contacts-App 1 Jahr 1 Woche her #3994

Danke, grundsätzlich wurde die Frage beantwortet, funktioniert aber noch nicht. Das Script muss sich natürlich noch am Webdienst authentifizieren, sprich da müssen noch Benutzer und Passwort rein.

Niels

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Import zu InnovaPhone Contacts-App 1 Jahr 1 Woche her #3995

  • FlowHeater-Team
  • FlowHeater-Teams Avatar Autor
  • Offline
  • Beiträge: 1674
Hallo Niels,
Vielen Dank für die Rückmeldung. Hier das angepasste C# Skript, das auch mit einer HTTP „Basic“ Anmeldung umgehen kann.

Im Anhang wurde die Definition dazu ebenfalls aktualisiert.


Angepasstes C# Skript um InnovaPhone Contact App per HTTP POST zu beliefern, inkl. Benutzer Anmeldung
public object DoWork()
{
  TextFileAdapter write = (TextFileAdapter)AdapterWrite;

  // Name der erzeugten Textdatei holen
  byte [] buf = File.ReadAllBytes(write.Filename);


  // Domain und URL anpassen
  Uri uri = new Uri("https://www.test.xyz/site.php");

  // HttpWebRequest holen
  HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);

  // Username und Passwort anpassen
  NetworkCredential credential = new NetworkCredential("benutzer", "passwort");

  CredentialCache cache = new CredentialCache();
  cache.Add(uri, "Basic", credential);

  request.Method = "POST";
  request.Credentials = cache;
  request.PreAuthenticate = true; 
  request.ContentType = "application/octet-stream";
  request.ContentLength = buf.Length;
    
  Stream data = request.GetRequestStream();
  data.Write(buf, 0, buf.Length);
  data.Close();

  WebResponse response = request.GetResponse();
    
  // Rückgabe bei Ausführen bei Ende nicht notwendig!
  return null;    
}

Dateianhang:

Dateiname: http-web-r...post.zip
Dateigröße:5 KB


PS: Mangels Testumgebung ist das C# Skript ungetestet.
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Import zu InnovaPhone Contacts-App 11 Monate 4 Wochen her #4000

So, jetzt hatte ich endlich Zeit das Ganze zu testen. Wenn ich die hier zum Download angebotene Definition ausführe, dann läuft sie erst einmal ohne Fehler durch. Kopiere ich das Script in meine Definition, dann gibt es einen Haufen Fehler:
Irgendwo muss ich da sicher noch was definieren, nur wo?

Niels
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Import zu InnovaPhone Contacts-App 11 Monate 4 Wochen her #4001

  • FlowHeater-Team
  • FlowHeater-Teams Avatar Autor
  • Offline
  • Beiträge: 1674
dann fehlt lediglich eine “using System.Net;” Angabe auf dem Reiter "Erweitert", siehe Screenshot.

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von FlowHeater-Team.

Import zu InnovaPhone Contacts-App 11 Monate 3 Wochen her #4003

Danke, das habe ich auch kapiert. Trotzdem klemmt es noch:

Die Datei ist da und sieht auch ok aus. 

Niels
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Import zu InnovaPhone Contacts-App 11 Monate 3 Wochen her #4005

  • FlowHeater-Team
  • FlowHeater-Teams Avatar Autor
  • Offline
  • Beiträge: 1674
Hallo Nils,

Sorry, mein Fehler. Das Problem ist, dass die Datei hier noch exklusive vom TextFile Adapter geöffnet ist.

Um das zu lösen habe ich die Definition um einen weiteren Verarbeitungsschritt erweitert. Hierüber kann nun problemlos auf die Datei zugegriffen werden.

Im ersten wird die Datei erzeugt und per System Heater sowie Set Parameter Heater wird hier der erzeugte Dateiname in einem FlowHeater Parameter gespeichert. Dieser wird nun um zweiten Verarbeitungsschritt im Skript verwendet um die Datei zu lesen. Dieser Schritt ist nur ein Dummy Verarbeitungsschritt! Hier wird lediglich eine Test Datensatz über den TestData Adapter generiert, der dann in eine InMemory Adapter geschrieben wird, das können Sie ignorieren.

Angepasstes C# Skript um InnovaPhone Contact App per HTTP POST zu beliefern (per Dummy Step)
public object DoWork()
{
  // Name der erzeugten Textdatei holen, vorheriger Verarbeitungsschritt!
  string sFilename = Parameter["FILENAME"].Value.ToString();
  
  byte [] buf = File.ReadAllBytes(sFilename);


  // Domain und URL anpassen
  Uri uri = new Uri("https://www.test.xyz/site.php");

  // HttpWebRequest holen
  HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);

  // Username und Passwort anpassen
  NetworkCredential credential = new NetworkCredential("benutzer", "passwort");

  CredentialCache cache = new CredentialCache();
  cache.Add(uri, "Basic", credential);

  request.Method = "POST";
  request.Credentials = cache;
  request.PreAuthenticate = true; 
  request.ContentType = "application/octet-stream";
  request.ContentLength = buf.Length;
    
  Stream data = request.GetRequestStream();
  data.Write(buf, 0, buf.Length);
  data.Close();

  WebResponse response = request.GetResponse();
    
  // Rückgabe bei Ausführen bei Ende nicht notwendig!
  return null;    
}

Dateianhang:

Dateiname: http-web-r...9-30.zip
Dateigröße:8 KB
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Import zu InnovaPhone Contacts-App 10 Monate 1 Woche her #4085

Moin,

leider klemmte es etwas an der Zeit für das Projekt. Jetzt habe ich mich am Wochenende nochmal mit beschäftigt und es funktioniert leider nicht. Da ich C# noch weniger beherrsche als VB, habe ich es mal via VB im Visual Studio versucht. Ich bekomme immer 401 - Authentifizierungsfehler . Dass die Zugangsdaten stimmen, kann ich jedoch prima über das PowerShell-Script prüfen. Ich vermute, dass die Digest-Authentifizierung nicht klappt. Hier bekommt man ja auch über eine 401-Meldung seinen Token zur Verschlüsselung der Anmeldedaten. 
Ich überlege nun, wie das PowerShell-Script die CURL-Ressource zu nutzen...

erfolglose Grüße
Niels

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Import zu InnovaPhone Contacts-App 10 Monate 1 Woche her #4087

  • FlowHeater-Team
  • FlowHeater-Teams Avatar Autor
  • Offline
  • Beiträge: 1674
Hallo Niels,

die Suche nach dem Fehler kann Stunden in Anspruch nehmen, das kann leider hier im Rahmen des kostenlosen Supportes nicht mehr durchgeführt werden.

Workaround
Sie können über den CMD Heater das PowerShell Skript auch aus der Definition am Ende der Verarbeitung aufrufen.
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Seite:
  • 1
Ladezeit der Seite: 0.256 Sekunden

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

Copyright © 2009-2021 by FlowHeater GmbH.
Alle Rechte vorbehalten.

Follow us on

twitter  facebook

YouTube

 de en