执行dss查询时服务器端出错

时间:2014-06-25 07:22:40

标签: sql postgresql wso2esb wso2dss

我使用的是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>

当我点击此代理时,它没有给出答案。为什么?是否配置正确?请告诉我

1 个答案:

答案 0 :(得分: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>