如何使用管理API创建WSO2 DAS事件接收器

时间:2016-02-11 18:06:31

标签: wso2 wso2-das

在Carbon配置文件上将HideAdminServiceWSDLs设置为false后,可以发现EventReceiverAdminService服务端点。它公开deployEventReceiverConfiguration方法。任何人都可以提供一个如何在多租户上下文中使用此服务的示例吗?我尝试调用该服务,但每次得到以下响应:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <soapenv:Fault>
         <faultcode>soapenv:Server</faultcode>
         <faultstring>unknown</faultstring>
         <detail/>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope> 

并且在DAS日志上没有有用的消息。

1 个答案:

答案 0 :(得分:1)

您需要提供事件接收器的XML配置。我尝试使用SOAP UI进行以下操作,它可以工作。

`name`, `option`

                       

在多租户环境中,使用相应的租户管理员凭据进行基本身份验证。然后它将在正确的租户中部署事件接收器。部署DAS时将按如下方式打印日志,

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adm="http://admin.receiver.event.carbon.wso2.org">
   <soapenv:Header/>
   <soapenv:Body>
      <adm:deployEventReceiverConfiguration>
         <!--Optional:-->
         <adm:eventReceiverConfigXml><![CDATA[<eventReceiver xmlns="http://wso2.org/carbon/eventreceiver" name="httpReceiver" statistics="disable" trace="disable">
   <from eventAdapterType="http">
      <property name="transports">all</property>
   </from>
   <mapping customMapping="disable" type="json" />
   <to streamName="org.wso2.event.sensor.stream" version="1.0.0" />
</eventReceiver>]]>