Web service client
Modifying this entity requires certain user authorization. For more information, see User Groups.
A Web service client contains client implementations for an imported web service. It supports two types of Web service clients: SOAP and REST.
- SOAP: Supported import format is WSDL. Contains client activities for consuming the web service in Adapterflows and Workflows, as well as client code for consuming the web service in Web API definitions.
- REST: Supported import format is Swagger/OpenAPI 2.0 and 3.0. Contains client activities for consuming the web service in Workflows, as well as client code for consuming the web service in Web API definitions.
|Created||DateTime||Date and time when the Web service client was created. Automatically generated by the system.|
|Description||String||User supplied description of the Web service(s).|
|Definition type||WebServiceDefinitionType||This is a non-public type.|
Specifies the type of the web service. Available types are SOAP and REST. SOAP is used for imported WSDLs and REST for imported OpenApi descriptions.
|Entity type||EntityType||Specifies the entity type. The property is Read-only and is only displayed in filter listings to identify the entity type. It can be used for example when filtering on entities with a filter containing an 'All' part. For more information, see Entity filters.|
|Last build active||Boolean||Specifies whether service runtime is running the latest compiled version of the Web service client.|
When a system is started, the property is set to True for all compiled Component definitions, Web service clients or Web APIs. However, if any such definition is recompiled the property will be set to False until a system restart occurs.
|Last compiled||DateTime||Specifies when the Web service client was last compiled. If the Web service client has not been compiled, this value is empty.|
|Modified||DateTime||Date and time of the latest modification of the client.|
|Namespace||String||The namespace used in the generated consumer activities. This namespace is supplied by the user when adding a new Web service client.|
|Needs compiling||Boolean||Specifies whether the Web service client needs to be compiled. One possible reason for this is that the Web service was imported and has not yet been compiled.|
|Uri||Uri||The original Uri from which the web service client is imported to the iCore system.|
For REST-based web services: The URI should point to the OpenAPI json-document.
|Version||Version||The version of web service client. Supplied by the user when adding a new Web service client.|
|Enable schema generations||Boolean||Enables/disables generation of XML schemas.|
Soap specific properties
|Generation options||SoapWebServiceGenerationOptions||This is a non-public type.|
Specifies the option to use for generation of client activities and schemas. For more information, see Adding a web service client.
Rest specific properties
|API version||String||The version of the API as defined in the OpenAPI specification.|
|Generation mode||GenerationMode||This is a non-public type.|
Specifies how to generate client(s).
For more information, see Adding a web service client.
|Custom client prefix class name||String||The prefix for the client class name (optional).|
|Custom client suffix class name||String||The suffix for the client class name (optional).|
|Schema target namespace||String||Namespace to use when the generator is decorating types with XmlRootAttribute (optional).|
When importing a description file (WSDL) to generate a Web service client, one or more XML schemas are also imported. The imported XML schemas contain XML definitions for the types presented by the WSDL. Separate sets of XML schemas are imported for Adapterflows and Workflows respectively.
The XML schema can be imported by iCore Developer and used in order to serialize or deserialize Web service types.
Some XML schema features are not supported when importing an XML schema from a WSDL and there are certain restrictions. The tables below list these restrictions. Features not supported are marked as forbidden.
In some scenarios, import or generation of XML schemas may fail due to the restrictions mentioned below. If schemas are required for processing the data sent to or received from the web service, the following procedure can be used to manually create XML schemas:
- Create a new Workflow.
- Reference the Web service client that you want to create XML schemas for.
- For each class that requires a schema:
- Create a new instance of the class.
- Assign values to all relevant properties on the created instance.
- Serialize the created instance to XML.
- Save the XML data to a file or the iCore log.
- Use a tool that can create an XML schema from sample data that is created in the previous step.
Restrictions in Web service XML schemas
Complex Types – <xs:complexType>
|abstract||Must be false (default).|
|mixed||Must be false (default).|
Extensions are forbidden.
Restriction is allowed only from anySimpleType.
<xs:sequence> in a complex type: attributes
|maxOccurs||Must be 1 (default).|
|minOccurs||Must be 1 (default).|
<xs:sequence> in a complex type: contents
Elements – <xs:element>
<xs:element> with maxOccurs=1 within an <xs:sequence> (Data Members)
Simple Types - <xs:simpleType>
<xs:restriction> for enumerations: contents