Autor Thema: Web Service (Java) und Rückgabe von komplexem Datentyp  (Gelesen 4487 mal)

Offline Raymond

  • Aktives Mitglied
  • ***
  • Beiträge: 111
  • Geschlecht: Männlich
  • who notes?
    • Who Notes
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
aktuelle Versionen:
Lotus Notes/Domino 7
Lotus Notes/Domino 8.5

dabei seit Lotus Notes 4.x

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Web Service (Java) und Rückgabe von komplexem Datentyp
« Antwort #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?
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

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: Web Service (Java) und Rückgabe von komplexem Datentyp
« Antwort #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 »
Thomas

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

Offline Raymond

  • Aktives Mitglied
  • ***
  • Beiträge: 111
  • Geschlecht: Männlich
  • who notes?
    • Who Notes
Re: Web Service (Java) und Rückgabe von komplexem Datentyp
« Antwort #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
aktuelle Versionen:
Lotus Notes/Domino 7
Lotus Notes/Domino 8.5

dabei seit Lotus Notes 4.x

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Web Service (Java) und Rückgabe von komplexem Datentyp
« Antwort #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.   ;)
« Letzte Änderung: 21.02.07 - 10:37:59 von Axel Janssen »
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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz