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

Fedict - WSDL2DCAT

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

FAQ

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

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 web service 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 .

...
  • What are the XSD files of the web services?

These files are XML Schemas describing the structure of the web service operations.

  • 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. And time is money so less money spent.

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

Clone this wiki locally