Het bleek dat de soapActions in de WSDL file bg0310_vraagAntwoord_prs.wsdl niet conform StUF.bindingen.030200 document zijn (RM issue nr 384609).
Bijvoorbeeld de soapAction <soap:operation soapAction="npsLv01-prs-NatuurlijkPersoon"/> moet zijn <soap:operation soapAction="http://www.egem.nl/StUF/sector/bg/0310/npsLv01-prs-NatuurlijkPersoon"/>
In de bijgevoegde WSDL file bg0310_vraagAntwoord_prs.wsdl zijn de soapActions uitgebreid met deze namespace zodat deze conform het StUF.bindingen.030200 document zijn.
Als ik voor de operaties van dit koppelvlak code wil genereren voor .NET is bovenstaande (bg0310_vraagAntwoord_prs.wsdl) dan de wsdl waarmee ik dat moet doen?
Het lukt me niet om deze met XSD resolver te resolven. Is er een voorbeeld configuratie van XSD resolver beschikbaar hiervoor?
De XSD resolver is niet bedoeld om operaties voor webservices te genereren. De XSD resolver is bedoeld om de StUF xsd schema's "plat te slaan" zodat een relatief simpele structuur van slechts enkele xsd schema's overblijft. Alle niet gebruikte elementen en attributen komen hier niet in te staan zodat de schema's zo lean en mean mogelijk zijn.
Zojuist heb ik de XSD Resolver gedraaid voor het PRS koppelvlak en dit ging zonder problemen.
Het belangrijkste wat je moet doen is in de $XSD_Resolver/input/configuration.xml file aangeven welk koppelvlak je wilt resolven, zie onderstaand voorbeeld.
<application:configurationSectorModel domain="PRS" Id="PRS" active="yes">
<!-- ======================================================================== -->
<!-- ===== Basis folder van het sectormodel ========================================== -->
<!-- In het 'path' element moet het path vermeld worden waar het te converteren sectormodel te vinden is.
Evt. backslashes worden geconverteerd naar gewone slashes. -->
<application:pathSectormodel>C:\temp\p20a\bg0310\prs</application:pathSectormodel>
<application:resolve>
<application:schema>
<application:schemaName>bg0310_msg_prs.xsd</application:schemaName>
</application:schema>
</application:resolve>
<!--<application:doNotResolve>
<application:schema>
<application:namespace>http://www.opengis.net/gml</application:namespace>
<application:schemaName>gml.xsd</application:schemaName>
</application:schema>
</application:doNotResolve>-->
</application:configurationSectorModel>
Dit moet je nog wel aanpassen aan je eigen situatie zoals de locatie van de PRS schema's. De uitkomst van de XSD Resolver komt te staan in C:\StUF\tools\XSD-Resolver
Ik kan inderdaad wel de XSD resolver uitvoeren voor het PRS koppelvlak, maar het lukt me niet om code te genereren voor de wsdl, met of zonder de geresolvde xsd's.
Als dat ligt aan het probleem van de fixed value = "0" waar SoapUI ook over struikelt ligt het volgens mij niet aan de WSDL maar de xsd schema's.
Het probleem van de XSD-resolver is een conflict tussen een geïmporteerd schema in de WSDL en de platgeslagen XSD. Deze verwijzen namelijk allebei deels naar dezelfde elementen. Een oplossing zou moeten zijn dat je de resolver toepast vanuit de WSDL, maar dit werkt volgens mij niet goed (hoewel ik dit niet recent getest heb).
De resolver toepassen op de WSDL werkt inderdaad niet. Het lijkt erop dat het op geen enkele manier mogelijk is om op basis van de wsdl proxyclasses te genereren voor .NET helaas.