Hi Kasun,

Is your stored procedure gives only one contact person every time?
if it is only one person, then I don't think it will be a bad practice.

Regards

On Fri, May 8, 2015 at 1:55 AM, Kasun De Silva <[email protected]> wrote:

> Hi Devs,
>
> Say I have a DSS service as follows,
>
> <data name="EPAGetContactPersonDS" serviceNamespace="
> services.info.epa.mydeq.azdeq.gov">
>     <config id="MyDeqAzuriteDS">
>         <property name="carbon_datasource_name">MyDeqAzuriteDS</property>
>     </config>
>     <query id="getContactPerson" useConfig="MyDeqAzuriteDS">
>         <sql>call ARD_MYDEQ_EPAID_SUMMARY_PKG.get_contact_person(?, ?, ?,
> ?, ?, ?)</sql>
>         <result defaultNamespace="http://mydeq.azdeq.gov/epa/info/data";
> element="contact_person_info" rowName="contact_person">
>             <element column="CUS_IDNO" name="cus_idno" xsdType="xs:string"
> optional="true"/>
>             <element column="CUSNAM_IDNO" name="cusnam_idno"
> xsdType="xs:string" optional="true"/>
>             <element column="PLCNAM_IDNO" name="plcnam_idno"
> xsdType="xs:string" optional="true"/>
>             <element column="ADDRESS_LINE1" name="address1"
> xsdType="xs:string" optional="true"/>
>             <element column="ADDRESS_LINE2" name="address2"
> xsdType="xs:string" optional="true"/>
>             <element column="CITY" name="city" xsdType="xs:string"
> optional="true"/>
>             <element column="STATE" name="state" xsdType="xs:string"
> optional="true"/>
>             <element column="COUNTRY_CODE" name="country"
> xsdType="xs:string" optional="true"/>
>             <element column="POSTAL_CODE" name="zip" xsdType="xs:string"
> optional="true"/>
>             <element column="PLUS4" name="plus4" xsdType="xs:string"
> optional="true"/>
>             <element column="START_DATE" name="start_date"
> xsdType="xs:string" optional="true"/>
>             <element column="CUS_EMAIL" name="email" xsdType="xs:string"
> optional="true"/>
>             <element column="CATEGORY" name="category" xsdType="xs:string"
> optional="true"/>
>             <element column="LAST_NAME" name="last_name"
> xsdType="xs:string" optional="true"/>
>             <element column="FIRST_NAME" name="first_name"
> xsdType="xs:string" optional="true"/>
>             <element column="MIDDLE_I" name="middle_initial"
> xsdType="xs:string" optional="true"/>
>             <element column="PREFIX" name="prefix" xsdType="xs:string"
> optional="true"/>
>             <element column="SUFFIX" name="suffix" xsdType="xs:string"
> optional="true"/>
>             <element column="KNOWN_AS" name="known_as" xsdType="xs:string"
> optional="true"/>
>             <element column="TITLE" name="title" xsdType="xs:string"
> optional="true"/>
>             <element column="COMPANY_NAME" name="company_name"
> xsdType="xs:string" optional="true"/>
>             <element column="AREA_CODE" name="phone_area_code"
> xsdType="xs:string" optional="true"/>
>             <element column="PHONE" name="phone_number"
> xsdType="xs:string" optional="true"/>
>             <element column="EXT" name="phone_ext" xsdType="xs:string"
> optional="true"/>
>             <element column="PHONE_TYPE" name="phone_type"
> xsdType="xs:string" optional="true"/>
>         </result>
>         <param name="p_place_idno" sqlType="INTEGER"/>
>         <param name="p_cus_idno" sqlType="INTEGER"/>
>         <param name="p_epaid" sqlType="STRING"/>
>         <param name="p_contact" sqlType="ORACLE_REF_CURSOR" type="OUT"/>
>         <param name="p_err_code" sqlType="STRING" type="OUT"/>
>         <param name="p_err_msg" sqlType="STRING" type="OUT"/>
>     </query>
>     <resource method="GET"
> path="getContactPerson/{p_place_idno}/{p_cus_idno}/{p_epaid}">
>         <call-query href="getContactPerson">
>             <with-param name="p_place_idno" query-param="p_place_idno"/>
>             <with-param name="p_cus_idno" query-param="p_cus_idno"/>
>             <with-param name="p_epaid" query-param="p_epaid"/>
>         </call-query>
>     </resource>
> </data>
>
>
> From this service I get a response as below,
>
> {
>     "contact_person_info": {
>         "contact_person": [
>             {
>                 "cus_idno": "#####",
>                 "cusnam_idno": "#########",
>                 "plcnam_idno": ######,
>                 "address1": "############",
>                 "address2": #############,
>                 "city": "#############",
>                 "state": "##########",
>                 "country": "########",
>                 "zip": ####,
>                 "plus4": ####,
>                 "start_date": "#######",
>                 "email": ####,
>                 "category": "####",
>                 "last_name": "####",
>                 "first_name": "#### ",
>                 "middle_initial": ###,
>                 "prefix": ####,
>                 "suffix": ####,
>                 "known_as": ####,
>                 "title": ####,
>                 "company_name": ####,
>                 "phone_area_code": "#####",
>                 "phone_number": "####",
>                 "phone_ext": "####",
>                 "phone_type": "#####"
>             }
>         ]
>     }
> }
>
>
> But In my use case I want the the following response instead of the above.
>
> {
>     "contact_person": {
>                 "cus_idno": "#####",
>                 "cusnam_idno": "#########",
>                 "plcnam_idno": ######,
>                 "address1": "############",
>                 "address2": #############,
>                 "city": "#############",
>                 "state": "##########",
>                 "country": "########",
>                 "zip": ####,
>                 "plus4": ####,
>                 "start_date": "#######",
>                 "email": ####,
>                 "category": "####",
>                 "last_name": "####",
>                 "first_name": "#### ",
>                 "middle_initial": ###,
>                 "prefix": ####,
>                 "suffix": ####,
>                 "known_as": ####,
>                 "title": ####,
>                 "company_name": ####,
>                 "phone_area_code": "#####",
>                 "phone_number": "####",
>                 "phone_ext": "####",
>                 "phone_type": "#####"
>     }
> }
>
> New response doesn't has "contact_person_info"  element and simple change
> in the JSON format in the response.
>
> I was able to generate the response as I wanted by changing the result tag
> as following,
>
> <result defaultNamespace="http://mydeq.azdeq.gov/epa/info/data"; 
> element="contact_person_info"
> rowName="contact_person">
>
> to
>
> <result defaultNamespace="http://mydeq.azdeq.gov/epa/info/data";
> element="contact_person">
>
>
>
> I just wanted to check whether this is a good practice from DSS
> perspective as in not having a rowName, and whether this could cause any
> issues, Any thoughts ?
>
>
> Thanks,
> Kasun
>
> *Kasun de Silva*
> Software Engineer | *WSO2 Inc.*; http://wso2.com
> lean.enterprise.middleware
>
> email   : [email protected]
> mobile : +94 77 794 4260
>
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
*Madhawa Gunasekara*
Software Engineer
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware

mobile: +94 719411002 <+94+719411002>
blog: *http://madhawa-gunasekara.blogspot.com
<http://madhawa-gunasekara.blogspot.com>*
linkedin: *http://lk.linkedin.com/in/mgunasekara
<http://lk.linkedin.com/in/mgunasekara>*
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to