从wso2event

时间:2018-03-20 10:16:22

标签: wso2 siddhi wso2sp

我在wso2 SP上输入了wso2event流,它包含时间戳和有效负载。有效载荷采用xml格式。如何将此有效负载解析为变量?我看到这个文档https://wso2-extensions.github.io/siddhi-map-xml/api/4.0.11/,但我不知道,如何将传入的wso2event传递给sourcemapper,然后将其解析为变量?

2 个答案:

答案 0 :(得分:2)

siddhi-map - * 扩展用于映射源/汇级别的输入/输出事件属性。

由于此xml有效内容是另一个流的属性,因此您可以使用 siddhi-execution-map 扩展名从该xml创建地图。

然后,您可以将sml有效负载作为siddhi app中的hashmap处理。

有关详细信息,请参阅文档[1]。

[1] https://wso2-extensions.github.io/siddhi-execution-map/

答案 1 :(得分:1)

好的,我意识到,Demo createFromXML 功能存在错误。这个函数正确地解析了每个元素上的xml文件,但是HashMap定义很糟糕,因为函数是递归调用的,并且每个循环都在旧映射中创建新映射和覆盖数据。所以最后,只有一个键有地图。

char* GetModulePath()
{
    char* ownPth = new char[MAX_PATH];
    memset(ownPth,0,MAX_PATH); //Write zeroes in the allocated memory
    HMODULE hModule = GetModuleHandle(NULL);

    if (hModule != NULL)
    {
        GetModuleFileName(hModule, ownPth, MAX_PATH);
        //Not using sizeof, because now, ownPth is not a char array, it's a pointer
    }
    return ownPth; // You will need to delete[] it after, else it's a memory leak
}

topLevelMap应该声明为私有全局变量。有人可以在wso2 github上订票来解决这个问题吗?