Hello Community,
I'm trying to import WSDL service descriptions from Gematik (https://www.gematik.de/) to allow communication with the german TI infrastructure using the TI connectors webservice interface over a IRIS healthconnect SOAP operation. For import I'm using the SOAP Wizard Add-Inn from Studio.
The WSDL files can be found here: https://fachportal.gematik.de/fileadmin/Fachportal/Downloadcenter/Schemata-_und_WSDL-Dateien/Schema-_und_WSDL-Dateien/OPB3.1_Schemadateien_R3.1.2_Kon_PTV3_20191002.zip
The interface specification and some helpful graphics are published here: https://gemspec.gematik.de/downloads/gemILF/gemILF_PS/gemILF_PS_V2.22.0.html
I exctracted the folder with the schema files to the filesystem of our Health Connect server and tried to import some services.
CardService and EventService worked as expected without any problems. With some configuration of the connectors endpoint it is possible to list all card terminals associated with the specific connector. When importing the VSDService, which allows to read health ensurance card data from card reader terminals, I got import errors. The file is located in conn/vsds/VSDService.wsdl relatively located to the root folder of the archive. The file could be loaded and parsed in the first place, but when trying to create class files an business operations I got an error
.png)
I thought it might be a rights problem and changed ownership of all files to the cacheusr (called irisuser in new installations), but this did not change anything.
I found this post in the developer community, but this one also does not seem to cover my case. The VSDService.wsdl is parsable and the error occurres at a later point while processing the contents. I had a similar error before with another file, when trying to import without providing the complete folder structure and contained files. In the current case all references exist and should be resolvable. Here is the WSDL File I'm trying to import:
<?xml version="1.0" encoding="UTF-8"?>
<!-- gematik revision="\main\rel_online\rel_ors1\1" -->
<!-- edited with XMLSpy v2010 (http:
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:GERROR="http://ws.gematik.de/tel/error/v2.0" xmlns:VSD="http://ws.gematik.de/conn/vsds/VSDService/v5.2" name="VSD" targetNamespace="http://ws.gematik.de/conn/vsds/VSDService/v5.2">
<documentation>
Copyright (c) 2011, gematik - Gesellschaft für Telematikanwendungen der Gesundheitskarte mbH. Alle Rechte vorbehalten.
Beschreibung: Dienste zum Lesen der Versichertenstammten von einer eGK
</documentation>
<types>
<xs:schema>
<xs:import schemaLocation="VSDService.xsd" namespace="http://ws.gematik.de/conn/vsds/VSDService/v5.2"/>
<xs:import schemaLocation="../../tel/error/TelematikError.xsd" namespace="http://ws.gematik.de/tel/error/v2.0"/>
</xs:schema>
</types>
<message name="ReadVSDRequestMessage">
<part name="parameter" element="VSD:ReadVSD"/>
</message>
<message name="ReadVSDResponseMessage">
<part name="parameter" element="VSD:ReadVSDResponse"/>
</message>
<message name="FaultMessage">
<part name="parameter" element="GERROR:Error"/>
</message>
<portType name="VSDServicePortType">
<operation name="ReadVSD">
<input message="VSD:ReadVSDRequestMessage"/>
<output message="VSD:ReadVSDResponseMessage"/>
<fault name="FaultMessage" message="VSD:FaultMessage"/>
</operation>
</portType>
<binding name="VSDServiceBinding" type="VSD:VSDServicePortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="ReadVSD">
<soap:operation soapAction="http://ws.gematik.de/conn/vsds/VSDService/v6.0#ReadVSD"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
<fault name="FaultMessage">
<soap:fault name="FaultMessage" use="literal"/>
</fault>
</operation>
</binding>
<service name="VSDService">
<port name="VSDServicePort" binding="VSD:VSDServiceBinding">
<soap:address location="http://unspecified"/>
</port>
</service>
</definitions>
I would really appreciate, if anyone would help me out with some ideas how to fix this error.
Kind regards,
Martin