bg0310_vraagAntwoord_prs.wsdl Aangepast

7 reacties / 0 nieuw
Michiel Verhoef
bg0310_vraagAntwoord_prs.wsdl Aangepast

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.

 

Bas de Groot

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?

 

Michiel Verhoef

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

 

 

Bas de Groot

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.

Michiel Verhoef

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.

 

Joost Wijnings

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). 

Bas de Groot

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.