05.12.2012 Views

Agenda

Agenda

Agenda

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Agenda</strong><br />

1. Introduction<br />

� Database Systems<br />

� XML, XSLT<br />

� Communication<br />

Model<br />

2. Lotus Notes<br />

� XML Support<br />

� Import/Export<br />

© P.Hennies & H.Nottelmann<br />

Web Service based<br />

Communication between<br />

Semi-structured and<br />

Relational Database Systems<br />

A Solution on the Example of<br />

PAVONE TimeTracking<br />

and Microsoft Project<br />

23/03/04<br />

3. .NET<br />

� ADO.NET<br />

� DataSets<br />

4. Web Services<br />

� Concept<br />

� Components<br />

� Client/Server<br />

5. Demonstration<br />

TTviaWS<br />

2


<strong>Agenda</strong><br />

•Introduction<br />

•Lotus<br />

• Database Notes<br />

Systems<br />

•.NET • XML<br />

•Web • Schemas Service<br />

• XSLT<br />

• Com Model<br />

•Lotus Notes<br />

•.NET<br />

•Web Service<br />

<strong>Agenda</strong><br />

•Introduction<br />

•Lotus<br />

• Database Notes<br />

Systems<br />

•.NET • XML<br />

•Web • Schemas Service<br />

• XSLT<br />

• Com Model<br />

•Lotus Notes<br />

•.NET<br />

•Web Service<br />

Database Systems<br />

� Relational (e.g MS SQL Server)<br />

�Underlying mathematical theory<br />

�Normalized relations<br />

�Widely deployed<br />

�Performant<br />

�Easy extensibility<br />

�Efficient handling of large data<br />

© P.Hennies & H.Nottelmann<br />

© P.Hennies & H.Nottelmann<br />

23/03/04<br />

Database Systems (Cont.)<br />

23/03/04<br />

TTviaWS<br />

3<br />

TTviaWS<br />

� Semi-structured (e.g. Lotus Notes)<br />

�Gain importance through emergence<br />

of XML for data exchange<br />

�Set of nodes, label graph structure<br />

�Manage heterogeneous data without<br />

an associated schema<br />

4


<strong>Agenda</strong><br />

•Introduction<br />

•Lotus<br />

• Database<br />

Notes<br />

Systems<br />

•.NET • XML<br />

•Web • Schemas Service<br />

• XSLT<br />

• Com Model<br />

•Lotus Notes<br />

•.NET<br />

•Web Service<br />

<strong>Agenda</strong><br />

•Introduction<br />

•Lotus<br />

• Database<br />

Notes<br />

Systems<br />

•.NET • XML<br />

•Web • Schemas<br />

Service<br />

• XSLT<br />

• Com Model<br />

•Lotus Notes<br />

•.NET<br />

•Web Service<br />

XML<br />

© P.Hennies & H.Nottelmann<br />

23/03/04<br />

TTviaWS<br />

� Describes (semi-)structured information<br />

� Meta Language without preconceived<br />

semantics<br />

� Semantics can be defined by<br />

applications or via stylesheets<br />

� Separates content from presentation<br />

� Self explanatory<br />

� Can embed existing data<br />

� Platform and language independent<br />

XML Schema<br />

� Defines the structure of all following<br />

documents<br />

� Written in XML<br />

� Simpler than DTD<br />

� Replaces DTD as most common<br />

used<br />

� Self-Validating<br />

© P.Hennies & H.Nottelmann<br />

23/03/04<br />

5<br />

TTviaWS<br />

6


<strong>Agenda</strong><br />

•Introduction<br />

•Lotus<br />

• Database<br />

Notes<br />

Systems<br />

•.NET • XML<br />

•Web • Schemas Service<br />

• XSLT<br />

• Com Model<br />

•Lotus Notes<br />

•.NET<br />

•Web Service<br />

<strong>Agenda</strong><br />

•Introduction<br />

•Lotus<br />

• Database<br />

Notes<br />

Systems<br />

•.NET • XML<br />

•Web • Schemas Service<br />

• XSLT<br />

• Com Model<br />

•Lotus Notes<br />

•.NET<br />

•Web Service<br />

Schema Datatyping<br />

