【问题标题】:Error at server side while executing dss query执行 dss 查询时服务器端出错
【发布时间】:2014-07-18 17:08:58
【问题描述】:

我正在使用 wso2dss 3.1.0 和 wso2esb 4.7.0。我希望从 esb 触发选择。我在 dss 和 dbs 中编写了选择查询,就像这样:

 <query id="Capp_select_emercontactid" useConfig="default">
      <sql>select userid,mailid,phonenumber from muser where phonenumber = ? or mailid = ?</sql>
      <result element="Entries" rowName="Entry">
         <element column="userid" name="userid" xsdType="string"/>
         <element column="mailid" name="mailid" xsdType="string"/>
         <element column="phonenumber" name="phonenumber" xsdType="string"/>
      </result>
      <param name="phonenumber" ordinal="1" sqlType="STRING"/>
      <param name="mailid" ordinal="2" sqlType="STRING"/>
   </query>

 <operation disableStreaming="true" name="Capp_select_emercontactid_op">
      <call-query href="Capp_select_emercontactid">
         <with-param name="phonenumber" query-param="phonenumber"/>
         <with-param name="mailid" query-param="mailid"/>
      </call-query>
   </operation>

在 dss 中运行良好。 现在我已经在 esb 中编写了一个有效载荷,例如:

               <payloadFactory>
                  <format>
                     <p:Capp_select_emercontactid_op xmlns:p="http://ws.wso2.org/dataservice">
                        <p:phonenumber>$1</p:phonenumber>
                        <p:mailid>$2</p:mailid>
                     </p:Capp_select_emercontactid_op>
                  </format>
                  <args>
                     <arg expression="get-property('phoneno1')" evaluator="xml"/>
                     <arg expression="get-property('mailid1')" evaluator="xml"/>
                  </args>
               </payloadFactory>
               <log level="full"/>
               <send>
                  <endpoint>
                     <address uri="http://localhost:9764/services/Capp_MuserDataservice/" format="soap11"/>
                  </endpoint>
               </send>

当我点击这个代理时它没有给出响应..为什么会这样?配置正确吗?请告诉我

【问题讨论】:

    标签: sql postgresql wso2esb wso2dss


    【解决方案1】:

    我从来没有在 DSS 中使用发送中介。您是否可以考虑改用 CalloutMediator(它是一个同步发送/响应调用,因此如果您想要立即响应您的客户,您可能需要在之后使用响应中介)。

    它看起来像:

        <callout xmlns="http://ws.apache.org/ns/synapse" action="Capp_select_emercontactid_op">
           <source xmlns:p="http://ws.wso2.org/dataservice" xpath="//p:Capp_select_emercontactid_op"/>
           <target xmlns:p="http://ws.wso2.org/dataservice" xpath="//p:Capp_select_emercontactid_op"/>
        </callout>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 2019-05-31
      • 1970-01-01
      • 1970-01-01
      • 2017-04-26
      • 1970-01-01
      相关资源
      最近更新 更多