在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日志上没有有用的消息。
答案 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>]]>