© P.Hennies & H.Nottelmann<br />

23/03/04<br />

TTviaWS<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

XSL Transformations (XSLT)<br />

� Language to transform XML into other<br />

XML-based documents<br />

� XSLT Processor required<br />

� Template rules must “match” to be<br />

applied<br />

� XPath used to select doc. sections<br />

XML file<br />

XSL file<br />

© P.Hennies & H.Nottelmann<br />

XSLT-Processor New XML file<br />

23/03/04<br />

7<br />

TTviaWS<br />

8


LS<br />

DXL, XSLT<br />

DOM<br />

NSF<br />

Pavone<br />

<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET •• XML<br />

Support<br />

•Web • DOM Service<br />

• DXL<br />

• XSLT<br />

• Import<br />

• Pipelines<br />

• Export<br />

•.NET<br />

•Web Service<br />

Communication Model<br />

XML<br />

Client<br />

© P.Hennies & H.Nottelmann<br />

© P.Hennies & H.Nottelmann<br />

Web Service<br />

DIME<br />

Soap<br />

XML<br />

23/03/04<br />

23/03/04<br />

Server<br />

XML<br />

TTviaWS<br />

Project<br />

SQL<br />

.NET<br />

C#, DataSet<br />

DataAdapter<br />

XML Support in Lotus Notes<br />

NotesDOMParser<br />

NotesDXLImporter<br />

NotesDXLExporter<br />

NotesSAXParser<br />

NotesXSL-<br />

Transformer<br />

Transforms XML into a<br />

(Document Object Model) tree<br />

structure.<br />

Uses Lotus Notes own DTD<br />

to define a Domino XML file<br />

Processes an XML file as a<br />

series of events<br />

Transforms XML data into<br />

differently structured XML by<br />

applying templates<br />

9<br />

TTviaWS<br />

10


<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET • XML<br />

Support<br />

•Web • DOM<br />

Service<br />

• DXL<br />

• XSLT<br />

• Import<br />

• Pipelines<br />

• Export<br />

•.NET<br />

•Web Service<br />

<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET • XML<br />

Support<br />

•Web • DOM Service<br />

• DXL<br />

• XSLT<br />

• Import<br />

• Pipelines<br />

• Export<br />

•.NET<br />

•Web Service<br />

Notes DOM Parser<br />

� Document Object Model to represent XML<br />

document structure<br />

� DOM-Tree structure allows access to<br />

object nodes<br />

� Notes DOM Tree Structure:<br />

NextSibling()<br />

© P.Hennies & H.Nottelmann<br />

© P.Hennies & H.Nottelmann<br />

NodeType<br />

Object node<br />

sibling sibling sibling<br />

23/03/04<br />

Attributes()<br />

Attributes<br />

Attributes Attributes Attributes<br />

Domino XML (DXL)<br />

� Importer and Exporter classes<br />

� User-defined NotesCollections allow<br />

selective exporting<br />

� A whole Notes Database can be<br />

represented in DXL<br />

NSF<br />

Notes Database<br />

NoteCollection<br />

DocumentCollection<br />

Notes Document<br />

23/03/04<br />

DXL<br />

representation of<br />

(partial) database<br />

TTviaWS<br />

11<br />

TTviaWS<br />

12


<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET • XML<br />

Support<br />

•Web • DOM Service<br />

• DXL<br />

• XSLT<br />

• Import<br />

• Pipelines<br />

• Export<br />

•.NET<br />

•Web Service<br />

<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET • XML<br />

Support<br />

•Web Service<br />

• DOM<br />

• DXL<br />

• XSLT<br />

• Import<br />

• Pipelines<br />

• Export<br />

•.NET<br />

•Web Service<br />

XSLT in Lotus Notes<br />

� Stylesheet Element, XML Output<br />

<br />

<br />

� Template rules<br />

<br />

<br />

<br />

<br />

© P.Hennies & H.Nottelmann<br />

© P.Hennies & H.Nottelmann<br />

23/03/04<br />

23/03/04<br />

Pattern, e.g. /, *, text(),<br />

node() or ancestor//node<br />

XSLT in Lotus Notes (Cont.)<br />

