使用内部联接创建数据服务

时间:2017-01-19 15:21:20

标签: wso2 wso2dss dss

我尝试使用内部联接查询创建服务,但它返回此错误:

org.postgresql.util.PSQLException: A result was returned when none was expected.

这是我的服务:

<data name="consultarPersona" transports="http https local">
   <config enableOData="true" id="mi_datasource">
      <property name="carbon_datasource_name">fuente_datos</property>
   </config>
   <query id="contactos_registrados" useConfig="mi_datasource">
      <sql>select * from t_contacto inner join t_datos_contacto on t_contacto.id = t_datos_contacto.id</sql>
   </query>
   <operation name="obtenerDatosContactos">
      <call-query href="contactos_registrados"/>
   </operation>
</data>

1 个答案:

答案 0 :(得分:1)

您应该指定要返回的列并生成响应,结果是这样的服务:

<data name="consultarPersona" transports="http https local">
   <config enableOData="true" id="mi_datasource">
      <property name="carbon_datasource_name">fuente_datos</property>
   </config>
   <query id="contactos_registrados" useConfig="mi_datasource">
      <sql>select name, age from t_contacto inner join t_datos_contacto on t_contacto.id = t_datos_contacto.id</sql>
      <result element="contactoCollection" rowName="contacto">
         <element column="name" name="name" xsdType="xs:string"/>
         <element column="age" name="age" xsdType="xs:string"/>
      </result>
   </query>
   <operation name="obtenerDatosContactos">
      <call-query href="contactos_registrados"/>
   </operation>
</data>

我希望这可以帮助你。