Guten Morgen!
Ich bräuchte zu einem aktuellen Projekt eure Meinung bzw. Hilfe zu meinen Fragen. Worum geht es?
Ich soll für einen Kunden eine Applikation entwicklen, welche von einem externen WebService (WSDL - SOAP) Daten einliest bzw. Daten schreibt. Dazu habe ich von der externen Firma eine Doku bekommen, wie die Services (WSDL) heißen bzw. wie der Link dazu ist. Die Doku der Schnittstelle (Excel Datei) liegt bei.
In meinem Projekt habe ich die WebServices (WSDL) eingebunden.
Die externe Firma hat freundlicherweise einen Beispielcode (Beispiel-Code.Png) zur Verfügung gestellt, wie z.B. in C# auf die Schnittstelle zugegriffen werden kann.
Was mir hier auffällt ist, dass ich die Abfrageparameter zuerst in eine XML Datei speichern muss, diese dann Serialisieren in das DatenModell der Schnittstelle und danach an die Schnittstelle übergen kann.
Frage: Wieso kann ich nicht direkt die Abfrageparameter in eine Variable vom entsprechenden DatenTyp schreiben und diese dann an die Schnittstelle übergeben? Ich war der Meinung, dass eine WSDL Schnittstelle dies zur Verfügung stellt.
Ich habe dann versucht eine XML Datei für die Abfrageparameter zu erstellen. Als Grundlage habe ich die Doku verwendet. In meinem Beispiel wollte ich das WDSL Service "GetCustomer" verwenden.
Die Doku seht ihr im Bild GetCustomer-Doku.png
Meine XML Datei dazu:
Die Abfrage hat leider nicht funktioniert. Nachdem ich nach etlichen Versuchen nicht weiterkam, sah ich mir einmal im Objektkatalog die Schnittstelle bezüglich Datenmodell und Methoden an. Dabei stellt ich fest, dass die Doku mit den Methoden/DatenModellen der Schnittstelle nicht übereinstimmt. Bild GetCustomer.png
Ich habe dann die anderen Methoden laut Doku mit dem Objektkatalog verglichen und es ist tatsächlich so, dass die Doku teilweise nicht mit dem DatenModell des WebServices übereinstimmt.
Was mir noch aufgefallen ist, dass die Bezeichnungen diverser DatenTypen eine unübliche Bezeichnung haben. Siehe Bild DatenTypen-Bezeichnung.png
z.B. ArrayOfGetCustomerResponseCustomerCustomer
Das schaut mir ganz nach einer Bezeichnung aus, als ob diese von einem Tool generiert wurden. Aber das ist eine reine Vermutung. Ich würde so eine Bezeichnung jedenfalls nicht verwenden.
Nachdem ich Ende Juni eine TelKo mit der externen Firma habe, möchte ich mich entsprechend auf das Gespräch vorbereiten. Nun meine Fragen an euch:
1) Was macht ihr, wenn z.B. wie in meinem Fall die Doku mit der Schnittstelle nicht übereinstimmt. Die externe Firma aber immer wieder darauf hinweist, dass die Schnittstelle schon erfolgreich bei anderen Kunden im Einsatz ist.
2) Eure Meinung generell zu einem WebService? Können die Datentypen nicht direkt verwendet werden, also nicht über eine XML Datei, Serialisieren und dann übergeben. Meine Erfahrungen waren bisher immer so, dass die Datentypen direkt verwendet werden konnten.
3) Wie seht ihr das mit den Bezeichnungen der DatenTypen?
Ich danke euch für die Unterstützung. Falls jemand bereit ist sich die Schnittstelle genauer anzusehen, kann ich gerne mein Testprojekt zur Verfügung stellen.
Ich bräuchte zu einem aktuellen Projekt eure Meinung bzw. Hilfe zu meinen Fragen. Worum geht es?
Ich soll für einen Kunden eine Applikation entwicklen, welche von einem externen WebService (WSDL - SOAP) Daten einliest bzw. Daten schreibt. Dazu habe ich von der externen Firma eine Doku bekommen, wie die Services (WSDL) heißen bzw. wie der Link dazu ist. Die Doku der Schnittstelle (Excel Datei) liegt bei.
In meinem Projekt habe ich die WebServices (WSDL) eingebunden.
Die externe Firma hat freundlicherweise einen Beispielcode (Beispiel-Code.Png) zur Verfügung gestellt, wie z.B. in C# auf die Schnittstelle zugegriffen werden kann.
Was mir hier auffällt ist, dass ich die Abfrageparameter zuerst in eine XML Datei speichern muss, diese dann Serialisieren in das DatenModell der Schnittstelle und danach an die Schnittstelle übergen kann.
Frage: Wieso kann ich nicht direkt die Abfrageparameter in eine Variable vom entsprechenden DatenTyp schreiben und diese dann an die Schnittstelle übergeben? Ich war der Meinung, dass eine WSDL Schnittstelle dies zur Verfügung stellt.
Ich habe dann versucht eine XML Datei für die Abfrageparameter zu erstellen. Als Grundlage habe ich die Doku verwendet. In meinem Beispiel wollte ich das WDSL Service "GetCustomer" verwenden.
Die Doku seht ihr im Bild GetCustomer-Doku.png
Meine XML Datei dazu:
Die Abfrage hat leider nicht funktioniert. Nachdem ich nach etlichen Versuchen nicht weiterkam, sah ich mir einmal im Objektkatalog die Schnittstelle bezüglich Datenmodell und Methoden an. Dabei stellt ich fest, dass die Doku mit den Methoden/DatenModellen der Schnittstelle nicht übereinstimmt. Bild GetCustomer.png
Ich habe dann die anderen Methoden laut Doku mit dem Objektkatalog verglichen und es ist tatsächlich so, dass die Doku teilweise nicht mit dem DatenModell des WebServices übereinstimmt.
Was mir noch aufgefallen ist, dass die Bezeichnungen diverser DatenTypen eine unübliche Bezeichnung haben. Siehe Bild DatenTypen-Bezeichnung.png
z.B. ArrayOfGetCustomerResponseCustomerCustomer
Das schaut mir ganz nach einer Bezeichnung aus, als ob diese von einem Tool generiert wurden. Aber das ist eine reine Vermutung. Ich würde so eine Bezeichnung jedenfalls nicht verwenden.
Nachdem ich Ende Juni eine TelKo mit der externen Firma habe, möchte ich mich entsprechend auf das Gespräch vorbereiten. Nun meine Fragen an euch:
1) Was macht ihr, wenn z.B. wie in meinem Fall die Doku mit der Schnittstelle nicht übereinstimmt. Die externe Firma aber immer wieder darauf hinweist, dass die Schnittstelle schon erfolgreich bei anderen Kunden im Einsatz ist.
2) Eure Meinung generell zu einem WebService? Können die Datentypen nicht direkt verwendet werden, also nicht über eine XML Datei, Serialisieren und dann übergeben. Meine Erfahrungen waren bisher immer so, dass die Datentypen direkt verwendet werden konnten.
3) Wie seht ihr das mit den Bezeichnungen der DatenTypen?
Ich danke euch für die Unterstützung. Falls jemand bereit ist sich die Schnittstelle genauer anzusehen, kann ich gerne mein Testprojekt zur Verfügung stellen.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „GerhardW“ ()