Change Log for 2025.02

Ability to List Fulfillment And License Information for Specified Host

The LicenseFulfillmentService.wsdl has been updated to v2. It includes the following:

New getHostQuery operation to list fulfillment and license information by hostid.
New getHostCount operation to get the number of hosts that fit certain criteria. This number can be used as batchSize input in getHostQuery.

Note:These enhancements were tracked in SWM-22714 and SWM-25245, respectively (see Returning Fulfillment and License Information for Non-Embedded Technologies Using Web Services and New Operation for Getting Host Count in License Service SOAP Web Service ).

Changes to the WSDL and XSD Files

The LicenseFulfillmentService.wsdl file includes a reference to the licenseFulfillmentTypes.xsd file, and that .xsd file refers to the following additional .xsd files:

licenseFulfillmentTypes.xsd
trustedOfflineActivationTypes.xsd
fulfillmentTypes.xsd
commonTypes.xsd

LicenseFulfillmentService.wsdl

In addition to updating the version number from 1 to 2 in multiple locations in the LicenseFulfillmentService.wsdl file, the following additional changes were made. Additions are highlighted.

#

Change

1

<message name="createLicenseResponse">

   <part name="msgparameters" element="tns:createLicenseResponse"/>

</message>

<message name="createCVDFulfillmentsRequest"> 

   <part name="msgparameters" element="tns:createCVDFulfillmentsRequest"/> 

</message> 

<message name="createCVDFulfillmentsResponse"> 

   <part name="msgparameters" element="tns:createCVDFulfillmentsResponse"/> 

</message> 

2

<message name="createLicensesAsBatchAndConsolidateResponse">

   <part name="msgparameters" element="tns:createLicensesAsBatchAndConsolidateResponse"/>

</message>

<message name="createCVDLicenseFileRequest"> 

   <part name="msgparameters" element="tns:createCVDLicenseFileRequest"/> 

</message> 

<message name="createCVDLicenseFileResponse"> 

   <part name="msgparameters" element="tns:createCVDLicenseFileResponse"/> 

</message> 

3

<message name="transferHostResponse">

   <part name="msgparameters" element="tns:transferHostResponse"/>

</message>

<message name="getHostQueryRequest"> 

   <part name="msgparameters" element="tns:getHostQueryRequest"/> 

</message> 

<message name="getHostQueryResponse"> 

   <part name="msgparameters" element="tns:getHostQueryResponse"/> 

</message> 

<message name="getHostCountRequest"> 

   <part name="msgparameters" element="tns:getHostCountRequest"/> 

</message> 

<message name="getHostCountResponse"> 

   <part name="msgparameters" element="tns:getHostCountResponse"/> 

</message> 

4

<operation name="createLicense">

   <input message="tns:createLicenseRequest"/>

<output message="tns:createLicenseResponse"/>

</operation>

<operation name="createCVDFulfillments"> 

   <input message="tns:createCVDFulfillmentsRequest"/> 

   <output message="tns:createCVDFulfillmentsResponse"/> 

</operation> 

5

<operation name="createLicensesAsBatchAndConsolidate">

   <input message="tns:createLicensesAsBatchAndConsolidateRequest"/>

   <output message="tns:createLicensesAsBatchAndConsolidateResponse"/>

</operation>

<operation name="createCVDLicenseFile"> 

   <input message="tns:createCVDLicenseFileRequest"/> 

   <output message="tns:createCVDLicenseFileResponse"/> 

</operation> 

6

<operation name="transferHost">

   <input message="tns:transferHostRequest"/>

   <output message="tns:transferHostResponse"/>

</operation>

<operation name="getHostQuery"> 

   <input message="tns:getHostQueryRequest"/> 

   <output message="tns:getHostQueryResponse"/> 

</operation> 

<operation name="getHostCount"> 

   <input message="tns:getHostCountRequest"/> 

   <output message="tns:getHostCountResponse"/> 

