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:

WhatBaas SOAPBaas RESTWebservice Client (SOAP)Webservice Client (REST)SOAP Service ClientNotes
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 styleDocument/literalDocument/literalDocument/literalDocument/literalDocument/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 messagesNot supported, they are ignoredNot supported, they are ignoredNot supported, they are ignoredNot supported, they are ignoredSupported, soap fault and message can be mapped to the profile
Chameleon SchemasNot supported (link)Not supportedNot supportedNot supportedNot supported
SimpleType Restrictions Only the baseType is usedOnly the baseType is usedOnly the baseType is usedOnly the baseType is usedOnly the baseType is usedRestrictions on the domain are ignored (For example: <xs:maxInclusive value=“100”/> for a simpleType with base integer.)
Multiple filesyou have to zip themyou have to zip themyou have to zip themyou have to zip themyou have to zip them
Folders in zip filesNo 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 locationThe webservice has to be in the entry point module, or a mapping has to be made between the entrypoint module and the webservice moduleThe 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 compliantThe 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 *

WhatBaas SOAPBaas REST

Webservice Client (SOAP)

Webservice Client (REST)

SOAP Service ClientNotes
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 supportedNot supportedNot supportedNot supportedNot supported
WS-AddressingIgnored out-of-the-box (Link)Ignored out-of-the-boxIgnored out-of-the-boxIgnored out-of-the-boxIgnored out-of-the-boxYou can use the ISoapMessageHandler interface to use this protocol (see How to modify a SOAP request before being sent)
WS-SecurityPolicyIgnored (Link)IgnoredIgnoredIgnored

WS-Security support by using

standard spring security


WS-TrustIgnored (Link)IgnoredIgnoredIgnored

WS-SecureconversationIgnored (Link)IgnoredIgnoredIgnoredIgnored
WS-ReliableMessagingIgnored (Link)IgnoredIgnoredIgnoredIgnored
Document attachementsNot supportedNot supportedNot supportedNot supportedDocument 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 elementSupported
allYes
annotationIgnored
anyYes, treated as String
anyAttributeYes, treated as String
appInfoIgnored
attributeYes, when minOccurs>1 a multivalued attribute is used
attributeGroupYes
choiceYes
complexContentYes
complexTypeYes
documentationIgnored
elementYes
extensionYes
fieldIgnored
groupYes
importYes
includeYes
keyIgnored
keyrefIgnored
listYes, treated as String
notationIgnored
redefineYes
restrictionYes
schemaYes
selectorIgnored
sequenceYes, when minOccurs>1 a multivalued relation is used
simpleContentYes
simpleTypeYes
unionYes, it is treated as string
uniqueIgnored


Primitive data types of the XSD are translated to Blueriq data types like this:

XSD Data TypeBlueriq Data Type
anyURIString
base64BinaryString
booleanBoolean
byteInteger
dateDate
datetimeDateTime
decimalNumber
doubleNumber
durationString
floatNumber
gDayString
gMonthString
gMonthDayString
gYearString
gYearMonthString
hexBinaryString
IDString
IDREFString
intInteger
integerInteger
languageString
longInteger
NameString
NCNameString
negativeIntegerInteger
NMTokenString
nonNegativeIntegerInteger
nonPositiveIntegerInteger
normalizedStringString
positiveIntegerInteger
QNameString
shortInteger
stringString
timeTime
tokenString
unsignedByteInteger
unsignedIntInteger
unsignedLongInteger
unsignedShortInteger

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,
        	{}
    	]
    }


  • No labels