Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Maago am 22.10.08 - 11:52:25

Titel: Notes 8 als Webservice Consumer
Beitrag von: Maago am 22.10.08 - 11:52:25
Hallo zusammen,

ich bin relativ neu was Webservices betrifft ..
Das Projekt: Daten sollen per Webservice an ein Bestellsystem gesendet und abgeholt werden.

Ich habe erfolgreich eine LS Bibliothek erzeugt aus dem WSDL File und einen kleinen Agent geschrieben:

Code
Sub Initialize
	Dim isiBizAdapter As New IsiBizOMAdapterSoap_n0
	Dim xsd As New XSD_STRING()
	Dim res As New XSD_STRING()
	Call xsd.setValueFromString("abc")
	Set res = isiBizAdapter.ProcessRequest(xsd)
	Messagebox res.getValueAsString()
End Sub

Jetzt meine Frage:
Wie kann ich die XML Daten, die in die Funktion "ProcessRequest" übergeben werden, definieren? Es soll das hier als XSD String übergeben werden:

Code
<?xml version="1.0" encoding="utf-8" ?>
<om:request 
	xmlns:xs="http://www.w3.org/2001/XMLSchema" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://tempuri.org/isibizomrequest.xsd C:\projects\ibm\isiBiz\rvAdapter\work\isiBizOMAdapter\schema\isibizomrequest.xsd"
	xmlns:om="http://tempuri.org/isibizomrequest.xsd"
	orderingSystem="ALMA">
	<om:order>
		<om:requestingUser>105099</om:requestingUser>
		<om:receivingUser>105099</om:receivingUser>
		<om:department>IT SW</om:department>
		<om:room>A201</om:room>
		<om:desiredDeliveryDate>2008-11-01</om:desiredDeliveryDate>
		<om:items>
			<om:item number="1" materialNo="TSM10040">
				<om:orderingSystemOrderReference orderId="ALMA0001" orderItemId="ALMA0001JU" />
				<!--<om:attributes>
				<om:attribute name="LN Datenbank Name" value="DE" />
				<om:attribute name="LN DB Nummer" value="DE" />
				<om:attribute name="Was soll mit den Daten passieren?" value="DE" /
				<om:attribute name="An wenn sollen die CD's geschickt werden?" value="DE" />
				</om:attributes>-->
			</om:item>
			
		</om:items>
	</om:order>
</om:request>

Eine weitere Frage wäre wie kann ich das Ergebnis (res) , das ja auch XML Daten sind, entsprechend verwerten um das Ganze in Feldern usw zu speichern?

Danke schonmal für Ideen
Marcus
Titel: Re: Notes 8 als Webservice Consumer
Beitrag von: flaite am 22.10.08 - 14:38:22
Wie kann ich die XML Daten, die in die Funktion "ProcessRequest" übergeben werden, definieren? Es soll das hier als XSD String übergeben werden:
2 Optionen:
a) per String Konkenation (spell.?)  -> würd ich erstmal präferieren. Einfach das gesamte xml als String zusammenschrauben. Vom <?xml version=... bis ganz unten.
b) mit dem LotusScript DomParser.


Eine weitere Frage wäre wie kann ich das Ergebnis (res) , das ja auch XML Daten sind, entsprechend verwerten um das Ganze in Feldern usw zu speichern?
a) mit dem LotusScript Saxparser -> würd ich erstmal präferieren
b) mit dem LotusScript Domparser

Ich mach sowas aber lieber mit Java als mit Lotusscript, weils in Java einfachere XML Bibliotheken gibt als in LotusScript.
Titel: Re: Notes 8 als Webservice Consumer
Beitrag von: Maago am 22.10.08 - 15:46:16
Ok, danke schonmal .. ich wills mal in Java probieren, bin allerdings auch in Java Newbie :-(

Hast du ein paar Codezeilen bzgl. Java und XML, die mir die Verwendung der XML Bibliotheken zeigt?
Titel: Re: Notes 8 als Webservice Consumer
Beitrag von: flaite am 22.10.08 - 16:05:51
Ok, danke schonmal .. ich wills mal in Java probieren, bin allerdings auch in Java Newbie :-(
Dann machs besser in Lotusscript.

Hast du ein paar Codezeilen bzgl. Java und XML, die mir die Verwendung der XML Bibliotheken zeigt?
Für so etwas gibt es google.
Titel: Re: Notes 8 als Webservice Consumer
Beitrag von: flaite am 23.10.08 - 10:34:33
Beispiele gibts echt zu Hauf:
http://www.ibm.com/developerworks/lotus/library/ls-LS_XML1/index.html
Viewnify auf openNTF enthält für meine Zwecke auch sehr brauchbaren Code.
In die konzeptionellen Hintergründe von DOM und SAXParser kannst du dich über Google einarbeiten.