Thanks Sergey for prompt reply

I changed the name of objects from 

Product to Employee
and Namespace to Manager, in order to clearly convey my problem.

I was able to run the code with emsnamespace.namespaceId=5 as query param.

I've attached the WADL file. Also request you to please answer the remaining 
questions as well.
Also how can I send a collection in request param?


Thanks
Abhishek



-----Original Message-----
From: Sergey Beryozkin [mailto:[email protected]] 
Sent: Wednesday, February 17, 2010 4:19 PM
To: [email protected]
Subject: Re: how to send Nested object in RESTful webservice

Hi

Can you please post a sample resource class and this Employee object ?
@FormParams get translated to WADL parameters of type 'query'...FormParam("") 
should result in individual Employee properties such 
as 'manager' being listed as parameters, but I'd like to 'manager' actually 
refers to another complex object or not...

cheers, Sergey

----- Original Message ----- 
From: "Sharma, Abhishek" <[email protected]>
To: <[email protected]>
Sent: Wednesday, February 17, 2010 10:13 AM
Subject: how to send Nested object in RESTful webservice


I am planning to use CXF as my Webservice development framework. The java code 
is already written using spring and hibernate. The 
requirement is to expose the service layer in Model as web service and their 
method as web methods in probably both SOAP and REST.

As a proof of concept I found CXF to work excellently with my application but 
I've still some open issues/questions:


Questions specific to RESTful web services:


 1.  We have @IgnoreProperty for SOAP based services what is the corresponding 
property for RESTful mode?
 2.  How to send Nested object in REST?

Details: I've to add an employee which has a @ManyToOne relationship with the 
manager object. Now WADl says
<param name="manager" style="query" />.

How can I send the entire object as query parameter? I've used 
add(@FormParam("") Employee employee) web method to publish.

Or  Do I need to put any annotation over getManager() in my Employee pojo?


 1.  How to do exception handling for REST like we have SOAPFault in soap based 
webservices


Question specific to General design:

In my web methods I am passing entire object while search/update. For now code 
is using only a few values inside the object and 
ignoring the rest. What should be the behavior in case of webservice as the 
client might pass values in request which are actually 
ignored by the web method. For this I just want to know what standard web 
service architecture recommends?

Thanks for help

Regards,
Abhishek






The information contained in this electronic mail transmission
may be privileged and confidential, and therefore, protected
from disclosure. If you have received this communication in
error, please notify us immediately by replying to this
message and deleting it from your computer without copying
or disclosing it.

= 


The information contained in this electronic mail transmission 
may be privileged and confidential, and therefore, protected 
from disclosure. If you have received this communication in 
error, please notify us immediately by replying to this 
message and deleting it from your computer without copying 
or disclosing it.


