Hi,
I have an event receiver with custom input mapping as my event format was a 
little different. It has no meta or correlational attributes.  
Example is:
{"ts":"2016-05-08T08:59:47.363764Z",
"uid":"CLuCgz3HHzG7LpLwH9",
"id.orig_h":"172.30.26.119",
"id.orig_p":51976,
"id.resp_h":"172.30.26.160",
"id.resp_p":22,
"version":2,
"client":"SSH-2.0-OpenSSH_5.0",
"server":"SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.6",
"cipher_alg":"arcfour256",
"mac_alg":"hmac-md5",
"compression_alg":"none",
"kex_alg":"diffie-hellman-group-exchange-sha1",
"host_key_alg":"ssh-rsa",
"host_key":"8d:df:71:ac:29:1f:67:6f:f3:dd:c3:e5:2e:5f:3e:b4"}
There is no newline, I have added to make it readable. Accordingly I created an 
event receiver with a custom input mapping :
<?xml version="1.0" encoding="UTF-8"?>
<eventReceiver name="sshlogreceiver" statistics="disable"
    trace="disable" xmlns="http://wso2.org/carbon/eventreceiver";>
    <from eventAdapterType="http">
        <property name="transports">all</property>
    </from>
    <mapping customMapping="enable" type="json">
        <property>
            <from jsonPath="$.ts"/>
            <to name="ts" type="string"/>
        </property>
        <property>
            <from jsonPath="$.uid"/>
            <to name="uid" type="string"/>
        </property>
        <property>
            <from jsonPath="$.id.orig_h"/>
            <to name="id_orig_h" type="string"/>
        </property>
        <property>
            <from jsonPath="$.id.orig_p"/>
            <to name="id_orig_p" type="int"/>
        </property>
        <property>
            <from jsonPath="$.id.resp_h"/>
            <to name="id_resp_h" type="string"/>
        </property>
        <property>
            <from jsonPath="$.id.resp_p"/>
            <to name="id_resp_p" type="int"/>
        </property>
        <property>
            <from jsonPath="$.version"/>
            <to name="version" type="int"/>
        </property>
        <property>
            <from jsonPath="$.client"/>
            <to name="client" type="string"/>
        </property>
        <property>
            <from jsonPath="$.server"/>
            <to name="server" type="string"/>
        </property>
        <property>
            <from jsonPath="$.cipher_alg"/>
            <to name="cipher_alg" type="string"/>
        </property>
        <property>
            <from jsonPath="$.mac_alg"/>
            <to name="mac_alg" type="string"/>
        </property>
        <property>
            <from jsonPath="$.compression_alg"/>
            <to name="compression_alg" type="string"/>
        </property>
        <property>
            <from jsonPath="$.kex_alg"/>
            <to name="kex_alg" type="string"/>
        </property>
        <property>
            <from jsonPath="$.host_key_alg"/>
            <to name="host_key_alg" type="string"/>
        </property>
        <property>
            <from jsonPath="$.host_key"/>
            <to name="host_key" type="string"/>
        </property>
    </mapping>
    <to streamName="SSHInStream" version="1.0.0"/>
</eventReceiver>
The sample event of input stream is :
{
    "event": {
        "payloadData": {
            "ts": "data5",
            "uid": "data5",
            "id_orig_h": "data1",
            "id_orig_p": 70,
            "id_resp_h": "data3",
            "id_resp_p": 4,
            "version": 50,
            "client": "data1",
            "server": "data2",
            "cipher_alg": "data5",
            "mac_alg": "data3",
            "compression_alg": "data3",
            "kex_alg": "data4",
            "host_key_alg": "data4",
            "host_key": "data4"
        }
    }
}
I dont have event and payload tags in my events as it is a simple log file. 
When I try to send events, I got an error on console saying :


ERROR {org.wso2.carbon.event.receiver.core.internal.type.json.JSONInputMapper} 
-  Could not find any matches for the incoming event with JSONPath : 
com.jayway.jsonpath.JsonPath@543abe49 ,hence dropping the event

Have I done custom input mapping wrong or what else I need to do? Regards, 
Aneela Safdar

  
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to