</operation> 

7

<operation name="createLicense">

   <soap:operation style="document"/>

   <input>

      <soap:body use="literal"/>

   </input>

   <output>

      <soap:body use="literal"/>

   </output>

</operation>

<operation name="createCVDFulfillments"> 

   <soap:operation style="document"/> 

   <input> 

      <soap:body use="literal"/> 

   </input> 

   <output> 

      <soap:body use="literal"/> 

   </output> 

</operation> 

8

<operation name="createLicensesAsBatchAndConsolidate">

   <soap:operation style="document"/>

   <input>

      <soap:body use="literal"/>

   </input>

   <output>

      <soap:body use="literal"/>

   </output>

</operation>

<operation name="createCVDLicenseFile"> 

   <soap:operation style="document"/> 

   <input> 

      <soap:body use="literal"/> 

   </input> 

   <output> 

      <soap:body use="literal"/> 

   </output> 

</operation> 

9

<operation name="transferHost">

   <soap:operation style="document"/>

   <input>

      <soap:body use="literal"/>

   </input>

   <output>

      <soap:body use="literal"/>

   </output>

</operation>

<operation name="getHostQuery"> 

   <soap:operation style="document"/> 

   <input> 

      <soap:body use="literal"/> 

   </input> 

   <output> 

      <soap:body use="literal"/> 

   </output> 

</operation> 

<operation name="getHostCount"> 

   <soap:operation style="document"/> 

   <input> 

      soap:body use="literal"/> 

   </input> 

   <output> 

      <soap:body use="literal"/> 

   </output> 

</operation> 

licenseFulfillmentTypes.xsd

The only change made to the licenseFulfillmentTypes.xsd file between v1 and v2 was to update the version number from 1 to 2 in multiple locations in the file.

trustedOfflineActivationTypes.xsd

The only change made to the trustedOfflineActivationTypes.xsd file between v1 and v2 was to update the version number from 1 to 2 in multiple locations in the file.

fulfillmentTypes.xsd

In addition to updating the version number from 1 to 2 in multiple locations in the fulfillmentTypes.xsd file, the following complexTypes were added.

#

Change

1

<!-- START createCVDFulfillments --> 

<xs:element name="createCVDFulfillmentsRequest" type="tns:createFulfillmentRequestType"/> 

<xs:element name="createCVDFulfillmentsResponse" type="tns:createFulfillmentResponseType"/> 

<!-- END createCVDFulfillments --> 

<!-- START verifyCreateLicense -->

<xs:element name="verifyCreateLicenseRequest" type="tns:createFulfillmentRequestType"/>

<xs:element name="verifyCreateLicenseResponse" type="tns:createFulfillmentResponseType"/>

<!-- END verifyCreateLicense -->

2

<!-- END consolidatedFulfillments -->

<!-- START createCVDLicenseFile --> 

<xs:complexType name="createCVDLicenseFileRequestType"> 

   <xs:sequence> 

      <xs:element name="queryParams" type="tns:CVDLicenseFileQueryParametersType" minOccurs="0"/> 

      <xs:element name="vendorStringIsCumulative" type="xs:boolean"/> 

      <xs:element name="pageNumber" type="xs:integer" nillable="true"/> 

      <xs:element name="batchSize" type="xs:integer" nillable="true"/> 

   </xs:sequence> 

</xs:complexType> 

<xs:complexType name="CVDLicenseFileQueryParametersType"> 

   <xs:sequence> 

      <xs:element name="hostId" type="tns:SimpleQueryType" minOccurs="0"/> 

      <xs:element name="nodeLockHostId" type="tns:SimpleQueryType" minOccurs="0"/> 

      <xs:element name="customHostAttributes" type="tns:customAttributesQueryListType" minOccurs="0"/> 

   </xs:sequence> 

</xs:complexType> 

