Det er faktisk ikke sådan Web Services er tænkt brugt.
Du har et stykke kode på server med en metode: opret_kunde(navn,adresse,tlf) så kører du dit web service tool som genererer: en WSDL fil noget server kode så kører du dit web service tool på WSDL filen som genererer: noget client kode som har et interface opret_kunde(navn,adresse,tlf) Du skriver så din client som bruger denne client kode til at kalde web servicen som et helt normalt metode kald.
Den genererede client kode konverterer dine argumenter til/fra XML (mere præcist SOAP). Og den genererede server kode laver en tilsvarende konvertering. WSDL filen som genereres af web service tool kit og bruges af web service tool kit til at generere client kode er også i XML.
Men du ser ikke noget af al den XML i den kode du skriver - hverken på server eller client.
Rune>> Nu har jeg kigget på mange af de sider der fremkommer ved at trykke på linket, det kan godt være at svaret findes på en af siderne, men jeg har ikke tid til (på nuværende tidspunkt) at sætte mig fuldstændig ind i hvordan og hvorledes man udveksler data via xml. Jeg skal blot bruge et lille eksempel der virker, så jeg selv kan tilrette xml-data m.m.
Så hvis jeg nu forklarer mere nøjagtig hvad det går ud på.
Vi har fået en konsulent til at lave en side på vores hjemmeside (hos cybercity), hvor man kan oprette sig selv som kunde, han laver også et program på serveren her i firmaet som modtager disse data. Dataerne skal så videre behandles af mig (dvs. oprettes i en database, samt diverse beregninger) og hvis det går godt får han 'Ok' tilbage ellers en fejlkode.
Og det er så her at xml kommer ind, han synes det ville være nemmest hvis jeg lavede en .dll eller evt. webservice i .net, som kan modtage xml-data, altså en function ('opret_kunde(xml)' han kan kalde fra hans program. Og da han forklarede det, lød det jo meget nemt/smart, jeg glemte bare at fortælle ham at jeg aldrig har arbejdet med xml. Det er ikke nogen problem for mig at skrive det kode i c# der skal til, det er kun det med at kunne modtage xml/udlæse parameter-værdierne (Kunde-navn, adresse m.m) jeg ikke kender.
Jeg har modtaget flg. fra ham <?xml version="1.0" encoding="utf-8" ?> <Key Version="1"> <ID>1</ID> <Telefon>56532012</Telefon> <Navn>Peter Hansen</Navn> <Adresse>Testvej 1</Adresse> <Postnummer>8000</Postnummer> <By>Århus C</By> <Fax>12345678</Fax> --- cut --------- </Key>
Hmm. Jeg er ikke imponeret af den konsulents viden om Web Services.
Muligheder: 1) Giv den konsulent sparket. 2) Gå igang med at lave en web services som tager XML som rigtigt argument ikke bare som transport (det kan sikert godt lade sig gøre). 3) Du skriver en stump C# kode der parser en XML streng og laver den nødvendige opdatering. Så beder du ham lave det nødvendige til at flytte XML'en og kalde din kode.
Og nej - jeg ved ikke hvordan man parser XML i C#.
arne v>> Ja det lyder rigtig især punkt 2 og 3, det er lige det jeg skal bruge, men jeg har lige et problem jeg aner ikke hvordan jeg løser punkt 2, eller punkt 3 ang. c# til at parse en XML streng.
Og ang. punkt 1, så er jeg ikke i tvivl om at konsulenten kender Web Services ret godt, det er nok nærmest pga. min stolthed at jeg ikke har fået ham til at komme med et udkast til mig. Men hvis jeg ikke finder svaret inden på mandag, er jeg nød til at bide i det sure æble og kontakte ham.
altså umiddelbart ville jeg sige du skulle bruge noget .xslt og et serverside sprog (f.eks .aspx) til at behandle dine xml data med..
jeg sidder selv er er ved at finde ud af hvordan man gør - man kan iøvrigt gøre det på mange måder kan jeg se.
Princippet med .xsl er at du bla. kan vælge noder i et eller flere xml-dokumenter og så konvertere det til html, wap, eller til andre xml-dokumenter som et interface (f.eks flash eller en tredje .xsl-til-html fil) så du kan læse og få visualiseret dine data. Til at skrive xml-data bruger du et proceduralt sprog, som f.eks asp.net til dels er, men også java og c# - så vidt jeg kan se er den væsenligeste fordel ved de sidstnævnte hastigheden ved meget store mængder data.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.