soap simple object access protocol. simple object access protocol soap frank lange...
TRANSCRIPT
SOAPSOAPSimple Object Access ProtocolSimple Object Access Protocol
Simple Object Access ProtocolSimple Object Access Protocol
SOAPSOAPFrank Lange ([email protected])Frank Lange ([email protected])Michael Willers ([email protected])Michael Willers ([email protected])
Microsoft GmbHMicrosoft GmbHSmall Business & Partner Group (SBPG)Small Business & Partner Group (SBPG)
InhaltInhalt
Web Services und “.NET”Web Services und “.NET” SOAPSOAP SOAP ToolkitSOAP Toolkit Vergleich SOAP und COMVergleich SOAP und COM Zukunft?Zukunft?
““.net” – zu Lesen.net” – zu LesenSun Microsystems is leading the development of an open-systems competitor to Microsoft .NET, Bill Gates' sweeping initiative to deliver software as a set of services over a services over a wide range of Internet-wide range of Internet-connected devicesconnected devices. Gates claimed in June to be betting his company on Microsoft .NET, a move he deems as important to Microsoft as the transition from DOS to Windows.
Dan Kusnetzky, a VP at International Data Corp., calls Microsoft .NET Gates' latest attempt to "embrace and extend" the Internet in reaction to the rise of browser-based applications, which threaten to render much of Microsoft's software irrelevant. He also expects Microsoft to hit snags converting converting its revenue from its revenue from packaged software sales packaged software sales into software rentalsinto software rentals.
Web Services
Services (ver)mieten
Nevertheless, Kusnetzky says Microsoft's superior tools and its integrated products are an advantage. "Microsoft Microsoft will tie things together will tie things together into one environmentinto one environment with point-and-click, and with the linkage to Windows 2000, you'll get it all," Kusnetzky says.
Visual Studio.net
Web-ServiceWeb-Service Web ist/wird performant und Web ist/wird performant und
hochverfügbarhochverfügbar Services wie Hotmail liefern Services wie Hotmail liefern
Bedienoberfläche im Browser Bedienoberfläche im Browser (Endanwender als Zielgruppe)(Endanwender als Zielgruppe)
Künftig Services, welche Künftig Services, welche programmatisch nutzbar sindprogrammatisch nutzbar sind
Funktionsaufrufe über Services sind Funktionsaufrufe über Services sind wünschenswert wünschenswert (bequeme Kommunikation: was ich will, was ich sende, was (bequeme Kommunikation: was ich will, was ich sende, was bekomme ich...)bekomme ich...)
““.net” – für Entwickler.net” – für Entwickler
Entwicklerkonfernz stand ganz im Entwicklerkonfernz stand ganz im Zeichen “.net”Zeichen “.net”
Experten: “in 3 Jahren haben wir die Experten: “in 3 Jahren haben wir die Welt der Web-Services”Welt der Web-Services”
Tools kommen: MS Visual Studio .NETTools kommen: MS Visual Studio .NET Windows DNA wird ersetzt durch .NET Windows DNA wird ersetzt durch .NET
Framework Framework
Windows DNA DesignWindows DNA Design
firmeninternefirmeninterne DiensteDienste
und Datenund Daten
App CodeApp Code
BrowsersBrowsers
InternetInternet
Geschäftslogik
Datenhaltung
Darstellungs UI
SkalierbarkeitSkalierbarkeit VerfügbarkeitVerfügbarkeit SicherheitSicherheit WartbarkeitWartbarkeit
Kriterien
Rich ClientsRich ClientsHTML
Das ProblemDas Problem
Win DNA ist für’s Windows-Netz Win DNA ist für’s Windows-Netz designed – alles andere ist oft Basteleidesigned – alles andere ist oft Bastelei
Server-Dienste sind im FirmennetzServer-Dienste sind im Firmennetz Aufwand:Aufwand:
Implementierungs-DetailsImplementierungs-Details(COM+, API, Security,...je nach OS)(COM+, API, Security,...je nach OS)
Umwege für heterogene InfrastrukturUmwege für heterogene Infrastruktur(COM+ zu CORBA etc.)(COM+ zu CORBA etc.)
Andere Schnittstellen, sobald Infos aus Andere Schnittstellen, sobald Infos aus dem Netz (Sockets...)dem Netz (Sockets...)
.NET - Design.NET - Design
OS andOS andLocal Local
ServicesServices
App CodeApp Code
Web ServiceWeb Service
Web ServiceWeb Service
Web ServiceWeb Service
DevicesDevicesBrowsersBrowsers
InternetInternet
Verlagerung von Verlagerung von Diensten ins InternetDiensten ins Internet(evtl. andere Firma)(evtl. andere Firma)
Verlagerte Dienste Verlagerte Dienste arbeiten funktionalarbeiten funktional
EinheitlicherEinheitlicherSchnittstellenstandardSchnittstellenstandard
““Components for the Web”Components for the Web”
.NET Plattform.NET Plattform
Server & ClientsServer & Clients
Framework & ToolsFramework & Tools
Building BlockBuilding Block Services Services
Stichworte: Visual Studio.NET, CRL, COM+-Stichworte: Visual Studio.NET, CRL, COM+-Erweiterungen, ProgrammiermodellErweiterungen, Programmiermodell
Ständig verfügbare Dienste (Code-Updates, Ständig verfügbare Dienste (Code-Updates, Benachrichtigungsdienste, Suchdienste,...)Benachrichtigungsdienste, Suchdienste,...)
DNA 2000 Produktfamilie, Windows Powered-DNA 2000 Produktfamilie, Windows Powered-GeräteGeräte
Web Services - TechnischWeb Services - Technisch Programmatischer Zugriff auf Services im Programmatischer Zugriff auf Services im
WebWeb Kommunikation von Web-Anwendungen Kommunikation von Web-Anwendungen
untereinanderuntereinander XML als Standard für Daten(beschreibung) XML als Standard für Daten(beschreibung)
(plattform- und sprachunabhängig)(plattform- und sprachunabhängig) SOAP als Protokoll für Funktionsaufrufe SOAP als Protokoll für Funktionsaufrufe
(plattform- und sprachunabhängig)(plattform- und sprachunabhängig) z.B. SDL als Metabeschreibung der Web z.B. SDL als Metabeschreibung der Web
ServicesServices
XML=Extensible Markup LanguageSOAP=Simple Object Access ProtocolSDL=Service Description Language
InhaltInhalt
Web Services und “.NET”Web Services und “.NET” SOAPSOAP SOAP ToolkitSOAP Toolkit Vergleich SOAP und COMVergleich SOAP und COM Zukunft?Zukunft?
Was ist SOAP?Was ist SOAP? Simple Object Access ProtocolSimple Object Access Protocol XML-basierendes KommunikationsformatXML-basierendes Kommunikationsformat
Für XML/HTTP RPC (ab V1.1 auch andere Protokolle als HTTP)Für XML/HTTP RPC (ab V1.1 auch andere Protokolle als HTTP)
Verschiedene BetriebssystemeVerschiedene Betriebssysteme Verschiedene ProgrammiersprachenVerschiedene Programmiersprachen Verschiedene PlattformenVerschiedene Plattformen
Basierend aufBasierend auf W3C XML standardsW3C XML standards IETF HTTP standardIETF HTTP standard
SOAP-Spezifikation v1.1 zum W3C gereichtSOAP-Spezifikation v1.1 zum W3C gereicht http://msdn.microsoft.com/workshop/xml/generhttp://msdn.microsoft.com/workshop/xml/gener
al/soapspec.aspal/soapspec.asp
SOAP MessageSOAP Message
SOAP Message
SOAP Envelope
SOAP Header
SOAP Body
Message Name & Data
Headers
Protocol Headers
Funktionsname und ParameterFunktionsname und Parameter
<Body> mit XML-Daten<Body> mit XML-Daten
Individuelle KopfinfosIndividuelle Kopfinfos
<Header> -Kopfinfos<Header> -Kopfinfos
<Envelope>-Metainfos<Envelope>-Metainfos
Kopf vom Standard-Protololl Kopf vom Standard-Protololl (HTTP, SMTP, etc.) und SOAP(HTTP, SMTP, etc.) und SOAP
komplette SOAP Messagekomplette SOAP Message
Ein SOAP Request Ein SOAP Request (über HTTP)(über HTTP)
POST /StockQuote HTTP/1.1 POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8“ Content-Type: text/xml; charset="utf-8“ Content-Length: 323 Content-Length: 323 SOAPAction: Some-Namespace-URI#GetLastTradePrice SOAPAction: Some-Namespace-URI#GetLastTradePrice
<SQ:Envelope <SQ:Envelope xmlns:SQ="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SQ="http://schemas.xmlsoap.org/soap/envelope/" SQ:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"SQ:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> >
<SQ:Body><SQ:Body> <m:GetLastTradePrice xmlns:m="Some-Namespace-URI"> <m:GetLastTradePrice xmlns:m="Some-Namespace-URI"> <symbol>DIS</symbol> <symbol>DIS</symbol> </m:GetLastTradePrice> </m:GetLastTradePrice> </SQ:Body> </SQ:Body></SQ:Envelope> </SQ:Envelope>
Eine SOAP ResponseEine SOAP Response(über HTTP)(über HTTP)
HTTP/1.1 200 OKHTTP/1.1 200 OKContent-Type: text/xml; charset="utf-8“Content-Type: text/xml; charset="utf-8“Content-Length: nnnnContent-Length: nnnn
<SP:Envelope<SP:Envelopexmlns:SP="http://schemas.xmlsoap.org/soap/envelope/"xmlns:SP="http://schemas.xmlsoap.org/soap/envelope/"SP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"SP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">>
<SP:Body><SP:Body> <m:GetLastTradePriceResponse <m:GetLastTradePriceResponse
xmlns:m="Some-Namespace-URI">xmlns:m="Some-Namespace-URI"> <Price>34.5</Price> <Price>34.5</Price> </m:GetLastTradePriceResponse> </m:GetLastTradePriceResponse> </SP:Body> </SP:Body></SP:Envelope></SP:Envelope>
SOAP in der .NET PlattformSOAP in der .NET Plattform
WerkzeugeWerkzeuge ASP+, Visual Basic .NET, ASP+, Visual Basic .NET,
Visual C++ .NET (ATL Server), C#, Visual C++ .NET (ATL Server), C#, Visual FoxProVisual FoxPro
ProtokolleProtokolle MSMQ, HTTP, TCP/IP, SMTPMSMQ, HTTP, TCP/IP, SMTP
SOAP ist überall in .NETSOAP ist überall in .NET
InhaltInhalt
Web Services und “.NET”Web Services und “.NET” SOAPSOAP SOAP ToolkitSOAP Toolkit Vergleich SOAP und COMVergleich SOAP und COM Zukunft?Zukunft?
Brücke zur .NET-PlattformBrücke zur .NET-Plattform
SOAP ToolkitSOAP Toolkitfür für
Visual Studio 6.0Visual Studio 6.0
SOAP ToolkitSOAP Toolkitfür für
Visual Studio 6.0Visual Studio 6.0
Toolkit Download: http://msdn.microsoft.com/xml/
Toolkit als HilfestellungToolkit als Hilfestellung SOAP kann auch ohne SOAP kann auch ohne
Toolkit genutzt werden Toolkit genutzt werden (Umgang mit XML, HTTP)(Umgang mit XML, HTTP)
Hilfe durch das SOAP ToolkitHilfe durch das SOAP Toolkit
Handhabe von XML, SOAPHandhabe von XML, SOAP Kein Einarbeiten in NetzprotokolleKein Einarbeiten in Netzprotokolle Implementierungs-HilfenImplementierungs-Hilfen Deployment-HilfenDeployment-Hilfen Bekannte Fertigkeiten (Umgang Bekannte Fertigkeiten (Umgang
mit COM)mit COM) ToolsTools
Inhalt des SOAP ToolkitInhalt des SOAP Toolkit
Serverseitige Zugriffslauscher Serverseitige Zugriffslauscher (Reference Listeners)(Reference Listeners)
Remote Object Proxy Engine Remote Object Proxy Engine (ROPE)(ROPE)
SDL und Quelltext-Generator SDL und Quelltext-Generator (Wizard)(Wizard)
DokumentationDokumentation Code-BeispieleCode-Beispiele
Kompletter Kompletter QuelltextQuelltext
Was ist SDL?Was ist SDL?
““Service Description Language” Service Description Language” XML-basierte Grammatik zur XML-basierte Grammatik zur
Beschreibung der Funktionalität von Beschreibung der Funktionalität von Web-ServicesWeb-Services
ErweiterbarErweiterbar Vergleich mit IDLVergleich mit IDL
IDL ist plattformabhängigIDL ist plattformabhängig SDL ist plattformunabhängigSDL ist plattformunabhängig
NICHT in Stein gemeißelt!NICHT in Stein gemeißelt!d.h. solange es keinen “echten” d.h. solange es keinen “echten” Standard gibt, ist SDL eine Lösung.Standard gibt, ist SDL eine Lösung.
Was ist ROPE?Was ist ROPE? Remote Object Proxy EngineRemote Object Proxy Engine Aufrufschnittstelle für Web Service-ClientsAufrufschnittstelle für Web Service-Clients
ATL COMATL COM nutzbar von COM-unterstützenden Sprachennutzbar von COM-unterstützenden Sprachen ObjekteObjekte
ProxyProxy SOAPPackagerSOAPPackager WireTransferWireTransfer versch. Objekteversch. Objekte
Zwei Programmier-ModelleZwei Programmier-Modelle Einfach – “VB”-typischEinfach – “VB”-typisch Erweitert – “VC”-typischErweitert – “VC”-typisch
Server mit VB6Server mit VB6
Public Function GetDayCount() As Integer
GetDayCount = 30
End Function
Toolkit Wizard
VB6VB6ActiveX DLLActiveX DLL
*.ASP *.XMLListener.ASP
*DLL
Toolkit
http://localhost/demo/
SOAP Listeners (Dispensers)SOAP Listeners (Dispensers)
ISAPI ListenerISAPI Listener ISAPI ExtensionISAPI Extension Hohe PerformanzHohe Performanz
ASP ListenerASP Listener mehr Kontrolle über den Prozeßmehr Kontrolle über den Prozeß kann den Service direkt ausführenkann den Service direkt ausführen
ROPE – Einfaches ModellROPE – Einfaches Modell
ProxyProxy Object.Method(Param1, … ParamN)Object.Method(Param1, … ParamN) Benutzen wie gewohntBenutzen wie gewohnt Wenig Quelltext-Aufwand für Wenig Quelltext-Aufwand für
EntwicklerEntwickler Hohe AbstraktionsstufeHohe Abstraktionsstufe orientiert an RPC-Welt orientiert an RPC-Welt
(Funktionsaufrufe)(Funktionsaufrufe)
Client Quelltext VB6Client Quelltext VB6
Dim oProxy As NEW ROPE.Proxy
oProxy.LoadServicesDescription icURI, _ "http://localhost/demo/myservice.xml"
MsgBox CStr( oProxy.GetDayCount() )
Service Description holen und Proxy erzeugen
Methodenaufruf
ROPE – Erweitertes ModellROPE – Erweitertes Modell
SOAPPackagerSOAPPackager hoher Grad an Kontrollehoher Grad an Kontrolle sehr flexibelsehr flexibel orientiert an der Nachrichten-Welt orientiert an der Nachrichten-Welt
(Senden, Empfangen) (Senden, Empfangen)
WireTransferWireTransfer Kontrolle über Kopfdaten der Kontrolle über Kopfdaten der
Protokoll-NachrichtenProtokoll-Nachrichten
Client VB6 – extended 1Client VB6 – extended 1Dim oSOAP As New ROPE.SOAPPackagerDim oWire As New ROPE.WireTransferDim cData As ROPE.ServiceDescriptorsDim sBuffer As StringDim bRetVal As BooleanDim sListener As StringConst sMethod = "GetDayCount„
bRetVal = oSOAP.LoadServicesDescription (icURI, _ "http://localhost/demo/vacation.xml")
Set cData = oSOAP.GetServiceDescriptors(icENDPOINTINFO)If VarType(cData(0)) = vbString Then sListener = cData(0)Else sListener = cData(0).URIEnd If
Service-Beschreibung holen
Listener abfragen
z.B. sListener = "http://localhost/demo/vacation.asp"
Client VB6 – extended 2Client VB6 – extended 2
sBuffer = oSOAP.GetMethodStruct (sMethod, icINPUT)
oSOAP.SetPayloadData icREQUEST, "", sMethod, sBuffer
sBuffer = oSOAP.GetPayload(icREQUEST)
oWire.AddStdSOAPHeaders sListener, sMethod, Len(sBuffer)sBuffer = oWire.PostDataToURI(sListener, sBuffer)
oSOAP.SetPayload icRESPONSE, sBuffersBuffer = CStr(oSOAP.GetParameter(icRESPONSE, "return"))MsgBox sBuffer
Methoden-Parameter als XML holen
SOAP-Request als XML erzeugen
evtl. oSOAP.SetParameter icREQUEST, sParaName, sValue
HTTP-POST (Response nach sBuffer)
return-Wert heraussuchen
DatentypenDatentypen siehe siehe
http://www.w3.org/TR/xmlschema-2/
es ist eine Spezifikation!es ist eine Spezifikation!
Verweise auf andere Standards (ISO, Verweise auf andere Standards (ISO, SQL)SQL)
schön für Sprachexpertenschön für Sprachexperten
Fragen bleibenFragen bleiben
„See also ISO 8601 Date and Time Formats (§D).“
„a datatype is a 3-tuple, consisting of [...] value space [...] lexical space [...] set of facets [...]. A facet is a single defining aspect of a value space.“
„The value space of binary is the set of finite-length sequences of binary octets.“
Datentypen (ff)Datentypen (ff) Primitive DatentypenPrimitive Datentypen
string, boolean, double, decimal, timeDuration, uriReference,...string, boolean, double, decimal, timeDuration, uriReference,...
Vordefinierte abgeleitete Vordefinierte abgeleitete DatentypenDatentypenbyte, short, int, time, date, timePeriod, byte, short, int, time, date, timePeriod, recurringDay (z.B. jeder 5te im Monat)recurringDay (z.B. jeder 5te im Monat)
Benutzerdefinierte DatentypenBenutzerdefinierte DatentypenListen von Datentypen (vgl. structs), Listen von Datentypen (vgl. structs), Bereichseinschränkungen,...Bereichseinschränkungen,...
Toolkit WizardToolkit WizardProbieren geht einher mit Studieren (Toolkit-Gedanke). Probieren geht einher mit Studieren (Toolkit-Gedanke). Notfalls den erzeugten Text nacheditieren.Notfalls den erzeugten Text nacheditieren.
Das Szenario…Das Szenario…
WebService
SOAP(4)(4)
4 – SOAP Anforderung senden4 – SOAP Anforderung senden
(3)(3)
3 – Methodenaufruf (Start)3 – Methodenaufruf (Start)
DATEN
(5)(5)
Web Page
HTML(5)(5)
ROPE
SOAPWeb
ServiceSDL
(5)(5)
5 – WS arbeitet (Business Logic)5 – WS arbeitet (Business Logic)
(6)(6)
6 – SOAP Response erhalten6 – SOAP Response erhalten
(7)(7)
7 – Methodenaufruf (Ende)7 – Methodenaufruf (Ende)
Anwendungoder
Browser
Web Service
SDL
(2)(2)
2 – SDL erhalten und paresen2 – SDL erhalten und paresen
ROPE
(1)(1)
1 – SDL anfordern1 – SDL anfordern
SOAP in der IndustrieSOAP in der Industrie
MicrosoftMicrosoft IBM/LotusIBM/Lotus DevelopMentorDevelopMentor Userland SoftwareUserland Software IONA IONA (Soap Bridge zu CORBA)(Soap Bridge zu CORBA)
Rogue WaveRogue Wave ObjectSpaceObjectSpace
JetFormJetForm Digital CreationsDigital Creations Rockwell SoftwareRockwell Software ScripticsScriptics IntelIntel SunSun und andere…und andere…
ACHTUNG:ACHTUNG:Derzeit ist noch kein Standard endgültig Derzeit ist noch kein Standard endgültig “abgesegnet”.“abgesegnet”.
InhaltInhalt
Web Services und “.NET”Web Services und “.NET” SOAPSOAP SOAP ToolkitSOAP Toolkit Vergleich SOAP und COMVergleich SOAP und COM Zukunft?Zukunft?
SOAP vs. COMSOAP vs. COM SOAP kein Ersatz für COMSOAP kein Ersatz für COM
SOAP ist Kommunikationsprotokoll, COM ist KomponentenmodellSOAP ist Kommunikationsprotokoll, COM ist Komponentenmodell
Komponentenkonzept, verteilte Transaktionen,Komponentenkonzept, verteilte Transaktionen,Impersonifizierung,...Impersonifizierung,...
SOAP könnte als RPC-Protokoll SOAP könnte als RPC-Protokoll unter COM dienen: DCOM-Ersatz?unter COM dienen: DCOM-Ersatz? aber Kausalität etc. fehlt im Protokollaber Kausalität etc. fehlt im Protokoll
SOAP verbindet zu SOAP verbindet zu Services im WWW (HTTP-Tunneling)Services im WWW (HTTP-Tunneling) Services im FirmennetzServices im Firmennetz Services auf lokalem Rechner (Performance?!)Services auf lokalem Rechner (Performance?!)
SOAP vs. COMSOAP vs. COM
SOAP-Verbindung ist plattformunabhängig. SOAP-Verbindung ist plattformunabhängig. z.B. Keine COM-CORBA-Bridge nötigz.B. Keine COM-CORBA-Bridge nötig
Lösungs-Design sollte Verlagerung von Lösungs-Design sollte Verlagerung von Services aus dem Firmennetz nach Außen Services aus dem Firmennetz nach Außen und umgekehrt berücksichtigen (“.net”)und umgekehrt berücksichtigen (“.net”)
Transport-Protokoll (HTTP,...)
Funktionsaufruf-Protokoll (ORPC, SOAP,...)
Objekte und Komponenten (COM...)Abstraktions-Schichten
Außen SOAP – innen...Außen SOAP – innen...
COM: COM: “SOPE Toolkit Wizard” “SOPE Toolkit Wizard” von Microsoftvon Microsoft
man nehmeman nehme COM-ObjektCOM-Objekt WizardWizard
und erhältund erhält SDL-FileSDL-File Programmteile, um das COM-Objekt als Programmteile, um das COM-Objekt als
WebService laufen zu lassenWebService laufen zu lassen
CORBA: “Xorba” von Rogue WaveCORBA: “Xorba” von Rogue Wave EJB: EJB: “Soap4J” von IBM“Soap4J” von IBM
InhaltInhalt
Web Services und “.NET”Web Services und “.NET” SOAPSOAP SOAP ToolkitSOAP Toolkit Vergleich SOAP und COMVergleich SOAP und COM Zukunft?Zukunft?
ZukunftZukunft
Lösungs-Design sollte Verlagerung von Lösungs-Design sollte Verlagerung von Services aus dem Firmennetz nach Außen Services aus dem Firmennetz nach Außen und umgekehrt berücksichtigen (“.net”)!und umgekehrt berücksichtigen (“.net”)!
WebServices werden zum großen Geschäft?WebServices werden zum großen Geschäft? SOAP ersetzt DCOM-Protokoll (bei COM)SOAP ersetzt DCOM-Protokoll (bei COM)
bzw. IIOP (bei CORBA)?bzw. IIOP (bei CORBA)? Visual Studio .NET wird kommen!Visual Studio .NET wird kommen!
ServiceService
App CodeApp Code
ServiceService
ebXML?ebXML? Electronic Business XML InitiativeElectronic Business XML Initiative
(weniger Microsoft)(weniger Microsoft) Schwerpunkt sind B2B-Szenarien auf XML-Schwerpunkt sind B2B-Szenarien auf XML-
BasisBasis http://ebxml.org./ Ende 1999: ein 18 Monats-Programm zum Ende 1999: ein 18 Monats-Programm zum
Finden einer technischen XML-Basis, auf der Finden einer technischen XML-Basis, auf der eine Standardisierung aufsetzen kanneine Standardisierung aufsetzen kann
08/00: Einigung, dass SOAP alleine zu wenig 08/00: Einigung, dass SOAP alleine zu wenig istist
Fazit: Sich mit XML-Technologien Fazit: Sich mit XML-Technologien beschäftigen und Augen offen haltenbeschäftigen und Augen offen halten
RessourcenRessourcen SOAP Toolkit DownloadSOAP Toolkit Download
http://msdn.microsoft.com/xml/http://msdn.microsoft.com/xml/
NewsgroupNewsgroup microsoft.public.msdn.soaptoolkitmicrosoft.public.msdn.soaptoolkit
Verbesserungsvorschläge (engl.)Verbesserungsvorschläge (engl.) [email protected]@microsoft.com
World Wide Web ConsortiumWorld Wide Web Consortium http://www.w3.org/xml/http://www.w3.org/xml/ http://www.w3.org/tr/http://www.w3.org/tr/soapsoap
DevelopMentor “Essential .NET”DevelopMentor “Essential .NET” http://www.develop.com/dm/course.asp?id=95http://www.develop.com/dm/course.asp?id=95
Fragen?Fragen?