� Creating Elements with Attributes<br />

<br />

<br />

<br />

<br />

<br />

� Looping & Conditional Processing<br />

<br />

<br />

<br />

text<br />

<br />

<br />

<br />

TTviaWS<br />

13<br />

TTviaWS<br />

14


XML input<br />

<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET • XML<br />

Support<br />

•Web • DOM Service<br />

• DXL<br />

• XSLT<br />

• Import<br />

• Pipelines<br />

• Export<br />

•.NET<br />

•Web Service<br />

Timesheet Import from XML<br />

XSL Transformer<br />

XSL Transformer<br />

DXL<br />

Stylesheet<br />

Dom Parser<br />

Stylesheet<br />

© P.Hennies & H.Nottelmann<br />

Pipelining<br />

© P.Hennies & H.Nottelmann<br />

DXL Importer<br />

Dom Parser<br />

Standardised<br />

LotusScript<br />

methods<br />

23/03/04<br />

23/03/04<br />

Pipeline #1<br />

Pipeline #2<br />

Preliminary<br />

Timesheet<br />

TTviaWS<br />

Final<br />

Timesheet<br />

15<br />

TTviaWS<br />

� Create Processing Elements in pipeline<br />

� Intermediary objects are not explicitly<br />

created<br />

Set transformer = session.CreateXSLTransformer (inputStream,<br />

Stylesheet)<br />

Set domParser=session.CreateDOMParser(transformer)<br />

transformer.Process<br />

The process call<br />

is only done<br />

for the first pipe object<br />

Using the XSLTransformer<br />

as Pipeline object<br />

makes it unnecessary<br />

to define an outout<br />

The XSLTransformer<br />

is specified as the<br />

DomParser output<br />

16


<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET • XML<br />

Support<br />

•Web • DOM Service<br />

• DXL<br />

• XSLT<br />

• Import<br />

• Pipelines<br />

• Export<br />

•.NET<br />

•Web Service<br />

LS<br />

DXL, XSLT<br />

DOM<br />

NSF<br />

Pavone<br />

Timesheet Export to XML<br />

� Item values are stored in arrays<br />

� Conversion methods are deployed<br />

e.g. for tasks, datetime<br />

� Schema corresponding to MSP tables<br />

is written to XML file<br />

� Timesheet data is transposed<br />

� Separate entries for each array element<br />

� Aggregation of elements corresponding to<br />

MSP tables<br />

…and stored in the output file<br />

© P.Hennies & H.Nottelmann<br />

23/03/04<br />

Communication Model<br />

XML<br />

Client<br />

© P.Hennies & H.Nottelmann<br />

Web Service<br />

DIME<br />

Soap<br />

XML<br />

23/03/04<br />

Server<br />

XML<br />

TTviaWS<br />

17<br />

TTviaWS<br />

Project<br />

SQL<br />

.NET<br />

C#, DataSet<br />

DataAdapter<br />

18


Connection<br />

© P.Hennies & H.Nottelmann<br />

.NET Architecture<br />

VB.NET C# Perl Python VC++ …<br />

Web Services<br />

ASP.NET<br />

XML ADO.NET DataSets<br />

.NET Framework Class Library<br />

Common Language Runtime<br />

23/03/04<br />

UI<br />

Com+ Win 32<br />

IIS<br />

Data Providers<br />

© P.Hennies & H.Nottelmann<br />

ADO.NET<br />

ADO.NET Data Flow<br />

DataAdapter<br />

Command<br />

DataReader<br />

23/03/04<br />

DataSet<br />

Data Consumers<br />

Web Forms<br />

Web Service<br />

TTviaWS<br />

19<br />

TTviaWS<br />

20


Code Sample<br />

© P.Hennies & H.Nottelmann<br />

23/03/04<br />

TTviaWS<br />

baseConnection = new SqlConnection("server=(local);database=“Database” ;Trusted_Connection=yes");<br />

resourceAdapter0 = new SqlDataAdapter ("SELECT * FROM MSP_PROJECTS", updateConnection);<br />

resourceAdapter0.Fill(DataSet,”Tablename”);<br />

Select relevant Database<br />

Tables and write them into<br />

the DataSet.<br />