<xs:complexType name="createCVDLicenseFileResponseType"> 

   <xs:sequence> 

      <xs:element name="statusInfo" type="tns:StatusInfoType"/> 

      <xs:element name="responseData" type="tns:CVDLicenseFileConsolidatedResponseDataType" minOccurs="0"/> 

   </xs:sequence> 

</xs:complexType> 

<xs:complexType name="CVDLicenseFileConsolidatedResponseDataType"> 

   <xs:sequence> 

      <xs:element name="licenseTechnology" type="tns:CVDLicenseFileConsolidatedLicenseDataType" minOccurs="0" maxOccurs="unbounded"/> 

   </xs:sequence> 

</xs:complexType> 

<xs:complexType name="CVDLicenseFileConsolidatedLicenseDataType"> 

   <xs:sequence> 

      <xs:element name="licenseTechnologyName" type="xs:string" minOccurs="0"/> 

      <xs:element name="soldTo" type="xs:string"/> 

      <xs:element name="criteria" type="xs:string"/> 

      <xs:element name="licenseGenerator" type="tns:CVDLicenseGeneratorType" minOccurs="0" maxOccurs="unbounded"/> 

      <xs:element name="state" type="tns:StateType" minOccurs="0"/> 

   </xs:sequence> 

</xs:complexType> 

<xs:complexType name="CVDLicenseGeneratorType"> 

   <xs:sequence> 

      <xs:element name="licenseGeneratorName" type="xs:string"/> 

      <xs:element name="consolidatedLicenseId" type="xs:string"/> 

      <xs:element name="consolidatedFulfillments" type="tns:fulfillmentIdentifierListType"/> 

      <xs:element name="licenseFiles" type="tns:licenseFileDataListType" minOccurs="0"/> 

   </xs:sequence> 

</xs:complexType> 

<xs:element name="createCVDLicenseFileRequest" type="tns:createCVDLicenseFileRequestType"/> 

<xs:element name="createCVDLicenseFileResponse" type="tns:createCVDLicenseFileResponseType"/> 

<!-- END createCVDLicenseFile --> 

3

<!-- end transferHost -->

<!--START getHostQueryTypes --> 

<xs:complexType name="hostDataType"> 

   <xs:sequence> 

      <xs:element name="soldTo" type="xs:string"/> 

      <xs:element name="licenseTechnology" type="tns:licenseTechnologyIdentifierType" minOccurs="0"/> 

      <xs:element name="state" type="tns:StateType" minOccurs="0"/> 

      <xs:element name="hostID" type="xs:string" minOccurs="0"/> 

      <xs:element name="hostType" type="xs:string" minOccurs="0"/> 

      <xs:element name="account" type="xs:string" minOccurs="0"/> 

   </xs:sequence> 

</xs:complexType> 

<xs:complexType name="hostQueryParametersType"> 

   <xs:sequence> 

      <xs:element name="hostId" type="tns:SimpleQueryType" minOccurs="0"/> 

      <xs:element name="soldTo" type="tns:SimpleQueryType" minOccurs="0"/> 

      <xs:element name="licenseTechnology" type="tns:SimpleQueryType" minOccurs="0"/> 

      <xs:element name="hostType" type="tns:SimpleQueryType" minOccurs="0"/> 

      <xs:element name="account" type="tns:SimpleQueryType" minOccurs="0"/> 

      <xs:element name="fulfillmentState" type="tns:fulfillmentStateQueryType" minOccurs="0"/> 

   </xs:sequence> 

</xs:complexType> 

<xs:complexType name="getHostQueryRequestType"> 

   <xs:sequence> 

      <xs:element name="queryParams" type="tns:hostQueryParametersType" minOccurs="0"/> 

      <xs:element name="pageNumber" type="xs:integer" nillable="true"/> 

      <xs:element name="batchSize" type="xs:integer" nillable="true"/> 

   </xs:sequence> 

</xs:complexType> 

