Skip to end of metadata
Go to start of metadata

For Web services there two ways to represent what is commonly known as null in programming.

Optional elements

If an element in the WSDL or XSD specification is declared with minOccurs="0", it means the element is optional. In Taverna you can simply avoid connecting such an input port on the Web service or XML input splitter, in which case Taverna would skip creation of that element.

Nillable elements

If an element has been declared as xsd:nillable="true", then you can make Taverna (since 2.2) send the special attribute xsi:nil="true" by connecting the input port to a string constant with the string value xsi:nil. Taverna will also send xsi:nil if you have not connected the input port, the element is not optional but is nillable.

You may expect the intermediate outputs from the XML input splitter to see how Taverna represents the optional inputs. In the case of an element being neither optional or nillable, but no connection has been made to the port, Taverna will insert an empty string, which might or might not be valid, depending on the web service.

We generally advise Web service developers to use the optional elements rather than nillable – most Web service frameworks will treat either as null or similar. However, the xsi:nil solution is the only option if you want to represent null as part of a list using the same element name.

Labels
  • None