StUF 0300 wsdl importeren met wsdl.exe van .NET

21 reacties / 0 nieuw
Anoniem
StUF 0300 wsdl importeren met wsdl.exe van .NET

Hallo,

Ik probeer om de wsdl bestanden van StUF 0300 te importeren met de wsdl tool van de .NET SDK. Alleen wil dit niet lukken, als ik bijvoorbeeld bg030002.ontvangAsynchroon.wsdl of bg030002.verwerkSynchroneKennisgeving.wsdl wil importeren, krijg ik de volgende fout:

"Error: Element message named adrLa02 from namespace ttp://www.egem.nl/StUF/bg/wsdl/bg0300.services is missing."

Ik heb zelf natuurlijk al zitten kijken wat het probleem kan zijn, maar ik kan het niet vinden.

Het lukt wel om de wsdl van StUF 0204 te importeren met hetzelfde tooltje, maar niet de wsdl van StUF 0300.

Is er iemand die ervaring heeft met het gebruiken van StUF 0300 in .NET 2.0 of 3.5? Of iemand die een idee heeft waar het aan kan liggen? Ik kom zelf niet echt verder.

Henri Korver

Je error message verwijst naar een foutieve namespace. De 'h' van 'http' is verdwenen. Wellicht leidt dit tot de oorzaak van je probleem.

 

Anoniem

Bedankt voor je reactie, maar dat de "h" weg is van "http" is simpelweg een kopieer fout aan mijn kant, sorry daarvoor. De namespace staat wel goed, zoals ook in de foutmelding: Error: Element message named adrLa02 from namespace http://www.egem.nl/StUF/bg/wsdl/bg0300.services is missing.

Henri Korver

heb je het al geprobeerd of het wel lukt met de wsdl-schema's van bg0310?

Zie https://www.surfgroepen.nl/sites/stuf/Shared%20Documents/Forms/bestanden...{7A5846EA-6884-408D-BC2C-C3839A2417E1}

Robert Melskens

Ik heb er even naar gekeken maar volgens mij is er niets mis met het WSDL bestand. Tenminste niet in XML-technisch.
De melding geeft aan dat het element 'message' met een 'name' attribuut waarde 'adrLa02' niet in het wsdl bestand 'bg030002.types.wsdl' voorkomt. Dit is echter niet het geval.

Ik zou haast gaan denken dat er een fout in het wsdl tool zit.
Misschien kun je eens in een ander tool kijken. XML-Spy detecteert in ieder geval ook geen fouten.

Henri, dit element komt in de WSDL bestanden van BG3.10 niet voor.

Anoniem

Ik heb de wsdl van stuf 0310 toch maar even geprobeerd en daarbij krijg ik de volgende foutmelding:

Error: Cannot find definition for http://www.egem.nl/StUF/StUF0301:Bv03. Service Description with namespace http://www.egem.nl/StUF/StUF0301 is missing. Parameter name: name

Ik was dat vergeten erbij te zetten, maar het lukt wel om de wsdl van StUF 0300 te importeren met SoupUI, die geeft geen fouten. Het zou dus misschien wel kunnen dat de wsdl tool van .NET niet helemaal goed is, maar ik heb die wel nodig. Ik kan geen manier bedenken om de wsdl toch te kunnen importeren hiermee, maar ik snap niet waarom die daarop fout loopt.

Maarten van den...

Beste Gilian,

Het laatste probleem zou wel eens veroorzaakt kunnen worden door het feit dat de namespace http://www.egem.nl/StUF/StUF0301 wordt geïmporteerd via het bestand bgstuf0310.xsd die weer een include doet van stuf0301.xsd. Het zou kunnen dat de wsdl tool niet goed omgaat met deze combinatie van import en vervolgens een include. Je kunt dit testen door de inhoud van stuf0301.xsd op te nemen in het bgstuf0310.xsd bestand. Als het dan wel werkt, dan is dat het probleem en heeft het wsdl-tool inderdaad een hinderlijke beperking

De fout met adrLa02 wordt waarschijnlijk veroorzaakt doordat je niet werkt met de meest actuele versie van bg0300. Ik raad je aan om uitsluitend de meest recente versie te gebruiken (met vier cijferige versie nummers). De door jou gebruikte versie bg030002.types.wsdl bevat een foutief import statement van een schema (het voldoet niet aan WS-I BP 1.1). Ik kan me voorstellen dat de wsdl-tool hier niet mee kan omgaan. Omdat ik de meest recente versie niet op de community kan vinden, heb ik ze aan deze post toegevoegd.

Anoniem

Beste Maarten,

Ik heb de bestanden die je hebt gepost gebruikt, maar het wil daarmee ook niet helemaal lukken. Ik miste nog een aantal bestanden die worden geimporteerd: stuf0300.types.wsdl, stuf0300.xsd en bgstuf0300.xsd. Ik heb stuf0301.types.wsdl en stuf0301.xsd kunnen vinden bij "StUF  StUF Bestanden  4_StUF_Standaarden  StUF 03.01" op deze site. Ik heb de imports dan aangepast zodat ze de 0301 bestanden importeren ipv de 0300 bestanden. Het bgstuf0300.xsd bestand kan ik helaas niet vinden.

