Support for the DB2 native XML data type in Web service operations
Operations in Web services can refer to DB2® columns that use the native XML data type.
In the XML schema for the input and output messages for the operation, the native XML data type is mapped to xsd:anyType.
If an XML message to a Web service requests an INSERT or UPDATE, the parameter tag must contain a valid XML document.
The examples in the following two sections perform operations on the CUSTOMER table of the DB2 SAMPLE database.
Table 1. The columns of the CUSTOMER table Name of column Data type CID BIGINT INFO XML HISTORY XML
Using the DB2 native XML data type in INSERT statements
The following default XML schema is for an operation that is based on the following SQL statement:
INSERT INTO CUSTOMER (CID, INFO, HISTORY) VALUES (:cid, :info, :history)The columns INFO and HISTORY contain XML data. The elements that represent these columns in the schema are highlighted in bold:
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:example" xmlns:tns="urn:example"> <xsd:element name="insertCustomer"> <xsd:complexType> <xsd:sequence> <xsd:element name="cid" type="xsd:long" nillable="true"></xsd:element> <xsd:element name="info" type="xsd:anyType" nillable="true"></xsd:element> <xsd:element name="history" type="xsd:anyType" nillable="true"></xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="insertCustomerResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="updateCount" type="xsd:int"></xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>A SOAP/HTTP request might look like this example:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="urn:example"> <soapenv:Body> <q0:insertCustomer> <cid>123456</cid> <info> <customerinfo> <name>Amir Malik</name> <addr country="United States"> <street>555 Bailey Ave</street> <city>San Jose</city> <prov-state>California</prov-state> <pcode-zip>95141</pcode-zip> </addr> <phone type="work">408-555-1358</phone> </customerinfo> </info> <history> <customerHistory> <numberOrders>12</numberOrders> <memberSince>1999</memberSince> </customerHistory> </history> </q0:insertCustomer> </soapenv:Body> </soapenv:Envelope>
Using the DB2 native XML data type in queries
The following default XML schema is for an operation that is based on the following SQL statement:
SELECT CID, INFO, HISTORY FROM CUSTOMERAs in the preceding example, the columns INFO and HISTORY contain XML data. The elements that represent these columns in the schema are highlighted in bold:
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:example" xmlns:tns="urn:example"> <xsd:element name="selectCustomer"> <xsd:complexType></xsd:complexType> </xsd:element> <xsd:element name="selectCustomerResponse"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="0" name="row"> <xsd:complexType> <xsd:sequence> <xsd:element name="CID" type="xsd:long"></xsd:element> <xsd:element name="INFO" type="xsd:anyType" nillable="true"></xsd:element> <xsd:element name="HISTORY" type="xsd:anyType" nillable="true"></xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>A SOAP/HTTP response might look like this example:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="urn:example"> <soapenv:Body> <q0:selectCustomerResponse> <row> <cid>123456</cid> <info> <customerinfo> <name>Amir Malik</name> <addr country="United States"> <street>555 Bailey Ave</street> <city>San Jose</city> <prov-state>California</prov-state> <pcode-zip>95141</pcode-zip> </addr> <phone type="work">408-555-1358</phone> </customerinfo> </info> <history> <customerHistory> <numberOrders>12</numberOrders> <memberSince>1999</memberSince> </customerHistory> </history> </row> </q0:selectCustomerResponse> </soapenv:Body> </soapenv:Envelope>
Related tasks
Developing and deploying Web services
Related reference
Supported Web servers, SOAP engines, and databases