Skip to content
mdstroop edited this page Jul 12, 2016 · 18 revisions

Fedict - WSDL2DCAT

Application for transforming WSDL/XSD from webservices to DCAT using XSLT.

FAQ

  • What is WSDL?
    WSDL stands for Web Service Description Language.
    It's an XML-language used for describing interfaces for web services.

Preview of an example:

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
	xmlns:tns="http://fsb.belgium.be/householdService/v1_00" 
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
	xmlns:mes="http://fsb.belgium.be/householdService/messages/v1_00" 
	xmlns:fsb="http://fsb.belgium.be/v1_01" 
	targetNamespace="http://fsb.belgium.be/householdService/v1_00">

	<wsdl:documentation>version 1.00</wsdl:documentation>
        
        <!--reeds beschreven via url-->
	<wsdl:types>
		<xsd:schema xmlns:tns="http://fsb.belgium.be/householdService/v1_00" targetNamespace="http://fsb.belgium.be/householdService/v1_00">
			<xsd:import namespace="http://fsb.belgium.be/householdService/messages/v1_00" schemaLocation="../messages/v1_00/householdServiceMessages.xsd" />
			<xsd:import namespace="http://fsb.belgium.be/v1_01" schemaLocation="../../../v1_01/fsb.xsd" />
		</xsd:schema>
	</wsdl:types>

	<wsdl:message name="headerRequest">
		<wsdl:part name="header" element="fsb:SyncHeader" />
	</wsdl:message>

	<wsdl:message name="headerResponse">
		<wsdl:part name="header" element="fsb:SyncResponseHeader" />
	</wsdl:message>

	<wsdl:message name="getHeadOfHouseholdRequest">
		<wsdl:part name="body" element="mes:getHeadOfHouseholdRequest" />
	</wsdl:message>
	
	<wsdl:message name="getHeadOfHouseholdResponse">
		<wsdl:part name="body" element="mes:getHeadOfHouseholdResponse" />
	</wsdl:message>

	....
       
</wsdl:definitions>

Online link for full version: CPS_HouseholdService.wsdl

  • What is DCAT?
    DCAT stands for Data Catalog Vocabulary. It's an RDF vocabulary designed to facilitate interoperability between data catalogs published on the Web.

Example of above WSDL converted to DCAT:

<!--Prefix section-->
@prefix dcat: <http://www.w3.org/ns/dcat#> .
	@prefix dc: <http://purl.org/dc/terms/> .
	@prefix foaf: <http://xmlns.com/foaf/0.1/> .
	@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

<!--The Data Catalog-->
<http://fsb.belgium.be/v1_01>
	a dcat:Catalog ;
	dc:title "The FSB web service catalogue"@en;
	dc:description "Fedict provides to the administrations and the public a platform allowing the consultation and a standardized data exchange, from one application to another application, through the Internet. The Federal Service Bus offers a safe and secured access to the Web Services connected, among others, to authentic sources. For more details about: - The FSB - The access procedure to the Web Services; - The site navigation; Please consult the list of available Web Services by using the search tool or browse through the catalogue. Please note that this site contains only information and technical documents. The content of this site is only available in English."@en;
	dc:language <http://publications.europa.eu/resource/authority/language/ENG> ;
	foaf:homepage <http://registry.fsb.belgium.be/web/service-catalog/partner/homepage> ;
	dc:publisher <https://opencorporates.com/companies/be/0367302178> ;
	dcat:dataset <http://fsb.belgium.be/householdService/v1_00> .

<!--Service-->
<http://fsb.belgium.be/householdService/v1_00>
	a dcat:Dataset ;
	dc:title "Service name http://fsb.belgium.be/householdService/v1_00"@en;
	dc:description "This is a fedict webservice named: http://fsb.belgium.be/householdService/v1_00"@en;
	dc:identifier "householdService/v1_00"@en;
	dc:language <http://publications.europa.eu/resource/authority/language/ENG> ;
	dc:theme <http://publications.europa.eu/resource/authority/data-theme/GOVE> ;
	dcat:distribution  <http://fsb.belgium.be/householdService/messages/v1_00/headerRequest>, <http://fsb.belgium.be/householdService/messages/v1_00/headerResponse>, <http://fsb.belgium.be/householdService/messages/v1_00/getHeadOfHouseholdRequest>, <http://fsb.belgium.be/householdService/messages/v1_00/getHeadOfHouseholdResponse>, <http://fsb.belgium.be/householdService/messages/v1_00/isHeadOfHouseholdRequest>, <http://fsb.belgium.be/householdService/messages/v1_00/isHeadOfHouseholdResponse>, <http://fsb.belgium.be/householdService/messages/v1_00/getHouseholdRequest>, <http://fsb.belgium.be/householdService/messages/v1_00/getHouseholdResponse>, <http://fsb.belgium.be/householdService/messages/v1_00/getHouseholdEventsRequest>, <http://fsb.belgium.be/householdService/messages/v1_00/getHouseholdEventsResponse>, <http://fsb.belgium.be/householdService/messages/v1_00/getNumberOfHouseholdMembersRequest>, <http://fsb.belgium.be/householdService/messages/v1_00/getNumberOfHouseholdMembersResponse> .

<!--Distribution-->
<http://fsb.belgium.be/householdService/messages/v1_00/getHeadOfHouseholdRequest>
	a dcat:Distribution ;
	dc:description "Definition of the request message for the getHeadOfHousehold operation"@en .

<http://fsb.belgium.be/householdService/messages/v1_00/getHeadOfHouseholdResponse>
	a dcat:Distribution ;
	dc:description "Definition of the response message for the getHeadOfHousehold operation"@en .

<http://fsb.belgium.be/householdService/messages/v1_00/isHeadOfHouseholdRequest>
	a dcat:Distribution ;
	dc:description "Definition of the request message for the isHeadOfHousehold operation"@en .

<http://fsb.belgium.be/householdService/messages/v1_00/isHeadOfHouseholdResponse>
	a dcat:Distribution ;
	dc:description "Definition of the response message for the isHeadOfHousehold operation"@en .

<http://fsb.belgium.be/householdService/messages/v1_00/getNumberOfHouseholdMembersRequest>
	a dcat:Distribution ;
	dc:description "Definition of the request message for the getNumberOfHouseholdMembers operation"@en .

...



  • Why convert to DCAT?
    By converting to DCAT every service will be linked to each related ones. This way time will not be wasted for unnecessary searching.

  • How is the conversion done?
    The conversion is made using XSLT

Clone this wiki locally