Ik heb wel even de wsdl tool gebruikt zonder dat bestand, de eerste keer kreeg ik exact dezelfde foutmelding als ik kreeg bij StUF 0310, vervolgens heb ik geprobeerd wat je zei en dat lijkt wel te werken. Vervolens kreeg ik wel een andere foutmelding:

Error: Unable to import binding 'SOAPVerwerkTriggerbericht' from namespace 'http://www.egem.nl/StUF/StUF0301'.
- Unable to import operation 'Tr01'.
- The element 'http://www.egem.nl/StUF/StUF0301:Tr01Bericht' is missing.

Ik weet niet wat in het bgstuf0300.xsd bestand staat, maar kan deze fout daar aan liggen? Zou je mij kunnen vertellen waar ik dit bestand kan vinden, of anders toevoegen aan je bericht?

Maarten van den...

Hallo Gilian,

Ik heb zojuist onder StUF Bestanden/5_StUF_Sectormodellen/StUF-BG03.00 het zip-bestand stuf_bg_zkn_ef_0300.zip geplaatst. Naar ik hoop zitten in dit bestand alle files die je nodig hebt voor het inlezen. Het blijft mogelijk dat je moet truccen om het probleem import-include op te lossen.

Laat via een post even weten of je hiermee al dan niet geholpen bent.

Met vriendelijke groet,

Maarten

Anoniem

Beste Maarten,

Bedankt voor het uploaden van de bestanden en je hulp tot nu toe. Ik heb nu van alles geprobeerd maar het wil nog niet echt lukken.

Ik heb de inhoud van stuf0300.xsd opgenomen in het bgstuf0300.xsd bestand, maar dan krijg ik nog precies dezelfde foutmelding. Ook als ik dit niet doe en de include van stuf0300.xsd weghaal, krijg ik nog steeds dezelfde foutmelding.

Ik dacht ook dat het stuf0300.types.wsdl bestand misschien niet geimporteerd kan worden en heb de inhoud daarvan in bg0300.ontvangAsynchroon.wsdl gezet, maar dat werkt ook niet. Ik heb ook de hele regel die het stuf0300.types.wsdl importeerd weggehaald, om te kijken of het wel echt aan dat stukje ligt en dan krijg ik nog steeds dezelfde foutmelding.

Ik kan ook meerdere bestanden opgeven aan de wsdl tool en ik heb geprobeerd om alle benodigde wsdl en xsd bestanden op te geven, zodat ze zeker allemaal gebruikt worden, maar als ik dit doe gaat het helemaal fout. Dit foutmelding heb ik toegevoegd aan dit bericht, maar ik denk dat dit zoiezo niet de goede manier is, ik weet niet wat het tooltje dan precies doet met al die bestanden.

Ik heb geen ideeën meer, weet jij nog iets? Misschien voeg ik de bestanden wel verkeerd samen en lukt het daarom nog steeds niet.

Maarten van den...

Hallo Gilian,

Ik kan me voorstellen dat je geen ideeen. Gelukkig heb ik ze dank zij jouw foutmelding wel.

Je bent de eerste die deze bestanden probeert te verwerken met de kennelijk tamelijk strenge wsdl.exe van .Net, want validatie in de Java ontwikkelomgeving eclipse geeft geen foutmeldingen en ook validatie in XMLSpy leidt niet tot problemen.

Toch zijn er wel problemen:
In het bg0300.ontvangasynchroon.wsdl zaten op drie plekken typo's die aanleiding gaven tot de warnings.
In het bg0300.msg.xsd werd voor de namespace http://www.egem.nl/StUF/StUF0300 een verkeerd bestand geïmporteerd (stuf0300.xsd ipv bgstuf0300.xsd).

Ik heb de gecorrigeerde bestanden geupload naar de community en zou je willen vragen het eerst nog eens te proberen zonder iets te wijzigen aan de bestanden. Ik verwacht eerlijk gezegd dat het samenvoegen van de bestanden niet nodig is nu de gesignaleerde problemen zijn opgelost. Mochten bepaalde dingen alsnog niet gevonden worden, dan zou je kunnen proberen geinclude bestanden gewoon op te nemen in het bestand waarin ze geinclude worden.

Je bent zo te zien de eerste die deze bestanden met .Net probeert in te lezen en daarmee ook prompt de pineut dat je tegen dit soort kinderziekten aanloopt. Mijn excuses daarvoor en succes toegewenst. Het is misschien handig om in geval van nog steeds bestaande problemen ook even je telefoonnummer door te geven. Mijn nummer is 0643855244.

Maarten

Robert Melskens

Gilian,

Is dit de eerste keer dat je deze tool gebruikt?
Zo niet, op welke wijze wijken voorgaande WSDL dan af van die van StUF?

Anoniem

Beste Robert,

Ik heb deze tool eerder gebruikt met de wsdl bestanden van StUF 0204 en daarmee werkte het wel. Voor de rest heb ik het nog nooit gebruikt. (Ik heb verder ook nog nooit met wsdl en xsd bestanden gewerkt (maar wel met xml), voordat ik hieraan begon en ik heb ook nog maar weinig ervaring met webservices.)

