You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

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:

  1. A WSDL file may only contain 1 service, 1 binding and 1 portType definition. If you need more of these elements, create a separate WSDL files and import them separately.
  2. The communication may only be done in document/literal style. Other styles are not supported.
  3. For the elements and data types used in the schema only the namespace http://www.w3.org/2001/XMLSchema is supported.
  4. WSDL:Fault messages are currently not supported, they are ignored.
  5. Chameleon Schemas not supported (http://www.xfront.com/ZeroOneOrManyNamespaces.html)
  6. For SimpleType Restrictions only the baseType is used. Restrictions on the domain are ignored (For example: <xs:maxInclusive value=“100”/> for a simpleType with base integer.)
  7. When you have multiple files, you have to zip them.
  8. No folders are allowed in ZIP files, they need to be 'flat'
  9. 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.
  10. When using BAAS, the WSDL should be WSI BP 1.2 compliant (http://ws-i.org/profiles/BasicProfile-1.2-2010-11-09.html).
  11. Only XML communication is supported with REST services.
  12. Empty fields in a message (example: <Number></Number>) are parsed as unknown. The exception are string fields. Those are parsed as empty string (””).
  13. Substitution Groups are not supported.
  14. WS-Addressing is ignored out-of-the-box (http://www.w3.org/Submission/ws-addressing/), but you can use the ISoapMessageHandler interface to use this protocol (see How to modify a SOAP request before being sent)..
  15. WS-Security is ignored out-of-the-box (https://www.oasis-open.org/committees/download.php/16790/wss-v1.1-spec-os-SOAPMessageSecurity.pdf), but you can use the ISoapMessageHandler interface to use this protocol (see How to modify a SOAP request before being sent).
  16. WS-SecurityPolicy is ignored (http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/)
  17. WS-Trust is ignored (http://docs.oasis-open.org/ws-sx/ws-trust/v1.4/ws-trust.html)
  18. WS-Secureconversation is ignored (http://docs.oasis-open.org/ws-sx/ws-secureconversation/v1.4/ws-secureconversation.html)
  19. WS-ReliableMessaging is ignored (http://docs.oasis-open.org/ws-rx/wsrm/200702/wsrm-1.2-spec-os.html)

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
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 start and end with "{" and "}" respectively
  • An array cannot contain mixed content
    For example this response is not supported:

    {
    [
        3,
        {}
    ]
    }

 

  • No labels