在WSO2 ESB项目中DSS服务调用的调用中,这个头中介器究竟是如何工作的?

在WSO2 ESB项目中DSS服务调用的调用中,这个头中介器究竟是如何工作的?,wso2,integration,wso2esb,wso2dss,Wso2,Integration,Wso2esb,Wso2dss,我是WSO2的新手,我有以下疑问 我正在从事一个ESB项目。在链中有一个标题中介 <?xml version="1.0" encoding="UTF-8"?> <api context="/glisTest2" name="glisTest2" xmlns="http://ws.apache.org/ns/synapse"> <resource methods="GET"> <inSequence>

我是WSO2的新手,我有以下疑问

我正在从事一个ESB项目。在链中有一个标题中介

<?xml version="1.0" encoding="UTF-8"?>
<api context="/glisTest2" name="glisTest2" xmlns="http://ws.apache.org/ns/synapse">
    <resource methods="GET">
        <inSequence>
            <!-- Create empty message to get all samples from DSS -->
            <payloadFactory media-type="xml">
                <format>
                    <body/>
                </format>
                <args>
                    <arg evaluator="xml" expression="get-property('uri.var.int_val')" xmlns:ns="http://org.apache.synapse/xsd" xmlns:ns3="http://org.apache.synapse/xsd"/>
                </args>
            </payloadFactory>

            <!-- 
                 Adding an header that defines the action related to the "FindNotProcessed" DSS service
                 used to retrieve all the unprocessed resource on the DB. 
             -->
            <header name="Action" scope="default" value="urn:FindNotProcessed"/>

               ...................................................................
               ...................................................................
               ...................................................................
        </inSequence>

...................................................................
...................................................................
...................................................................
因此,正如您所看到的,中介链接在payloadFactory中介构建一条必须发送到DSS服务的空消息之后

标题中介:

<header name="Action" scope="default" value="urn:FindNotProcessed"/>

添加一个标头,指定必须在DSS服务上调用的操作名称,此操作实际上命名为FindNotProcessed,并与定义的查询相关联

好吧,我的疑问是:

1) value属性的值指定必须在DSS服务上执行的操作的名称,在这种情况下,该值为urn:FindNotProcessed

放在要执行的操作名称之前的urn:前缀的确切含义是什么

2) 标题中介定义也包含此属性name=“Action”

究竟代表什么?它是否类似于中介名称或值必须设置为操作,以获得某些语义含义?该字段是否只是一个名称,或者是否存在一组具有语义行为的可能值

3) 因此,要调用DSS服务,支持方法是:使用payloadFactory中介创建消息,使用标题中介链接它,该中介指定必须在DSS服务上执行的操作的名称,然后链接执行调用的调出中介。我已经用这种方式完成了,并且有效,这是标准的方式吗?

1)urn:FindNotProcessed是SOAPAction名称,在web服务WSDL中定义urn:只是该名称的一部分,它看起来像名称空间,但实际上不是

2) 通过设置name=“Action”您可以知道您正在设置哪个HTTP头。在这种情况下,它将设置SOAPAction:urn:FindNotProcessed

3) 没错,但您不仅可以使用调出,还可以使用发送调用中介,具体取决于您的逻辑