<application xmlns="http://research.sun.com/wadl/2006/10"; xmlns:xs="http://www.w3.org/2001/XMLSchema";><grammars><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; attributeFormDefault="unqualified" elementFormDefault="unqualified">
<xs:element name="entitlement" type="entitlement"/>
<xs:element name="namespace" type="emsnamespace"/>
<xs:element name="product" type="product"/>
<xs:complexType name="product">
<xs:sequence>
<xs:element name="allowDelete" type="xs:boolean"/>
<xs:element name="deployed" type="xs:boolean"/>
<xs:element minOccurs="0" name="emsnamespace" type="emsnamespace"/>
<xs:element name="enabled" type="xs:boolean"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entitlementItems" nillable="true" type="entitlementItem"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entitlementLicenseModel" nillable="true" type="entitlementLicenseModel"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="featureSets" nillable="true" type="featureSet"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="features" nillable="true" type="feature"/>
<xs:element minOccurs="0" name="namespaceName" type="xs:string"/>
<xs:element minOccurs="0" name="productDescription" type="xs:string"/>
<xs:element name="productId" type="xs:int"/>
<xs:element minOccurs="0" name="productName" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="suites" nillable="true" type="suite"/>
<xs:element minOccurs="0" name="version" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="emsnamespace">
<xs:sequence>
<xs:element name="deployed" type="xs:boolean"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="featureSets" nillable="true" type="featureSet"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="features" nillable="true" type="feature"/>
<xs:element minOccurs="0" name="namespaceDescription" type="xs:string"/>
<xs:element name="namespaceId" type="xs:int"/>
<xs:element minOccurs="0" name="namespaceName" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="products" nillable="true" type="product"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="suites" nillable="true" type="suite"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="featureSet">
<xs:sequence>
<xs:element name="deployed" type="xs:boolean"/>
<xs:element minOccurs="0" name="emsnamespace" type="emsnamespace"/>
<xs:element name="enabled" type="xs:boolean"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entitlementLicenseModel" nillable="true" type="entitlementLicenseModel"/>
<xs:element minOccurs="0" name="featureSetDescription" type="xs:string"/>
<xs:element name="featureSetId" type="xs:int"/>
<xs:element minOccurs="0" name="featureSetName" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="features" nillable="true" type="feature"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="products" nillable="true" type="product"/>
<xs:element minOccurs="0" name="version" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="entitlementLicenseModel">
<xs:sequence>
<xs:element minOccurs="0" name="entitlementItem" type="entitlementItem"/>
<xs:element minOccurs="0" name="feature" type="feature"/>
<xs:element minOccurs="0" name="featureSet" type="featureSet"/>
<xs:element name="id" type="xs:int"/>
<xs:element minOccurs="0" name="licenseModel" type="licenseModel"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="licenseModelAttributes" nillable="true" type="entitlementLicenseModelAttributeValue"/>
<xs:element minOccurs="0" ref="product"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="entitlementItem">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="activations" nillable="true" type="activation"/>
<xs:element name="cost" type="xs:int"/>
<xs:element name="enabled" type="xs:boolean"/>
<xs:element minOccurs="0" name="endDate" type="xs:dateTime"/>
<xs:element minOccurs="0" ref="entitlement"/>
<xs:element name="id" type="xs:int"/>
<xs:element name="itemState" type="xs:int"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="licenseModels" nillable="true" type="entitlementLicenseModel"/>
<xs:element minOccurs="0" ref="product"/>
<xs:element minOccurs="0" name="startDate" type="xs:dateTime"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="activation">
<xs:sequence>
<xs:element minOccurs="0" name="activatedBy" type="xs:string"/>
<xs:element minOccurs="0" name="activationDateTime" type="xs:dateTime"/>
<xs:element name="activationId" type="xs:int"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="activationLicenseModelAttributeValues" nillable="true" type="activationLicenseModelAttributeValue"/>
<xs:element name="activationState" type="xs:int"/>
<xs:element minOccurs="0" name="aid" type="xs:string"/>
<xs:element minOccurs="0" name="entitlementItem" type="entitlementItem"/>
<xs:element minOccurs="0" name="license" type="license"/>
<xs:element name="previousActivationId" type="xs:int"/>
<xs:element minOccurs="0" name="stateChangeDateTime" type="xs:dateTime"/>
<xs:element minOccurs="0" name="stateChangedBy" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="activationLicenseModelAttributeValue">
<xs:sequence>
<xs:element minOccurs="0" name="activation" type="activation"/>
<xs:element minOccurs="0" name="attrValue" type="xs:string"/>
<xs:element minOccurs="0" name="attribute" type="attribute"/>
<xs:element minOccurs="0" name="entitlementLicenseModel" type="entitlementLicenseModel"/>
<xs:element minOccurs="0" name="id" type="activationLicenseModelAttributeValueId"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="attribute">
<xs:sequence>
<xs:element name="attributeId" type="xs:int"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="attributeListValues" nillable="true" type="attributeListValue"/>
<xs:element minOccurs="0" name="attributeName" type="xs:string"/>
<xs:element name="attributeType" type="xs:int"/>
<xs:element minOccurs="0" name="attributeValue" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="attributeValues" nillable="true" type="attributeValue"/>
<xs:element minOccurs="0" name="displayOrder" type="xs:int"/>
<xs:element name="endUserPermission" type="xs:int"/>
<xs:element name="isvPermission" type="xs:int"/>
<xs:element name="nullable" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="attributeListValue">
<xs:sequence>
<xs:element minOccurs="0" name="attribute" type="attribute"/>
<xs:element minOccurs="0" name="displayText" type="xs:string"/>
<xs:element minOccurs="0" name="id" type="attributeListValueId"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="attributeListValueId">
<xs:sequence>
<xs:element name="attrId" type="xs:int"/>
<xs:element minOccurs="0" name="valueId" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="attributeValue">
<xs:sequence>
<xs:element minOccurs="0" name="attribute" type="attribute"/>
<xs:element minOccurs="0" name="attributeValue" type="xs:string"/>
<xs:element name="endUserPermission" type="xs:int"/>
<xs:element minOccurs="0" name="id" type="attributeValueId"/>
<xs:element name="isvPermission" type="xs:int"/>
<xs:element minOccurs="0" name="licenseModel" type="licenseModel"/>
<xs:element name="nullable" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="attributeValueId">
<xs:sequence>
<xs:element name="attributeId" type="xs:int"/>
<xs:element name="licenseModelId" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="licenseModel">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="attributeValues" nillable="true" type="attributeValue"/>
<xs:element name="enabled" type="xs:boolean"/>
<xs:element minOccurs="0" name="enforcement" type="enforcement"/>
<xs:element minOccurs="0" name="enforcementName" type="xs:string"/>
<xs:element minOccurs="0" name="enforcementVersion" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entItemLMParamGroupList" nillable="true" type="parameterGroup"/>
<xs:element minOccurs="0" name="licenseModelDescription" type="xs:string"/>
<xs:element name="licenseModelId" type="xs:int"/>
<xs:element minOccurs="0" name="licenseModelName" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="enforcement">
<xs:sequence>
<xs:element name="enfLicLevel" type="xs:int"/>
<xs:element minOccurs="0" name="enforcementDescription" type="xs:string"/>
<xs:element name="enforcementId" type="xs:int"/>
<xs:element minOccurs="0" name="enforcementName" type="xs:string"/>
<xs:element minOccurs="0" name="enforcementVendorString1" type="xs:string"/>
<xs:element minOccurs="0" name="enforcementVendorString2" type="xs:string"/>
<xs:element minOccurs="0" name="enforcementVersion" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="licenseModels" nillable="true" type="licenseModel"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="parameterGroup">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="activationAttributes" nillable="true" type="attribute"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="activationSubgroups" nillable="true" type="parameterSubGroup"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="attributes" nillable="true" type="attribute"/>
<xs:element minOccurs="0" name="enforcement" type="enforcement"/>
<xs:element name="parameterGroupId" type="xs:int"/>
<xs:element minOccurs="0" name="parameterGroupName" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="parameterSubGroups" nillable="true" type="parameterSubGroup"/>
<xs:element name="visible" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="parameterSubGroup">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="activationAttributes" nillable="true" type="attribute"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="attributes" nillable="true" type="attribute"/>
<xs:element name="parameterSubGroupId" type="xs:int"/>
<xs:element minOccurs="0" name="parameterSubGroupName" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="activationLicenseModelAttributeValueId">
<xs:sequence>
<xs:element name="activationId" type="xs:int"/>
<xs:element name="attrId" type="xs:int"/>
<xs:element name="entFtrLmid" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="license">
<xs:sequence>
<xs:element minOccurs="0" name="activation" type="activation"/>
<xs:element name="activationId" type="xs:int"/>
<xs:element name="activationState" type="xs:int"/>
<xs:element minOccurs="0" name="licenseFile" type="xs:base64Binary"/>
<xs:element minOccurs="0" name="licenseString" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="entitlement">
<xs:sequence>
<xs:element minOccurs="0" name="batchEntitlement" type="batchEntitlement"/>
<xs:element minOccurs="0" name="contact" type="contact"/>
<xs:element minOccurs="0" name="customer" type="customer"/>
<xs:element name="duration" type="xs:int"/>
<xs:element minOccurs="0" name="eid" type="xs:string"/>
<xs:element name="enabled" type="xs:boolean"/>
<xs:element minOccurs="0" name="endDate" type="xs:dateTime"/>
<xs:element name="entState" type="xs:int"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entitlementItems" nillable="true" type="entitlementItem"/>
<xs:element name="id" type="xs:int"/>
<xs:element minOccurs="0" name="policy" type="entitlementPolicy"/>
<xs:element minOccurs="0" name="startDate" type="xs:dateTime"/>
<xs:element minOccurs="0" name="status" type="xs:boolean"/>
<xs:element name="totalCredit" type="xs:int"/>
<xs:element minOccurs="0" name="vendorString1" type="xs:string"/>
<xs:element minOccurs="0" name="vendorString2" type="xs:string"/>
<xs:element minOccurs="0" name="vendorString3" type="xs:string"/>
<xs:element minOccurs="0" name="vendorString4" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="batchEntitlement">
<xs:sequence>
<xs:element name="batchId" type="xs:int"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="batchLineItems" nillable="true" type="batchEntitlementItem"/>
<xs:element name="batchState" type="xs:int"/>
<xs:element name="credit" type="xs:int"/>
<xs:element name="duration" type="xs:int"/>
<xs:element name="enabled" type="xs:boolean"/>
<xs:element minOccurs="0" name="endDate" type="xs:dateTime"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entBatchProcesses" nillable="true" type="batchEntitlementProcess"/>
<xs:element name="entitlementCount" type="xs:int"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entitlements" nillable="true" type="entitlement"/>
<xs:element minOccurs="0" name="notifyEmailId" type="xs:string"/>
<xs:element minOccurs="0" name="partner" type="partner"/>
<xs:element name="regRequired" type="xs:int"/>
<xs:element name="rehostAllowd" type="xs:boolean"/>
<xs:element name="rehostTicketRequired" type="xs:boolean"/>
<xs:element minOccurs="0" name="rehostUnit" type="xs:string"/>
<xs:element name="relicenseAllowed" type="xs:boolean"/>
<xs:element name="revokeAllowed" type="xs:boolean"/>
<xs:element minOccurs="0" name="revokeUnit" type="xs:string"/>
<xs:element minOccurs="0" name="startDate" type="xs:dateTime"/>
<xs:element minOccurs="0" name="timesRehostAllowed" type="xs:int"/>
<xs:element name="timesRevokeAllowed" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="batchEntitlementItem">
<xs:sequence>
<xs:element minOccurs="0" name="batchEntitlement" type="batchEntitlement"/>
<xs:element name="batchLineItemId" type="xs:int"/>
<xs:element name="cost" type="xs:int"/>
<xs:element name="enabled" type="xs:boolean"/>
<xs:element minOccurs="0" name="endDate" type="xs:dateTime"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="licenseModels" nillable="true" type="batchEntitlementLicenseModel"/>
<xs:element name="lineItemState" type="xs:int"/>
<xs:element minOccurs="0" ref="product"/>
<xs:element minOccurs="0" name="startDate" type="xs:dateTime"/>
<xs:element minOccurs="0" name="suite" type="suite"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="batchEntitlementLicenseModel">
<xs:sequence>
<xs:element minOccurs="0" name="batchEntitlementItem" type="batchEntitlementItem"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="batchLicenseModelAttributes" nillable="true" type="batchEntitlementLicenseModelAttributeValue"/>
<xs:element name="entBatchFtrLmid" type="xs:int"/>
<xs:element minOccurs="0" name="feature" type="feature"/>
<xs:element minOccurs="0" name="featureSet" type="featureSet"/>
<xs:element minOccurs="0" name="licenseModel" type="licenseModel"/>
<xs:element minOccurs="0" ref="product"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="batchEntitlementLicenseModelAttributeValue">
<xs:sequence>
<xs:element minOccurs="0" name="attribute" type="attribute"/>
<xs:element minOccurs="0" name="attributeValue" type="xs:string"/>
<xs:element minOccurs="0" name="batchEntLicenseModel" type="batchEntitlementLicenseModel"/>
<xs:element minOccurs="0" name="id" type="batchEntitlementLicenseModelAttributeValueId"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="batchEntitlementLicenseModelAttributeValueId">
<xs:sequence>
<xs:element name="attrId" type="xs:int"/>
<xs:element name="entBatchFtrLmid" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="feature">
<xs:sequence>
<xs:element name="allowDelete" type="xs:boolean"/>
<xs:element name="defaultLMId" type="xs:int"/>
<xs:element name="deployed" type="xs:boolean"/>
<xs:element minOccurs="0" name="emsnamespace" type="emsnamespace"/>
<xs:element name="enabled" type="xs:boolean"/>
<xs:element minOccurs="0" name="entLicenseModel" type="licenseModel"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entitlementLicenseModel" nillable="true" type="entitlementLicenseModel"/>
<xs:element minOccurs="0" name="featureDescription" type="xs:string"/>
<xs:element name="featureId" type="xs:int"/>
<xs:element minOccurs="0" name="featureName" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="featureSets" nillable="true" type="featureSet"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="licenseModels" nillable="true" type="licenseModel"/>
<xs:element minOccurs="0" name="namespaceName" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="products" nillable="true" type="product"/>
<xs:element minOccurs="0" name="version" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="suite">
<xs:sequence>
<xs:element name="allowDelete" type="xs:boolean"/>
<xs:element name="deployed" type="xs:boolean"/>
<xs:element minOccurs="0" name="emsnamespace" type="emsnamespace"/>
<xs:element name="enabled" type="xs:boolean"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entitlementItems" nillable="true" type="entitlementItem"/>
<xs:element minOccurs="0" name="namespaceName" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="products" nillable="true" type="product"/>
<xs:element minOccurs="0" name="suiteDescription" type="xs:string"/>
<xs:element name="suiteId" type="xs:int"/>
<xs:element minOccurs="0" name="suiteName" type="xs:string"/>
<xs:element minOccurs="0" name="version" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="batchEntitlementProcess">
<xs:sequence>
<xs:element minOccurs="0" name="batchEntitlement" type="batchEntitlement"/>
<xs:element minOccurs="0" name="processDescr" type="xs:string"/>
<xs:element name="processId" type="xs:int"/>
<xs:element minOccurs="0" name="processLastUpdateTime" type="xs:dateTime"/>
<xs:element minOccurs="0" name="processStartTime" type="xs:dateTime"/>
<xs:element name="processStatus" type="xs:int"/>
<xs:element minOccurs="0" name="processType" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="partner">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="batchEntitlements" nillable="true" type="batchEntitlement"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="childPartners" nillable="true" type="partner"/>
<xs:element minOccurs="0" name="parentPartner" type="partner"/>
<xs:element minOccurs="0" name="partnerEmailId" type="xs:string"/>
<xs:element name="partnerId" type="xs:int"/>
<xs:element minOccurs="0" name="partnerName" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="contact">
<xs:sequence>
<xs:element minOccurs="0" name="billAddr" type="xs:string"/>
<xs:element minOccurs="0" name="billAddrCity" type="xs:string"/>
<xs:element minOccurs="0" name="billAddrCountry" type="xs:string"/>
<xs:element minOccurs="0" name="billAddrState" type="xs:string"/>
<xs:element minOccurs="0" name="billAddrZip" type="xs:string"/>
<xs:element minOccurs="0" name="confirmPassword" type="xs:string"/>
<xs:element minOccurs="0" name="contName" type="xs:string"/>
<xs:element minOccurs="0" name="contNumber" type="xs:string"/>
<xs:element minOccurs="0" name="contOrgnization" type="xs:string"/>
<xs:element minOccurs="0" name="contUserPwd" type="xs:string"/>
<xs:element minOccurs="0" name="custAdmin" type="xs:boolean"/>
<xs:element minOccurs="0" name="customer" type="customer"/>
<xs:element minOccurs="0" name="emailId" type="xs:string"/>
<xs:element minOccurs="0" name="enabled" type="xs:boolean"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entitlements" nillable="true" type="entitlement"/>
<xs:element name="id" type="xs:int"/>
<xs:element minOccurs="0" name="shipAddr" type="xs:string"/>
<xs:element minOccurs="0" name="shipAddrCity" type="xs:string"/>
<xs:element minOccurs="0" name="shipAddrCountry" type="xs:string"/>
<xs:element minOccurs="0" name="shipAddrState" type="xs:string"/>
<xs:element minOccurs="0" name="shipAddrZip" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="customer">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="contacts" nillable="true" type="contact"/>
<xs:element minOccurs="0" name="cstmrcrmid" type="xs:string"/>
<xs:element name="cstmrid" type="xs:int"/>
<xs:element minOccurs="0" name="cstmrname" type="xs:string"/>
<xs:element minOccurs="0" name="desc" type="xs:string"/>
<xs:element minOccurs="0" name="enabled" type="xs:boolean"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entitlements" nillable="true" type="entitlement"/>
<xs:element minOccurs="0" name="refId" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="TEntConts" nillable="true" type="contact"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="entitlementPolicy">
<xs:sequence>
<xs:element minOccurs="0" ref="entitlement"/>
<xs:element name="registrationRequired" type="xs:int"/>
<xs:element name="rehostAllowed" type="xs:boolean"/>
<xs:element name="rehostTicketRequired" type="xs:boolean"/>
<xs:element minOccurs="0" name="rehostUnit" type="xs:string"/>
<xs:element name="relicenseAllowed" type="xs:boolean"/>
<xs:element name="revocationAllowed" type="xs:boolean"/>
<xs:element minOccurs="0" name="revocationUnit" type="xs:string"/>
<xs:element name="timesRehostAllowed" type="xs:int"/>
<xs:element name="timesRevokeAllowed" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="entitlementLicenseModelAttributeValue">
<xs:sequence>
<xs:element minOccurs="0" name="attribute" type="attribute"/>
<xs:element minOccurs="0" name="attributeValue" type="xs:string"/>
<xs:element minOccurs="0" name="entitlementLicenseModel" type="entitlementLicenseModel"/>
<xs:element minOccurs="0" name="id" type="entitlementLicenseModelAttributeValueId"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="entitlementLicenseModelAttributeValueId">
<xs:sequence>
<xs:element name="attrId" type="xs:int"/>
<xs:element name="entFtrLmid" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</grammars><resources base="http://noi1-501768.sfnt.local:8080/ems/service/catalogServiceRest";><resource path="/catalogServiceRest"><resource path="/add/"><method name="POST"><request><representation mediaType="application/json"><param name="version" style="query" type="xs:string"/><param name="emsnamespace" style="query"/><param name="namespacename" style="query" type="xs:string"/><param name="features" style="query"/><param name="productid" style="query" type="xs:int"/><param name="featuresets" style="query"/><param name="productdescription" style="query" type="xs:string"/><param name="suites" style="query"/><param name="productname" style="query" type="xs:string"/><param name="lifecyclestage" style="query" type="xs:string"/><param name="entitlementitems" style="query"/><param name="entitlementlicensemodel" style="query"/></representation></request><response><representation mediaType="application/json"/><representation mediaType="application/xml"/></response></method></resource></resource></resources></application>

Reply via email to