Skip to main content
Skip table of contents

SOAP-Webservice ohne WSDL-Definition bereitstellen

Wie Sie mit der X4 BPMS SOAP-Webservices z.B. im RPC-Stil ohne WSDL-Definition via HTTP-POST bereitstellen, wird im Folgenden beschrieben.

Voraussetzungen:

  • Sie verfügen über grundlegendes Wissen über den Aufbau von SOAP-Webservices.

  • Sie haben pro Webservice-Operation einen Technical Process erstellt, der die Verarbeitung der eingehenden Anfrage übernimmt. Der Technical Process wird dabei über seine x4db:/-URL referenziert.

  • Sie verfügen über eine Teil-URL, über den der SOAP-Webservice via HTTP erreichbar sein soll, z.B. über http://localhost:8080/X4/httpstarter/ReST/MyWebservice. Sie haben den entsprechenden URL-Part bereits typischerweise als Konstante innerhalb der Webservices-Konfiguration definiert. Weitere Informationen finden Sie unter Webservice-Konfiguration grafisch bearbeiten.

Technical Process als SOAP-Webservice ohne WSDL-Definition bereitstellen

  1. Legen Sie unter der gewünschten URL-Ressource (definiert z.B. durch einen konstanten URL-Part) über den Eintrag Add SOAP Service im Kontextmenü einen neuen Service-Eintrag vom Typ SOAPan.

  2. Legen Sie die SOAP-Version fest (entweder SOAP 1.1SOAP 1.2 oder Unterstützung für beide Standards).

  3. Wählen Sie None in WSDL Mode.

  4. Hinterlegen Sie für jede Operation folgende Konfiguration:

    1. Hinterlegen Sie als Namen den Qualified Name des ersten Elements im Body der SOAP Request für die Operation.

    2. Verknüpfen Sie den Technical Process, der die Webservice-Anfrage über den X4 Server verarbeitet, über die zugehörige x4db:/-URL.

    3. Definieren Sie den Input Handler und den Output Handler für den SOAP-Webservice.

Hinweis:

Im Webservice Configuration Editor können Sie Technical Processes per Drag & Drop aus dem Repository Navigator verknüpfen.

  1. Klicken Sie auf image-20250117-094927.pngSpeichern und wenden Sie die Webservice-Konfiguration an, indem Sie auf Reload on Server klicken.
    Der SOAP-Webservice ist ab sofort aktiv und kann über dessen Service-URL ausschließlich via HTTP POST aufgerufen werden. Ein Aufruf der Service-URL via HTTP GET gibt keine WSDL-Definition zurück.
    ✅ Der SOAP-Webservice ist ab sofort aktiv und kann über dessen Service-URL ausschließlich via HTTP POST aufgerufen werden. Ein Aufruf der Service-URL via HTTP GET gibt keine WSDL-Definition zurück.

Beispiel: Konfiguration des Webservices ohne WSDL-Definition

XML
<Service type="Soap">
	<SoapVersion>
		<SOAP11/>
		<SOAP12/>
	</SoapVersion>
	<Wsdl mode="NONE"/>
	<Namespace prefix="exampleSpace" namespace="http://example.org/namespace"/>
	<Namespace prefix="anotherSpace" namespace="http://example.org/different/namespace"/>
	<!-- requires unique qualified names for the operations -->
	<Operation name="exampleSpace:SpacedOperation" 
        process="x4db:/1/RestExamples/soap/DirectOutput.wrf">
		<InputHandler type="SOAP-Envelope"/>
		<OutputHandler type="SOAP-Envelope"/>
	</Operation>
	<Operation name="anotherSpace:SpacedOperation" 
        process="x4db:/1/RestExamples/soap/DirectOutput.wrf">
		<InputHandler type="SOAP-Envelope"/>
		<OutputHandler type="SOAP-Envelope"/>
	</Operation>
	<Operation name="UnSpacedOperation" 
        process="x4db:/1/RestExamples/soap/DirectOutput.wrf">
		<InputHandler type="SOAP-Envelope"/>
		<OutputHandler type="SOAP-Envelope"/>
	</Operation>
</Service>
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.