SqlCommand resourceAdapter0DeleteCmd = new SqlCommand("DELETE FROM MSP_PROJECTS<br />

WHERE PROJ_ID = @pPROJ_ID", resourceAdapter0.SelectCommand.Connection);<br />

resourceAdapter0DeleteCmd.Parameters.Add(new SqlParameter("@pPROJ_ID", SqlDbType.Int));<br />

resourceAdapter0DeleteCmd.Parameters["@pPROJ_ID"].SourceVersion = DataRowVersion.Default;<br />

resourceAdapter0DeleteCmd.Parameters["@pPROJ_ID"].SourceColumn = "PROJ_ID";<br />

resourceAdapter0.DeleteCommand = resourceAdapter0DeleteCmd;<br />

<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET •.NET<br />

•Web<br />

• Framework<br />

Service<br />

• ADO.NET<br />

• DataSets<br />

•Web Service<br />

DataSets<br />

� Written in XML<br />

© P.Hennies & H.Nottelmann<br />

23/03/04<br />

Open Connection<br />

to target<br />

Database.<br />

Define Commands to Insert,<br />

Delete and Update Databasetables<br />

after work on the<br />

DataSet is finished.<br />

� Cache representation of Database<br />

� Support both (limited) relational<br />

operations as well as XML-based<br />

handling<br />

� Inlay-Schema defines Datatypes<br />

21<br />

TTviaWS<br />

22


© P.Hennies & H.Nottelmann<br />

DataSet Structure<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

TeconeProject<br />

<br />

<br />

<br />

LS<br />

DXL, XSLT<br />

DOM<br />

NSF<br />

Pavone<br />

23/03/04<br />

Communication Model<br />

XML<br />

Client<br />

© P.Hennies & H.Nottelmann<br />

Web Service<br />

DIME<br />

Soap<br />

XML<br />

23/03/04<br />

Server<br />

XML<br />

TTviaWS<br />

23<br />

TTviaWS<br />

Project<br />

SQL<br />

.NET<br />

C#, DataSet<br />

DataAdapter<br />

24


<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET<br />

•Web Service<br />

•• Concept<br />

• Operations<br />

Sequence<br />

• Components<br />

• Attachments<br />

• Server Side<br />

• Lotus Client<br />

<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET •.NET<br />

•Web Service<br />

•• Concept<br />

• Operations<br />

Sequence<br />

• Components<br />

• Attachments<br />

• Server Side<br />

• Lotus Client<br />

Web Services<br />

� Self-describing & modular<br />

� Provide access to remote objects<br />

� Open,Internet-oriented, standardbased<br />

Interfaces<br />

� Platform, language and OS<br />

independent<br />

© P.Hennies & H.Nottelmann<br />

© P.Hennies & H.Nottelmann<br />

23/03/04<br />

Web Services (Cont.)<br />

UDDI<br />

Service<br />

Requester<br />

Client<br />

Application<br />

Service<br />

Broker<br />

23/03/04<br />

SOAP<br />

UDDI<br />

Registry<br />

WSDL<br />

Service<br />

Provider<br />

Web<br />

Service<br />

TTviaWS<br />

25<br />

TTviaWS<br />

26


<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET<br />

•Web Service<br />

• Concept<br />

• Operations<br />

Sequence<br />

• Components<br />

• Attachments<br />

• Server Side<br />

• Lotus Client<br />

<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET •.NET<br />

•Web Service<br />

• Concept<br />

• Operations<br />

Sequence<br />

• Components<br />

• Attachments<br />

• Server Side<br />

• Lotus Client<br />

Operations Sequence<br />

1. Client<br />

� Supplies parameters and calls method<br />

� Formats call as SOAP message<br />

� Sends request via HTTP POST<br />

2. Server<br />

� Unwraps SOAP envelope<br />

� Runs method<br />

� Returns results as SOAP response<br />

3. Client<br />

� Unwraps response & reads results<br />

© P.Hennies & H.Nottelmann<br />

Components<br />

� SOAP<br />

© P.Hennies & H.Nottelmann<br />

23/03/04<br />

� Composed in XML<br />

� Distributed but deliberately simple<br />

� „Wraps“ request and response<br />

� Transfers via HTTP<br />

� WSDL<br />

� Public contact Interface<br />

� Service description in XML<br />

� Publishes methods, parameters and types<br />

23/03/04<br />

TTviaWS<br />

27<br />

TTviaWS<br />

28


<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET<br />

•Web Service<br />

• Concept<br />

• Operations<br />

Sequence<br />

• Components<br />

• Attachments<br />

• Server Side<br />

• Lotus Client<br />

<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET •.NET<br />

•Web Service<br />

• Concept<br />

• Operations<br />

Sequence<br />

• Components<br />

• Attachments<br />

• Server Side<br />

• Lotus Client<br />

SOAP Message Structure<br />

© P.Hennies & H.Nottelmann<br />

© P.Hennies & H.Nottelmann<br />

23/03/04<br />

23/03/04<br />

TTviaWS<br />

29<br />

TTviaWS<br />

WSDL Code Sample<br />

[Namespace Definitions]<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

30


<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET<br />

•Web Service<br />

• Concept<br />

• Operations<br />

Sequence<br />

• Components<br />

• Attachments<br />

• Server Side<br />

• Lotus Client<br />

<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET •.NET<br />

•Web Service<br />

• Concept<br />

• Operations<br />

Sequence<br />

• Components<br />

• Attachments<br />

• Server Side<br />

• Lotus Client<br />

Compound SOAP Structure<br />

© P.Hennies & H.Nottelmann<br />

23/03/04<br />

TTviaWS<br />

� Abstract concept for Attachments<br />

� A representation of a compound SOAP<br />

structure must describe:<br />

1. an encapsulation mechanism<br />

2. a mechanism for identifying all parts using<br />

URI (Unique Reference Identifier)<br />

3. interactions between the underlying<br />

transport protocol<br />

� Unique identification of primary SOAP<br />

message must be ensured<br />

Compound SOAP (Cont.)<br />

� Encapsulation implementations:<br />

�MIME developed for emailing<br />

© P.Hennies & H.Nottelmann<br />

� Simple but…<br />

� Heavyweight, and streaming impossible<br />

�DIME (what we used)<br />

� Developed by Microsoft & IBM<br />

� Much lighter than MIME<br />

� Encapsulates the SOAP envelope<br />

23/03/04<br />

31<br />

TTviaWS<br />

32


<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET •.NET<br />

•Web Service<br />

• Concept<br />

• Operations<br />

Sequence<br />

• Components<br />

• Attachments<br />

• Server Side<br />

• Lotus Client<br />

Attached (binary)<br />

data<br />

© P.Hennies & H.Nottelmann<br />

© P.Hennies & H.Nottelmann<br />

DIME-Record<br />

23/03/04<br />

Identifier (URI)<br />

Type of payload<br />

Server Side Solution<br />

� Components<br />

�C# Web Service<br />

� Namespace<br />

� Class Library<br />

�„Web Config“<br />

� Web Interface settings<br />

� Many implementation details<br />

hidden<br />

�[WebMethod]<br />

23/03/04<br />

TTviaWS<br />

33<br />

TTviaWS<br />

34


<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET<br />

•Web Service<br />

• Concept<br />

• Operations<br />

Sequence<br />

• Components<br />

• Attachments<br />

• Server Side<br />

• Lotus Client<br />

Server Side - Attachments<br />

� Web Service Extensions (WSE)<br />

Enable processing of DIME<br />

Attachments<br />

� SOAPContext<br />

Allows Attachment access<br />

independent of request message<br />

� SOAP Response<br />

Client can be informed of processing<br />

errors<br />

© P.Hennies & H.Nottelmann<br />

Code Sample<br />

[WebMethod]<br />

public string Insert()<br />

{<br />

23/03/04<br />

SoapContext myContext = HttpSoapContext.RequestContext;<br />

if (myContext.Attachments.Count >0)<br />

{<br />

SaveFile("temp.xml",myContext.Attachments[0].Stream);<br />

[….]<br />

DimeAttachment attachment = new DimeAttachment(„FileType",<br />

TypeFormatEnum.Unknown,<br />

Server.MapPath(@"\Tecone_Project\answer.xml"));<br />

HttpSoapContext.ResponseContext.Attachments.Add(attachment);<br />

return "answer.xml";<br />

[…]<br />

}<br />

© P.Hennies & H.Nottelmann<br />

Defines Method as<br />

Web accessible<br />

23/03/04<br />

Creates Attachment<br />

and adds it to the<br />

response context<br />

Gets the<br />

SOAP context<br />

and checks for<br />

available<br />

Attachments<br />

TTviaWS<br />

35<br />

TTviaWS<br />

Streams<br />

Attachment<br />

payload to<br />

SaveFile<br />

method<br />

36


<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET<br />

•Web Service<br />

• Concept<br />

• Operations<br />

Sequence<br />

• Components<br />

• Attachments<br />

• Server Side<br />

• Lotus Client<br />

<strong>Agenda</strong><br />

•Introduction<br />

•Lotus Notes<br />

•.NET •.NET<br />

•Web Service<br />

• Concept<br />

• Operations<br />

Sequence<br />

• Components<br />

• Attachments<br />

• Server Side<br />

• Lotus Client<br />

Lotus Notes as a WS Client<br />

� Java classes (SOAP4J)<br />

� Java Agents or LotusScript calling Java<br />

(LS2J)<br />

� Superseded by Apache SOAP/Axis<br />

� SOAP Connect<br />

� Free LotusScript utility from Lotus<br />

� Java background classes<br />

� Lotus Script calling Microsoft Objects<br />

(Windows only)<br />

� MS SOAP Toolkit<br />

� .NET client objects<br />

© P.Hennies & H.Nottelmann<br />

© P.Hennies & H.Nottelmann<br />

23/03/04<br />

Lotus Notes as a WS (Cont.)<br />

23/03/04<br />

TTviaWS<br />

37<br />

TTviaWS<br />

� Consuming web service with COM<br />

Notes<br />

LS<br />

Agent<br />

SOAP COM API<br />

MS<br />

SOAP<br />

Toolkit<br />

HTTP<br />

WSDL<br />

Web<br />

Service<br />

38


Code Sample<br />

HTTP binding<br />

Holds<br />

attachment<br />

Compose<br />

DIME message<br />

LS<br />

DXL, XSLT<br />

DOM<br />

NSF<br />

Pavone<br />

EndPointURL = "http://131.234.76.190/Tecone_Project/Tecone.asmx"<br />

Set connector = CreateObject("MSSOAP.HttpConnector30")<br />

connector.Property("EndPointURL") = EndPointURL<br />

connector.Property("SoapAction") = "http://tempuri.org/Insert"<br />

connector.Connect<br />

Set FileAttach = CreateObject("MSSOAP.FileAttachment30")<br />

FileAttach.FileName = "C:\dxl\timesheet.xml"<br />

connector.BeginMessage<br />

Set composer = CreateObject("MSSOAP.DimeComposer30")<br />

Set Serializer = CreateObject("MSSOAP.SoapSerializer30")<br />

Serializer.InitWithComposer connector.InputStream, composer<br />

Serializer.StartEnvelope<br />

[...]<br />

Serializer.AddAttachment FileAttach<br />

[…]<br />

Serializer.Finished<br />

connector.EndMessage<br />

Sends request<br />

© P.Hennies & H.Nottelmann<br />

23/03/04<br />

Communication Model<br />

XML<br />

Client<br />

© P.Hennies & H.Nottelmann<br />

Web Service<br />

DIME<br />

Soap<br />

XML<br />

23/03/04<br />

Server<br />

XML<br />

TTviaWS<br />

Builds SOAP<br />

message<br />

Initializes the<br />

serializer with a<br />

composer capable of<br />

including attachments<br />

39<br />

TTviaWS<br />

Project<br />

SQL<br />

.NET<br />

C#, DataSet<br />

DataAdapter<br />

40


© P.Hennies & H.Nottelmann<br />

Questions?<br />

23/03/04<br />

Thank you<br />

for your Attention!<br />

© P.Hennies & H.Nottelmann<br />

23/03/04<br />

TTviaWS<br />

41<br />

TTviaWS<br />

42

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!