0

我正在研究 Wso2 ESB 和 DataService 服务器。

当我在终端端运行 CURL 命令时,对于 ESB,JSON 如下所示。

{"Body":{"Id":0,"Body":       [{"UserGroupId":-1,"UserGroupCode":"NONE","UserGroupName":"NONE","UserGroupCreatedById":-1,"UserGroupCreatedOn":"/Date(1340024633000)/","UserGroupModifiedById":-1,"UserGroupModifiedOn":"/Date(1340024633000)/","UserGroupSortOrder":9999,"UserGroupStatus":1,"UserGroupVersion":1,"UserGroupSourceType":1,"UserGroupDetailArray":[{"UserGroupDetailId":-1,"UserGroupId":-1,"UserGroupCode":"NONE","UserGroupName":"NONE","UserGroupDetailSlNo":1,"UserId":-1,"UserCode":"GBADMIN","UserName":"Administrator"},{"UserGroupDetailId":-149999779,"UserGroupId":-1799999942,"UserGroupCode":"SHSBCPLUM","UserGroupName":"HSBCMALAD_Plumber","UserGroupDetailSlNo":9,"UserId":-2147483640,"UserCode":"r2416","UserName":"AlexRupan"}]}]},"Current":"","ETag":"","First":"","From":"","Id":"","Last":"","Next":"","Previous":"","ReplyTo":"","Status":200,"To":"","Total":5}

为此,我在 DSS 中尝试使用嵌套查询,但它不起作用。我的Dss如上。enter code here.

    <data name="musergroup_DataService" serviceNamespace="http://ws.wso2.org/dataservice">
   <config id="default">
      <property name="carbon_datasource_name">USCProduction</property>
   </config>

  <query id="selectallusergroups" useConfig="default">
      <sql>select usergroupdetailid as UserGroupDetailId ,musergroup.usergroupid as UserGroupId,usergroupcode as UserGroupCode,usergroupname as UserGroupName,slno as UserGroupDetailSlNo,muser.userid as UserId,usercode as UserCode,username as UserName from muser join musergroupdetail on muser.userid= musergroupdetail.userid join musergroup on musergroupdetail.usergroupid=musergroup.usergroupid</sql>
      <result element="UserGroupDetailArray" rowName="UserGroupDetailArray">
         <element column="UserGroupDetailId" name="UserGroupDetailId" xsdType="integer"/>
         <element column="UserGroupId" name="UserGroupId" xsdType="integer"/>
         <element column="UserGroupCode" name="UserGroupCode" xsdType="string"/>
         <element column="UserGroupName" name="UserGroupName" xsdType="string"/>
         <element column="UserGroupDetailSlNo" name="UserGroupDetailSlNo" xsdType="integer"/>
         <element column="UserId" name="UserId" xsdType="integer"/>
         <element column="UserCode" name="UserCode" xsdType="string"/>
         <element column="UserName" name="UserName" xsdType="string"/>
      </result>
   </query>
   <query id="select_id_columns" useConfig="default">
      <sql>select musergroup.usergroupid as UserGroupId,usergroupcode as UserGroupCode,usergroupname as UserGroupName from musergroup join musergroupdetail on musergroup.usergroupid=musergroupdetail.usergroupid</sql>
      <result element="Body" rowName="Datalist">
         <element column="UserGroupId" name="UserGroupId" xsdType="integer"/>
         <element column="UserGroupCode" name="UserGroupCode" xsdType="string"/>
         <element column="UserGroupName" name="UserGroupName" xsdType="string"/>
         <call-query href="selectallusergroups" requiredRoles=""/>
      </result>
   </query>

   <operation name="selectallusergroups">
      <call-query href="selectallusergroups"/>
   </operation>
   <operation name="select_id_columns">
      <call-query href="select_id_columns"/>
   </operation>
</data>

@我的问题:-如何使用 Dss 在 Esb 代理服务中创建具有端点。

当我在终端端运行 curl 命令时,因为输出高于 JSON。

4

1 回答 1

0

有关如何在 WSO2 DSS 上执行嵌套查询的说明,请参阅 [1] 上的博客文章。

要将 DSS 端的 SOAP 服务公开为 ESB 输出上的 JSON,您可以使用 [2] 上 Wso2 esb 上的示例 440。

[1]。http://dinushasblog.blogspot.com/2012/07/how-to-use-result-of-one-operation-as.html [2]。http://wso2.org/project/esb/java/4.0.3/docs/samples/advanced_mediation_samples.html#Sample440

谢谢你,达沙那。

于 2013-04-03T13:37:31.387 回答