<xs:complexType name="getHostQueryResponseDataType"> 

   <xs:sequence> 

      <xs:element name="hostData" type="tns:hostDataType" minOccurs="0" maxOccurs="unbounded"/> 

      <xs:element name="fulfillmentState" type="xs:string" minOccurs="0"/> 

   </xs:sequence> 

</xs:complexType> 

<xs:complexType name="getHostQueryResponseType"> 

   <xs:sequence> 

      <xs:element name="statusInfo" type="tns:StatusInfoType"/> 

      <xs:element name="responseData" type="tns:getHostQueryResponseDataType" minOccurs="0"/> 

   </xs:sequence> 

</xs:complexType> 

<xs:element name="getHostQueryRequest" type="tns:getHostQueryRequestType"/> 

<xs:element name="getHostQueryResponse" type="tns:getHostQueryResponseType"/> 

<!-- END getHostQueryTypes --> 

commonTypes.xsd

In addition to updating the version number from 1 to 2 in multiple locations in the commonTypes.xsd file, the following additional changes were made. Additions are highlighted in blue.

#

Change

1

<xs:simpleType name="CreateOrUpdateOperationType">

   <xs:restriction base="xs:NMTOKEN">

      <xs:enumeration value="CREATE_OR_UPDATE"/>

      <xs:enumeration value="CREATE_OR_IGNORE"/>

   </xs:restriction>

</xs:simpleType>

<xs:simpleType name="CreateOrUpdateOperationAccountType"> 

   <xs:restriction base="xs:NMTOKEN"> 

      <xs:enumeration value="CREATE_OR_UPDATE"/> 

      <xs:enumeration value="CREATE_OR_IGNORE"/> 

   </xs:restriction> 

</xs:simpleType> 

<xs:simpleType name="CollectionOperationType">

   <xs:restriction base="xs:NMTOKEN">

      <xs:enumeration value="REPLACE"/>

      <xs:enumeration value="ADD"/>

      <xs:enumeration value="DELETE"/>

   </xs:restriction>

</xs:simpleType>

<xs:simpleType name="CollectionOperationAccountType"> 

   <xs:restriction base="xs:NMTOKEN"> 

      <xs:enumeration value="REPLACE"/> 

      <xs:enumeration value="ADD"/> 

      <xs:enumeration value="DELETE"/> 

   </xs:restriction> 

</xs:simpleType> 

2

<xs:complexType name="OrgTypeList">

   <xs:sequence>

      <xs:element name="orgType" type="tns:OrgType" minOccurs="1" maxOccurs="unbounded" />

   </xs:sequence>

</xs:complexType>

 

<xs:simpleType name="accountType"> 

   <xs:restriction base="xs:NMTOKEN"> 

      <xs:enumeration value="CUSTOMER"/> 

      <xs:enumeration value="PUBLISHER"/> 

      <xs:enumeration value="CHANNEL_PARTNER"/> 

      <xs:enumeration value="SELF_REGISTERED"/> 

   </xs:restriction> 

</xs:simpleType> 

<xs:complexType name="accountTypeList"> 

   <xs:sequence> 

      <xs:element name="accountType" type="tns:accountType" minOccurs="1" maxOccurs="unbounded" /> 

   </xs:sequence> 

</xs:complexType> 

<xs:complexType name="fulfillmentStateQueryType"> 

   <xs:sequence> 

      <xs:element name="value" type="tns:fulfillmentStateType"/> 

      <xs:element name="searchType" type="tns:simpleSearchType"/> 

   </xs:sequence> 

</xs:complexType> 

<xs:simpleType name="fulfillmentStateType"> 

   <xs:restriction base="xs:NMTOKEN"> 

      <xs:enumeration value="ACTIVE"/> 

      <xs:enumeration value="OBSOLETE"/> 

      <xs:enumeration value="ON_HOLD"/> 

   </xs:restriction> 

</xs:simpleType>