AnsweredAssumed Answered

Issues with Multicardinal Field Splitter Processor Handling XML

Question asked by sethlewistempe on Feb 14, 2020
Latest reply on Mar 26, 2020 by sethlewistempe

I'm having difficulty using the Multicardinal Field Splitter Processor to write to REST a 1:M XML structure. My service handles a file inbound transport whose structure is shown in the pseudo XML below.

 

<Incident>
    <Other>
       <Incident_Number></Incident_Number>
    </Other>
       <Units>
    <Unit>
        <Unit_Id>Value 1</Unit_Id>
        <Notified_Dttm></Notified_Dttm>
        <Enroute_Dttm></Enroute_Dttm>
        <Cancelled></Cancelled>
        <Cancelled_Dttm/>
        <Arrival_Dttm></Arrival_Dttm>
        <Patient_Arrival_Dttm/>
        <Enroute_Destination_Dttm/>
        <Arrive_Destination_Dttm/>
        <Cleared_Dttm/>
        <Transfer_Of_Care_Dttm/>
        <In_Service_Dttm/>
        <Home_Dttm/>
        <Hours></Hours>
        <Mileage></Mileage>
        <Lights_Sirens_To_Scene/>
        <Unit_Role/>
        <Notes/>
        </Unit>
       <Unit>
        <Unit_Id>Value 2</Unit_Id>
        <Notified_Dttm></Notified_Dttm>
        <Enroute_Dttm></Enroute_Dttm>
        <Cancelled></Cancelled>
        <Cancelled_Dttm/>
        <Arrival_Dttm></Arrival_Dttm>
        <Patient_Arrival_Dttm/>
        <Enroute_Destination_Dttm/>
        <Arrive_Destination_Dttm/>
        <Cleared_Dttm/>
        <Transfer_Of_Care_Dttm/>
        <In_Service_Dttm/>
        <Home_Dttm/>
        <Hours></Hours>
        <Mileage></Mileage>
        <Lights_Sirens_To_Scene/>
        <Unit_Role/>
        <Notes/>
        </Unit>
    <Unit>
        <Unit_Id>Value 3</Unit_Id>
        <Notified_Dttm></Notified_Dttm>
        <Enroute_Dttm></Enroute_Dttm>
        <Cancelled></Cancelled>
        <Cancelled_Dttm/>
        <Arrival_Dttm></Arrival_Dttm>
        <Patient_Arrival_Dttm/>
        <Enroute_Destination_Dttm/>
        <Arrive_Destination_Dttm/>
        <Cleared_Dttm/>
        <Transfer_Of_Care_Dttm/>
        <In_Service_Dttm/>
        <Home_Dttm/>
        <Hours></Hours>
        <Mileage></Mileage>
        <Lights_Sirens_To_Scene/>
        <Unit_Role/>
        <Notes/>
        </Unit>
    </Units>
</Incident>

Here's the simple service I'm going for (below). When the XML is processed by the input, I'd like for 1 process to map its geometry and incident_number fields to a simple flattened table in a RDBMS. I'd like the multicardinal field splitter to parse out the 1:M records to a flat table in the same RDBMS that's linked via a relationship class. I need to preserve the incident_number element from the <Other> grouping to make the 1:M relationship with the geometry table work.

Sample GeoEvent ServiceWith the latest release of this processor, only the first childIndex value is returned. I've seen this behavior in both the Feature Service Output shown above as well as with a simple File JSON output on the same server. What am I missing in how to address this (admittedly simple) workflow? Lastly here's the definition that GeoEvent creates upon ingesting the XML.

 

Sample Definition

 

Could the issue be due to Unit being seen as a Group as well, event after the Multicardinal Splitter drops Units?

 

RJ Sunderman I'm wondering if anything stands out about how I'm approaching this.

Outcomes