Daten anbieten - Webservice

Modul Integration Daten anbieten

1. Webservice erstellen




Ein neuer Webservice kann über das Hauptmenü Webservice / Neuer Webservice erstellt werden. Dazu muss der der Eintrag "Webservice" unter Daten anbieten markiert sein. Damit selbst erstellte Webservices genutzt werden können, müssen die Einstellungen des Webservice-Anbieters entsprechend konfiguriert sein. Mit F1 oder mit Klick auf die Hilfe-Schaltfläche erreichen Sie in allen Konfigurations-Dialogen die entsprechenden Hilfe-Informationen.

2. Rechte

Für die Konfiguration von Webservices ist das Portalrecht Webservices anbieten und das Recht am Modul Werkzeuge erforderlich.

3. HTTPS-Zertifizierung

Im Folgenden wird davon ausgegangen, dass bereits entsprechende Zertifikate sowie keystore und truststore vorliegen. Es ist darauf zu achten, dass keystore und truststore vom Typ Java-Keystore (Dateiendung jks) sind.

3.1. AXIS2 konfigurieren

Um einen Transport per HTTPS einzurichten, müssen Änderungen an der Axis2-Konfigurationsdatei vorgenommen werden. Wechseln Sie dazu in das Portalverzeichnis /internal/webservice/provider/axis2/conf/ und öffnen Sie die Datei "axis2.xml" in einem Texteditor. Suchen Sie nun nach folgendem Eintrag:
<!-- ================================================= -->
<!-- Non-blocking http/s Transport Listener  -->
<!-- the non blocking http transport based on HttpCore + NIO extensions -->
<transportReceiver class="de.uplanet.lucy.server.webservice.provider.axis2.transport.nhttp.HttpCore NIOListener" name="http">
	<parameter locked="false" name="port">"WS_PORT"</parameter>
	<parameter locked="false" name="non-blocking">true</parameter>
	<parameter locked="false" name="hostname">"HOST_NAME"</parameter>
</transportReceiver>
Unterhalb dieses Eintrags finden Sie das auskommentiertes Element <transportreceiver>. Entfernen Sie die Kommentar-Tags, um den Eintrag zu aktivieren.
<!-- the non blocking https transport based on HttpCore + SSL-NIO extensions -->
<transportReceiver class="de.uplanet.lucy.server.webservice.provider.axis2.transport.nhttp.HttpCore
NIOSSLListener" name="https">
	<parameter locked="false" name="port">SSL_WS_PORT</parameter>
	<parameter locked="false" name="non-blocking">true</parameter>
	<parameter locked="false" name="keystore">
		<KeyStore>
			<Location>KEYSTORE.jks</Location>
			<Type>JKS</Type>
			<Password>KEYSTORE_PASSWORD</Password>
			<KeyPassword>KEY_PASSWORD</KeyPassword>
		</KeyStore>
	</parameter>
	<parameter locked="false" name="truststore">
		<TrustStore>
			<Location>TRUSTSTORE.jks</Location> 
			<Type>JKS</Type>
			<Password>TRUSTSTORE_PASSWORD</Password>
		</TrustStore>
	</parameter>
	<parameter name="SSLVerifyClient">require</parameter>
<!--supports optional|require or defaults to none -->
</transportReceiver>
Geben Sie die folgende Werte korrekt an:

Parameter Beschreibung
SSL_WS_PORT Port, über den der https-Webservice aufgerufen werden kann. Es ist darauf zu achten, dass dieser Port vom Port für ungesicherte Webserviceaufrufe unterscheidet.
KEYSTORE.jks Pfad zum Keystore im Format JKS. Der Pfad muss relativ zum Portalverzeichnis internal/webservice/provider/ angegeben werden.
KEYSTORE_PASSWORD Passwort für den angegebenen Keystore.
KEY_PASSWORD Passwort für den verwendeten Key.
TRUSTSTORE.jks Pfad zum Truststore im Format JKS. Der Pfad muss relativ zum Portalverzeichnis internal/webservice/provider/ angegeben werden.
TRUSTSTORE_PASSWORD Passwort für den angegebenen Truststore.

Wurden die Werte korrekt gesetzt, ist nach folgendem Eintrag zu suchen:

<transportSender class="org.apache.axis2.transport.http.CommonsHTTPTransportSender" name="https">
	<parameter name="PROTOCOL">HTTP/1.1</parameter>
	<parameter name="Transfer-Encoding">chunked</parameter>
</transportSender>
Unterhalb dieses Eintrags finden Sie ein weiteres, noch auskommentiertes Element <transportsender>. Entfernen Sie die Kommentar-Tags, um den Eintrag zu aktivieren.
<!-- the non-blocking https transport sender based on HttpCore + NIO SSL extensions-->
<transportSender name="https" class="de.uplanet.lucy.server.webservice.provider.axis2.transport.nhttp.Http
CoreNIOSSLSender">
<parameter name="non-blocking" locked="false">true</parameter>
<parameter name="keystore" locked="false">
	<KeyStore>
		<Location>KEYSTORE.jks</Location>
		<Type>JKS</Type>
		<Password>KEYSTORE_PASSWORD</Password>
		<KeyPassword>KEY_PASSWORD</KeyPassword>
	</KeyStore>
</parameter>
<parameter locked="false" name="truststore">
	<TrustStore>
		<Location>TRUSTSTORE.jks</Location>
		<Type>JKS</Type>
		<Password>TRUSTSTORE_PASSWORD</Password>
	</TrustStore>
</parameter>
<parameter name="HostnameVerifier">DefaultAndLocalhost</parameter>
	;<!--supports Strict|AllowAll|DefaultAndLocalhost or the default if none 	specified-->
</transportSender>
Geben Sie die folgende Werte korrekt an:

Parameter Beschreibung
KEYSTORE.jks Pfad zum Keystore im Format JKS. Der Pfad muss relativ zum Portalverzeichnis internal/webservice/provider/ angegeben werden.
KEYSTORE_PASSWORD Passwort für den angegebenen Keystore.
KEY_PASSWORD Passwort für den verwendeten Key.
TRUSTSTORE.jks Pfad zum Truststore im Format JKS. Der Pfad muss relativ zum Portalverzeichnis internal/webservice/provider/ angegeben werden.
TRUSTSTORE_PASSWORD Passwort für den angegebenen Truststore.

Speichern Sie die Datei und starten Sie anschließend den Portal-Dienst neu. Rufen Sie den im Browser die WSDL-Datei auf, um die HTTPS-Authentifizierung zu testen. Achten Sie hierbei auf die Angabe von HTTPS statt HTTP und des Ports. Ist die URL korrekt angegeben, muss das verwendete Zertifikat akzeptiert werden. Danach wird die WSDL-Datei im Browser angezeigt.

Weitere Informationen

Allgemeines
Webservice konsumieren
Export / Import