08. april 2011 - 10:12Der er
10 kommentarer og 1 løsning
Validere XML udfra WSDL
Jeg er nærmest beskæmmende nybegynder udi .NET men har opgaven: En SOAP-requests XML skal valideres imod en WSDL-fil inden den sendes. Jeg antager at der findes klasser der kan validere og returnere oplysninger på hvor det eventuelt fejler, men .NET er mig stadig stort og uoverskueligt.
Er der en som kan give mig nogle fingerpeg på den rigtige tilgang? Altså hvilke klasser der kan den slags og evt. et par små eksempler.
... nej. Jeg har endnu ikke noget relevant kode at vise frem.
Hej Arne. Håbede lidt du dukkede op. Jeg skulle lige hitte ud af hvad du mente med STUB (altså generere kode vha. WSDL-import), som Delphi-mand er jeg lidt på uvant område.
Jeg kan godt følge dig, men meningen er, at koden skal kompileres én gang, men håndtere, at WSDL-filen opdateres. Programmet kan håndtere at fiske de ønskede data ud af databasen fordi det konfigureres vha. XML-filer.
Jeg ved ikke helt om jeg bryder mig om konstruktionen, men det er efter specifikation og det vil være en fordel at komme væk fra den manuelle validering vi har nu.
Alt dynamikken skal ligge i WSDL og XML-filer. I princippet skulle den kunne tage en vilkårlig WSDL og trække data ud af databasen (vha. def i XML), generere en SOAP og sende den afsted - men der skal være en validering op mod WSDL'en et sted.
WSDL'en kommer fra anden part og det er deres luner vi må håndtere lettest muligt. Dvs. hvis de kommer med en ny WSDL så vil vi blot rette i XML-filen der definerer hvorfra programmet skal hente data (den del eksisterer). Meningen er netop at vi skal skrotte den kodede validering vi har nu, og skyde valideringen over på noget .NET-noget.
Man kan gratis hente en samling DLL'er fra Altova (XmlSpy) hvori det virker som den slags understøttes; har dog ikke undersøgt det nok da jeg helst ikke vil blande Win32 og .NET sammen. Desuden regnede jeg med, at hvis der fandtes et "sprog" der understøttede validering af XML på kryds og tværs, så var det .NET. Forventede noget a la XMLDocument.ValidateAgainstWSDL(URL/Path); derfor de ydmyge 30 points.
spaceus: Ja tak, det var lige sådan noget jeg (vi) prøver. Man må kunne udtrække xsd-delen (for det er vel det det er) af en WSDL-fil og så validere derfra.
xsd url vil jo typisk fremgå af wsdl filen så det vel bare at hente den og validere
Synes godt om
Ny brugerNybegynder
Din løsning...
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.