Hi,

+1 for what Madhawa said, if you're sure, you're receiving only one result
entry, then it is correct.

Cheers,
Anjana.

On Fri, May 8, 2015 at 7:58 AM, Madhawa Gunasekara <madha...@wso2.com>
wrote:

> Adding Rajith and Anjana
>
> On Fri, May 8, 2015 at 7:57 AM, Madhawa Gunasekara <madha...@wso2.com>
> wrote:
>
>> 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 <kas...@wso2.com> 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   : kas...@wso2.com
>>> mobile : +94 77 794 4260
>>>
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> Dev@wso2.org
>>> 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>*
>>
>
>
>
> --
> *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>*
>



-- 
*Anjana Fernando*
Senior Technical Lead
WSO2 Inc. | http://wso2.com
lean . enterprise . middleware
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to