//edit: Heel erg bedankt Maarten, ik ga het zometeen proberen en laat je weten of het is gelukt of niet.

Anoniem

Ik had vrijdag andere dingen te doen, maar ik heb het nu weer geprobeerd en ik krijg in ieder geval die foutmelding over wire signatures niet meer.

Als ik alleen het bg0300.ontvangAsynchroon.wsdl bestand opgeef aan de wsdl.exe krijg ik nog steeds de volgende foutmelding:

Error: Cannot find definition for http://www.egem.nl/StUF/StUF0300:Bv03. Service Description with namespace http://www.egem.nl/StUF/StUF0300 is missing.
Parameter name: name

Maar als ik dan ook nog stuf0300.types.wsdl als parameter opgeef is deze foutmelding weg en krijg ik de volgende:

Error: Unable to import binding 'SOAPOntvangAsynchroon' from namespace 'http://www.egem.nl/StUF/sector/bg/0300'.
- Unable to import operation 'adrLa02'.
- The element 'http://www.egem.nl/StUF/sector/bg/0300:adrLa02' is missing.

Daarna voeg ik ook nog het bg0300.msg.xsd bestand aan wsdl.exe en dan is die foutmelding ook weer weg, alleen dan krijg ik een andere foutmelding die ik niet opgelost krijg, dat is de volgende:

Error: Schema with targetNamespace='http://www.egem.nl/StUF/sector/bg/0300' has invalid syntax. The complexType 'http://www.egem.nl/StUF/sector/bg/0300:Stuurgegevens' has already been declared. Line 19389, position 3.
- The complexType 'http://www.egem.nl/StUF/sector/bg/0300:Stuurgegevens' has already been declared.

Het lijkt er dus op dat de wsdl.exe van .NET de imports en includes helemaal niet snapt. Alleen de laatste foutmelding begrijp ik niet, kan dit aan de wsdl van jullie liggen? Of misschien werken sommige imports/includes weer wel en probeert de tool daardoor 2 maal hetzelfde bestand te importeren.

Maarten van den...

Hallo Gilian,

Het lijkt me het beste als we morgen na 10u00 even telefonisch (0643855244) contact hebben, zodat ik echt begrijp wat je hebt gedaan (ik snap nu bijvoorbeeld het regelnummer voor de laatste foutmelding niet). Wat ook zou helpen, is het posten van de bestanden die je nu gebruikt, wanneer deze afwijken van de bestanden die ik in de zip heb gestuurd.

Met vriendelijke groet,

Maarten

Anoniem

Hallo Maarten,

Oke, ik zal je straks dan wel bellen. Ik heb verder niets meer gewijzigd aan de bestanden uit je zip-bestand. Ik snap dat regel nummer ook niet echt.

Anoniem

Hallo Maarten,

Zoals net besproken over de telefoon was het probleem opgelost door het zip bestand opnieuw te downloaden en de bestanden daaruit te gebruiken. De wsdl.exe van .NET wilde de wsdl nu wel importeren, maar gaf nog wel een aantal waarschuwingen. Zoals beloofd heb ik de resultaten van de wsdl.exe toegevoegd aan dit bericht als bijlage.

Ik ben blij dat het nu eindelijk werkt en dus nogmaals bedankt voor al je hulp.

Voor mensen die de stuf 0300 wsdl ook willen importeren met wsdl.exe van .NET en op dit topic terecht zijn gekomen: Je moet alle bestanden die in een include of een import staan ook opgeven als parameter aan wsdl.exe. Dus niet alleen het eerste wsdl bestand, maar ook de anderen en de xsd's.

Anoniem

Gelet op deze discussie en het brede gebruik van .Net (ook in gemeenteland) lijkt het me een goed idee als bij uitlevering van nieuwe versies wsdl files (ook) getest worden binnen de .Net omgeving. Genereren van classes via wsdl.exe is een voor de hand liggende manier om te kijken of "de standaard manier" van gebruiken van wsdl files door .Net goed verloopt. Ook de daaruit voortkomende warnings zouden dan misschien nog opgelost kunnen worden. Kan denk ik de nodige hoofdpijnuren bij afnemers voorkomen...

Dennis Rusch

Hallo,

Is het mogelijk dat iemand de volledige commandline specificeert om in .net de sources te laten genereren?
Wat ik ook probeer, mij lukt het niet. Ik heb de laatste sources gedownload maar blijf de melding krijgen van ontbrekende definities. Ik heb ook alle xsd bestand op de commandline geplaatst, maar dat hielp ook niet.

Alvast bedankt,

Dennis Rusch

Dennis Rusch

Het is me inmiddels gelukt.

Erwin Wester

Beste Maarten,

Ik besef dat deze post een tijdje terug is en heb eigenlijk een eenvoudige vraag.

Waar zijn de wsdl of xsd bestanden voor StUF2.04 nu eigenlijk te vinden?

Jij hebt de bestanden geupload naar de community, maar ik heb moeite om de daadwerkelijk te vinden. Kun je mij in de goede richting wijzen?

mvg, Erwin