You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.
SOAP
Three types of communication protocols are supported: SOAP 1.1, SOAP 1.2 and REST. For the communication HTTP is used. If you want to use something else such as JMS, you can create custom code which sends the SOAP message over JMS instead of HTTP.
Blueriq supports the WSDL 1.1 standard. It consists of service, binding, portType, message and type definitions. There are additional restrictions on the WSDL files:
What | Baas SOAP | Baas REST | Webservice Client (SOAP) | Webservice Client (REST) | SOAP Service Client | Notes |
---|---|---|---|---|---|---|
Containment of a WSDL file | 1 service 1 binding 1 portType | 1 service 1 binding 1 portType | 1 service 1 binding 1 portType | 1 service 1 binding 1 portType | 1 service 1 binding 1 portType | If you need more of these elements, create a separate WSDL files and import them separately. When sending a message to a deleted service / binding/ portType, the behavior you see is that at runtime the message is not translated to data in your profile. |
Communication style | Document/literal | Document/literal | Document/literal | Document/literal | Document/literal | |
Elements and data types | Only the namespace XMLSchema is supported* | Only the namespace XMLSchema is supported* | Only the namespace XMLSchema is supported* | Only the namespace XMLSchema is supported* | Only the namespace XMLSchema is supported* | |
WSDL:Fault messages | Not supported, they are ignored | Not supported, they are ignored | Not supported, they are ignored | Not supported, they are ignored | Supported, soap fault and message can be mapped to the profile | |
Chameleon Schemas | Not supported (link) | Not supported | Not supported | Not supported | Not supported | |
SimpleType Restrictions | Only the baseType is used | Only the baseType is used | Only the baseType is used | Only the baseType is used | Only the baseType is used | Restrictions on the domain are ignored (For example: <xs:maxInclusive value=“100”/> for a simpleType with base integer.) |
Multiple files | you have to zip them | you have to zip them | you have to zip them | you have to zip them | you have to zip them | |
Folders in zip files | No folders are allowed in ZIP files, they need to be 'flat' | No folders are allowed in ZIP files, they need to be 'flat' | No folders are allowed in ZIP files, they need to be 'flat' | No folders are allowed in ZIP files, they need to be 'flat' | No folders are allowed in ZIP files, they need to be 'flat' | |
Webservice location | The webservice has to be in the entry point module, or a mapping has to be made between the entrypoint module and the webservice module | The webservice has to be in the entry point module, or a mapping has to be made between the entrypoint module and the webservice module | ||||
WSI BP 1.2 compliant | The WSDL should be WSI BP 1.2 compliant (Link) | The WSDL should be WSI BP 1.2 compliant | ||||
Communication | XML and JSON communication is supported * | XML and JSON communication is supported * | ||||
What | Baas SOAP | Baas REST | Webservice Client (SOAP) | Webservice Client (REST) | SOAP Service Client | Notes |
Empty fields in a message (example: <Number></Number>) | Are parsed as unknown when mapped to attributes. The exception are string fields. Those are parsed as empty string (””). Are parsed as instances when mapped to relations. | Are parsed as unknown when mapped to attributes. The exception are string fields. Those are parsed as empty string (””). Are parsed as instances when mapped to relations. | Are parsed as unknown when mapped to attributes. The exception are string fields. Those are parsed as empty string (””). Are parsed as instances when mapped to relations. | Are parsed as unknown when mapped to attributes. The exception are string fields. Those are parsed as empty string (””). Are parsed as instances when mapped to relations. | Are parsed as unknown when mapped to attributes. The exception are string fields. Those are parsed as empty string (””). Are parsed as instances when mapped to relations. | |
Substitution Groups | Not supported | Not supported | Not supported | Not supported | Not supported | |
WS-Addressing | Ignored out-of-the-box (Link) | Ignored out-of-the-box | Ignored out-of-the-box | Ignored out-of-the-box | Ignored out-of-the-box | You can use the ISoapMessageHandler interface to use this protocol (see How to modify a SOAP request before being sent) |
WS-SecurityPolicy | Ignored (Link) | Ignored | Ignored | Ignored | WS-Security support by using | |
WS-Trust | Ignored (Link) | Ignored | Ignored | Ignored | ||
WS-Secureconversation | Ignored (Link) | Ignored | Ignored | Ignored | Ignored | |
WS-ReliableMessaging | Ignored (Link) | Ignored | Ignored | Ignored | Ignored | |
Document attachements | Not supported | Not supported | Not supported | Not supported | Document attachments can be send using MTOM |
* Blueriq supports XML version 1.0, not 1.1. As the versions are very similar to each other, importing 1.1 should work as long you do not use the unique features of 1.1. Blueriq does however not support 1.1, and any issues have to be resolved by yourself.
The following table shows items that you can encounter in a WSDL/XSD and if we support them. An entry with 'Yes' is actively used, while entries which are 'Ignored' can be present in your WSDL/XSD, but nothing is done with them.
XSD element | Supported |
---|---|
all | Yes |
annotation | Ignored |
any | Yes, treated as String |
anyAttribute | Yes, treated as String |
appInfo | Ignored |
attribute | Yes, when minOccurs>1 a multivalued attribute is used |
attributeGroup | Yes |
choice | Yes |
complexContent | Yes |
complexType | Yes |
documentation | Ignored |
element | Yes |
extension | Yes |
field | Ignored |
group | Yes |
import | Yes |
include | Yes |
key | Ignored |
keyref | Ignored |
list | Yes, treated as String |
notation | Ignored |
redefine | Yes |
restriction | Yes |
schema | Yes |
selector | Ignored |
sequence | Yes, when minOccurs>1 a multivalued relation is used |
simpleContent | Yes |
simpleType | Yes |
union | Yes, it is treated as string |
unique | Ignored |
Primitive data types of the XSD are translated to Blueriq data types like this:
XSD Data Type | Blueriq Data Type |
---|---|
anyURI | String |
base64Binary | String |
boolean | Boolean |
byte | Integer |
date | Date |
datetime | DateTime |
decimal | Number |
double | Number |
duration | String |
float | Number |
gDay | String |
gMonth | String |
gMonthDay | String |
gYear | String |
gYearMonth | String |
hexBinary | String |
ID | String |
IDREF | String |
int | Integer |
integer | Integer |
language | String |
long | Integer |
Name | String |
NCName | String |
negativeInteger | Integer |
NMToken | String |
nonNegativeInteger | Integer |
nonPositiveInteger | Integer |
normalizedString | String |
positiveInteger | Integer |
QName | String |
short | Integer |
string | String |
time | Time |
token | String |
unsignedByte | Integer |
unsignedInt | Integer |
unsignedLong | Integer |
unsignedShort | Integer |
REST JSON
- The message has to be contained in either curly braces ( { key : value } for standard JSON messages) or brackets ( [ value ] for messages that start with an unnamed array). Information on how to define REST message bodies through domain schemas can be found here: Domain schema editor
An array cannot contain mixed content
For example this response that mixes an attribute with an object is not supported:{ [ 3, {} ] }