AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
19.10.21 - 10:23:25
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Domino 9 und frühere Versionen
| |-+  ND7: Entwicklung (Moderatoren: eknori, koehlerbv)
| | |-+  Web Service (Java) und Rückgabe von komplexem Datentyp
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Web Service (Java) und Rückgabe von komplexem Datentyp  (Gelesen 3850 mal)
Raymond
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 111


who notes?


WWW
« am: 19.02.07 - 15:31:32 »

Hallo zusammen

ich versuche mich gerade an Web Services. Ich möchte ein Array von Datenwerten zurückgeben. Jedes Element des Arrays entspricht einigen Feldern aus jeweils einem Dokument.  Das funktoniert soweit auch ganz gut, wenn eine eigene Klasse erstellt wird, welche dann innerhalb eines Arrays zurückgegeben wird.

Klasse, welche die Feldinformationen beinhaltet:

public class MultiFieldArray {
   public String strEmail;
   public String strJobID;
   public String strJobTitle;
   public String strState;
   public String strCreated;
   //public DateTime dtCreated; -> the WSDL does not like the notes DateTime...

}

Array, welches ich im WebService abfülle und zurückgebe:

MultiFieldArray[ ] mfa = new MultiFieldArray[0];
...
return mfa


Mein einziges Problem ist nun, wenn ich in der Klasse nicht nur "String" Datentypen verwendet möchte. "Create" solte ein DateTime sein. Wenn ich jedoch ein DateTime verwende, dann meckert mir der WebService beim Speichern, dass dieser Typ nicht "data "The WebService has been saved but is not valid:... type lotus.domino.DateTime is not a conforming value type or enumeration, and..."

Hat jemand von Euch eine Idee/einen Tipp?


Vielen Dank und Gruss
Ray
Gespeichert

aktuelle Versionen:
Lotus Notes/Domino 7
Lotus Notes/Domino 8.5

dabei seit Lotus Notes 4.x
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #1 am: 20.02.07 - 18:31:14 »

Muss aber jetzt warum frage.
Webservices benutzt man doch normalerweise, um von einem nicht-Domino-System mit einem Domino System zu kommunizieren.
Das nicht-DominoSystem wird aber kaum etwas mit der Lotus Klasse DateTime anfangen können.
Kannst du nicht vielleicht vorher einfach einen entsprechenden String-Wert (oder vielleicht java.util.Date) aus DateTime extrahieren?
Oder welchen Grund gibt es ein Objekt vom Typ DateTime über Webservice zu versenden?
Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
animate
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 1540


Uh, I'm just gonna go find a cash machine.


WWW
« Antworten #2 am: 21.02.07 - 09:18:00 »

google Suche führt zu diesem Treffer: http://tinyurl.com/35zq2z


Ich denke, der sollte dein Problem erklären. Das läuft darauf hinaus, was Axel schon gesagt hat.

*edit* ich sehe gerade, dass der Link nicht mehr funktioniert. als ich den Link gepostet habe ging er noch. Der entsprechende KB Eintrag heißt:
Error: 'The Web Service has been saved, but is not valid:data type SOMECLASS is not a conforming value type..' [1230702]
« Letzte Änderung: 21.02.07 - 10:54:15 von Thomas Völk » Gespeichert

Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.
Raymond
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 111


who notes?


WWW
« Antworten #3 am: 21.02.07 - 09:48:19 »

Hallo zusammen

Vielen Dank für eure Tipps. Die Argumetation betreffend NotesDateTime macht natürlich Sinn. Da habe ich wohl zu fest im Lotus Notes Schema gedacht... Der Konsument des Web Service ist natürlich kein Domino System und der hätte wohl in der Tat keine Freude am eine NotesDateTime. Die Variante mit String hatte ich bereits, aber java.util.Date ist noch ein Ansatz den ich ausprobieren werde.

Gruss
Ray
Gespeichert

aktuelle Versionen:
Lotus Notes/Domino 7
Lotus Notes/Domino 8.5

dabei seit Lotus Notes 4.x
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #4 am: 21.02.07 - 10:05:06 »

Raimond: Halte die übertragenen Objekte besser as-simple-as-possible.
Es gibt ISO normierte String Repräsentationen von DateTime Werten. Gebräuchlich ist z.B. ISO 8601.
Hier gibts die Infos. Und komplex ist das auch nicht. http://www.cl.cam.ac.uk/~mgk25/iso-time.html
Die Konvertierung von Java Datums Objekten (nimm Joda Time, wenn möglich) und Lotus Datums Objekte in diese Werte sollte keine größeren Schwierigkeiten bereiten. V.a. wenn du keine Zeitzonen beachten mußt.
java.util.Date ist ein wesentlich komplexeres Objekt als Strings.


Kleinigkeit, aber ich find btw, dass dieses Thema eher in Notes7 Entwicklung als in Java gehört.
Das sind Lotus Domino Webservices ein neues Feature von Notes 7.
Zufällig ist der Webservice in Java programmiert, aber das selbe Problem wäre mit Lotus Script als Sprache für das Domino 7 Designelement Webservice aufgetreten.   Wink
« Letzte Änderung: 21.02.07 - 10:37:59 von Axel Janssen » Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: