Skip to main content
Skip table of contents

Deploying a SOAP Webservice without a WSDL Definition

The following explains how to deploy SOAP webservices with the X4 BPMS, for example, in the RPC style, without a WSDL definition via HTTP POST.

Prerequisites:

  • You have basic knowledge of the structure of SOAP webservices.

  • You have created a Technical Process for each webservice operation, which processes the respective incoming request. The Technical Process is referenced via its x4db:/-URL.

  • You have a partial URL, via which the SOAP webservice should be accessible via HTTP, e.g. via http://localhost:8080/X4/httpstarter/ReST/MyWebservice. You have already typically defined the corresponding URL part as a constant within the websrvice configuration. For more information, see (7.4.4-en) Graphically Editing the Webservice Configuration .

Deploying Technical Process as SOAP webservices without a WSDL definition

  1. Create a new service entry of the SOAP type under the desired URL resource (defined, e.g. by a constant URL part) using the Add SOAP Service entry in the context menu.

  2. Define the SOAP version (either SOAP 1.1, SOAP 1.2, or support for both standards).

  3. Select None in WSDL Mode.

  4. Define the following configuration for each operation:

    1. Define the Qualified Name of the first element in the SOAP request body for the operation as the name.

    2. Link the Technical Process that processes the webservice request through the X4 Server using the associated x4db:/ URL.

    3. Define the input handler and output handler for the SOAP webservice.

Note:

In the Web Service Configuration Editor, you can link Technical Processes from the Repository Navigator via drag and drop.

  1. Click image-20250128-150754.pngSave and apply the webservice configuration by clicking Reload on Server.
    The SOAP webservice is now active and can only be accessed via HTTP POST via its service URL. Calling the service URL via HTTP GET does not return a WSDL definition.
    ✅ The SOAP webservice is now active and can only be accessed via HTTP POST via its service URL. Calling the service URL via HTTP GET does not return a WSDL definition.

Example: Configuration of the webservice without 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.