Understanding > WebSphere Commerce and service-oriented architecture (SOA) > WebSphere Commerce Web services > WebSphere Commerce BOD command framework

Commerce Feature Pack


BOD versions in WebSphere Commerce

In order for the WebSphere Commerce Server to be able to differentiate between different levels of client libraries, which may have different versions of the WebSphere Commerce nouns, the versionID attribute of the OAGIS BusinessObjectDocumentType is populated with the WebSphere Commerce version associated with the noun.

This versionID attribute is for IBM use only, for WebSphere Commerce BODs. If you want to specify your own custom version identification system, you can make use of the releaseID attribute of the BOD.

In WebSphere Commerce version 6, Feature Pack 2 and earlier releases, the versionID was unspecified in all BODs. All BODs from WebSphere Commerce version 6, Feature Pack 3 and later use the versionID to specify the BOD version.

Every Noun XSD file contains a constant value, that corresponds to the WebSphere Commerce version-release-modification-fixpack convention:

  <element name="NounNameBODVersion" type="string" fixed="6.0.0.4">
    <annotation>
      <documentation>
      Vof the noun. This value is set as the versionID attribute in the corresponding BODs.
      </documentation>
    </annotation>
  </element>
This value will change in any of the following cases:

In the client library, the constant is read from the XSD, and set in the BOD. The resulting BOD will look like the following sample:

<_mbr:ChangePerson xmlns:_mbr="http://www.ibm.com/xmlns/prod/commerce/9/member" xmlns:_wcf="http://www.ibm.com/xmlns/prod/commerce/9/foundation" xmlns:oa="http://www.openapplications.org/oagis/9" versionID="6.0.0.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

The template code generated when you Create a WebSphere Commerce service module in Feature Pack 3 or later will set the versionID in the BOD for you.

Last updated: 25 November 2009