We are getting this relentless 500 error on a coldfusion site. We are using Coldfusion 9.0.1 and only when we submit a form to update a database table we get this error. Only one page causes it, but there is nothing in the logs indicating what happened.
I turned on detailed errors for this one site and I see that the error is caused by the JWildCardHandler with error code 0x00000000.
I've checked permissions on everything. Even on the Access DB that is being used.
I tried this same code and database on another server and I receive no error at all. I tried making sure the config was the exact same for IIS and CF on both servers and still get the error.
Any ideas? There just seems to be no reason that it's throwing this error.
Here is the form processing page that is causing the error. Really not much, just some basic queries:
<cfquery datasource="#Datasource#" name="UpdateTheTable">
UPDATE Our_table SET
#Est# = #PreserveSingleQuotes(EstValue)#,
Username = '#CurrentUser.Username#',
DateCurrent = NOW()
WHERE Attribute1=#CurrentUser.Attribute1ID# AND Attribute2=#Attribute2ID#;
</cfquery>
Here is our stack trace:
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type='text/xsl' href='freb.xsl'?>
<!-- saved from url=(0014)about:internet -->
<failedRequest url="http://oursite.domain.com:80/subdir/index.cfm"
siteId="8"
appPoolId="subdir"
processId="13528"
verb="POST"
remoteUserName=""
userName=""
tokenUserName="NT AUTHORITY\IUSR"
authenticationType="anonymous"
activityId="{00000000-0000-0000-7E06-0080000000E2}"
failureReason="STATUS_CODE"
statusCode="500"
triggerStatusCode="500"
timeTaken="202"
xmlns:freb="http://schemas.microsoft.com/win/2006/06/iis/freb"
>
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="WWW Server" Guid="{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83}"/>
<EventID>0</EventID>
<Version>1</Version>
<Level>0</Level>
<Opcode>1</Opcode>
<Keywords>0x0</Keywords>
<TimeCreated SystemTime="2013-04-22T13:36:17.490Z"/>
<Correlation ActivityID="{00000000-0000-0000-7E06-0080000000E2}"/>
<Execution ProcessID="13528" ThreadID="13628"/>
<Computer>Server1</Computer>
</System>
<EventData>
<Data Name="ContextId">{00000000-0000-0000-7E06-0080000000E2}</Data>
<Data Name="SiteId">8</Data>
<Data Name="AppPoolId">subdir</Data>
<Data Name="ConnId">1610614393</Data>
<Data Name="RawConnId">0</Data>
<Data Name="RequestURL">http://oursite.domain.com:80/subdir/index.cfm</Data>
<Data Name="RequestVerb">POST</Data>
</EventData>
<RenderingInfo Culture="en-US">
<Opcode>GENERAL_REQUEST_START</Opcode>
</RenderingInfo>
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace">
<EventGuid>{D42CF7EF-DE92-473E-8B6C-621EA663113A}</EventGuid>
</ExtendedTracingInfo>
</Event>
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="WWW Server" Guid="{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83}"/>
<EventID>0</EventID>
<Version>1</Version>
<Level>0</Level>
<Opcode>12</Opcode>
<Keywords>0x0</Keywords>
<TimeCreated SystemTime="2013-04-22T13:36:17.490Z"/>
<Correlation ActivityID="{00000000-0000-0000-7E06-0080000000E2}"/>
<Execution ProcessID="13528" ThreadID="13628"/>
<Computer>Server1</Computer>
</System>
<EventData>
<Data Name="ContextId">{00000000-0000-0000-7E06-0080000000E2}</Data>
</EventData>
<RenderingInfo Culture="en-US">
<Opcode>GENERAL_ISAPI_HANDLER</Opcode>
</RenderingInfo>
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace">
<EventGuid>{D42CF7EF-DE92-473E-8B6C-621EA663113A}</EventGuid>
</ExtendedTracingInfo>
</Event>
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="WWW Server" Guid="{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83}"/>
<EventID>0</EventID>
<Version>1</Version>
<Level>0</Level>
<Opcode>1</Opcode>
<Keywords>0x0</Keywords>
<TimeCreated SystemTime="2013-04-22T13:36:17.599Z"/>
<Correlation ActivityID="{00000000-0000-0000-7E06-0080000000E2}"/>
<Execution ProcessID="13528" ThreadID="13628"/>
<Computer>Server1</Computer>
</System>
<EventData>
<Data Name="ContextId">{00000000-0000-0000-7E06-0080000000E2}</Data>
</EventData>
<RenderingInfo Culture="en-US">
<Opcode>ISAPI_START</Opcode>
</RenderingInfo>
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace">
<EventGuid>{2E94E6C7-EDA0-4B73-9010-2529EDCE1C27}</EventGuid>
</ExtendedTracingInfo>
</Event>
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="ISAPI Extension" Guid="{A1C2040E-8840-4C31-BA11-9871031A19EA}"/>
<EventID>0</EventID>
<Version>1</Version>
<Level>0</Level>
<Opcode>1</Opcode>
<Keywords>0x0</Keywords>
<TimeCreated SystemTime="2013-04-22T13:36:17.599Z"/>
<Correlation ActivityID="{00000000-0000-0000-7E06-0080000000E2}"/>
<Execution ProcessID="13528" ThreadID="13628"/>
<Computer>Server1</Computer>
</System>
<EventData>
<Data Name="ContextId">{00000000-0000-0000-7E06-0080000000E2}</Data>
<Data Name="DllName">C:\ColdFusion9\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll</Data>
</EventData>
<RenderingInfo Culture="en-US">
<Opcode>CALL_ISAPI_EXTENSION</Opcode>
</RenderingInfo>
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace">
<EventGuid>{ACADE3B2-B7D7-4339-956C-811B4EDB1B24}</EventGuid>
</ExtendedTracingInfo>
</Event>
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="ISAPI Extension" Guid="{A1C2040E-8840-4C31-BA11-9871031A19EA}"/>
<EventID>0</EventID>
<Version>1</Version>
<Level>0</Level>
<Opcode>2</Opcode>
<Keywords>0x0</Keywords>
<TimeCreated SystemTime="2013-04-22T13:36:17.614Z"/>
<Correlation ActivityID="{00000000-0000-0000-7E06-0080000000E2}"/>
<Execution ProcessID="13528" ThreadID="13628"/>
<Computer>Server1</Computer>
</System>
<EventData>
<Data Name="ContextId">{00000000-0000-0000-7E06-0080000000E2}</Data>
</EventData>
<RenderingInfo Culture="en-US">
<Opcode>ISAPI_EXTENSION_DONE</Opcode>
</RenderingInfo>
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace">
<EventGuid>{ACADE3B2-B7D7-4339-956C-811B4EDB1B24}</EventGuid>
</ExtendedTracingInfo>
</Event>
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="WWW Server" Guid="{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83}"/>
<EventID>0</EventID>
<Version>1</Version>
<Level>0</Level>
<Opcode>2</Opcode>
<Keywords>0x0</Keywords>
<TimeCreated SystemTime="2013-04-22T13:36:17.614Z"/>
<Correlation ActivityID="{00000000-0000-0000-7E06-0080000000E2}"/>
<Execution ProcessID="13528" ThreadID="13628"/>
<Computer>Server1</Computer>
</System>
<EventData>
<Data Name="ContextId">{00000000-0000-0000-7E06-0080000000E2}</Data>
</EventData>
<RenderingInfo Culture="en-US">
<Opcode>ISAPI_END</Opcode>
</RenderingInfo>
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace">
<EventGuid>{2E94E6C7-EDA0-4B73-9010-2529EDCE1C27}</EventGuid>
</ExtendedTracingInfo>
</Event>
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="WWW Server" Guid="{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83}"/>
<EventID>0</EventID>
<Version>1</Version>
<Level>0</Level>
<Opcode>33</Opcode>
<Keywords>0x0</Keywords>
<TimeCreated SystemTime="2013-04-22T13:36:17.614Z"/>
<Correlation ActivityID="{00000000-0000-0000-7E06-0080000000E2}"/>
<Execution ProcessID="13528" ThreadID="13628"/>
<Computer>Server1</Computer>
</System>
<EventData>
<Data Name="ContextId">{00000000-0000-0000-7E06-0080000000E2}</Data>
<Data Name="HttpStatus">500</Data>
<Data Name="HttpSubStatus">0</Data>
<Data Name="FileNameOrURL">500.htm</Data>
</EventData>
<RenderingInfo Culture="en-US">
<Opcode>GENERAL_SEND_CUSTOM_ERROR</Opcode>
</RenderingInfo>
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace">
<EventGuid>{D42CF7EF-DE92-473E-8B6C-621EA663113A}</EventGuid>
</ExtendedTracingInfo>
</Event>
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="WWW Server" Guid="{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83}"/>
<EventID>0</EventID>
<Version>1</Version>
<Level>0</Level>
<Opcode>2</Opcode>
<Keywords>0x0</Keywords>
<TimeCreated SystemTime="2013-04-22T13:36:17.692Z"/>
<Correlation ActivityID="{00000000-0000-0000-7E06-0080000000E2}"/>
<Execution ProcessID="13528" ThreadID="13628"/>
<Computer>Server1</Computer>
</System>
<EventData>
<Data Name="ContextId">{00000000-0000-0000-7E06-0080000000E2}</Data>
<Data Name="BytesSent">6428</Data>
<Data Name="BytesReceived">4864</Data>
<Data Name="HttpStatus">500</Data>
<Data Name="HttpSubStatus">0</Data>
</EventData>
<RenderingInfo Culture="en-US">
<Opcode>GENERAL_REQUEST_END</Opcode>
</RenderingInfo>
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace">
<EventGuid>{D42CF7EF-DE92-473E-8B6C-621EA663113A}</EventGuid>
</ExtendedTracingInfo>
</Event>
</failedRequest>
I recently ran into the same problem, same error, same 0x00000000 error code, same even down to the occurrence on a single form (other forms were working fine). The problem boiled down to the "postParametersLimit" setting in CF's neo-runtime.xml. The form data was exceeding the limit, causing CF to reject the request, and surfacing the error at the point of the JWildCardHandler handler. I simply increased the postParametersLimit in neo-runtime (using Notepad, just do a text search for that parameter name in the xml file. You'll see the value for it. Change. Save.) and restarted the CF services. All is good. I am running 64bit CF9.0.2 on load-balanced 64bit Win2008 R2 servers. Good luck.
Related
Below is my request body xml and I am making rest call with this request. Having custom LoggingInterceptor to log the request and response. I want to mask the user and password in logs.
<login><credentials user="user" Password="pass"/></login>
private void traceRequest(final HttpRequest request, final byte[] body) throws IOException {
logger.trace(
String.format(
"REQUEST uri=%s, method=%s, requestBody=%s",
request.getURI(),
request.getMethod(),
new String(body, "UTF-8")));
}
Currently I am printing my logs like below:
LoggingRequestInterceptor - REQUEST uri=http://localhost:8080/, method=POST, requestBody=<login><credentials user="user" Password="pass"/></login>
Below is my logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">
<property name="logFile" value="logs/employee.log" />
<property name="logFile-WS" value="logs/employee-ws.log" />
<appender name="employee" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${logFile}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${logFile}.%d{yyyy-MM-dd}.gz</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d [%thread] %-5level %logger{64} - %msg%n</pattern>
</encoder>
</appender>
<appender name="mainAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${logFile-WS}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${logFile-WS}.%d{yyyy-MM-dd}.gz</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d [%thread] %-5level %logger{64} - %replace(%msg){'having masking logic for other property'}%n</pattern>
</encoder>
</appender>
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name="org.springframework.ws.client.MessageTracing" level="TRACE" additivity="false">
<appender-ref ref="mainAppender" />
</logger>
<logger name="org.springframework.ws.server.MessageTracing" level="TRACE" additivity="false">
<appender-ref ref="mainAppender" />
</logger>
<logger name="com.employee.LoggingRequestInterceptor" level="TRACE" additivity="false">
<appender-ref ref="mainAppender" />
</logger>
<root level="${root-log-level:-INFO}">
<appender-ref ref="stdout"/>
<appender-ref ref="mainAppender"/>
</root>
</configuration>
Please someone help me to solve this. Note: I am using spring boot 2 and slf4j logger
Referring to Mask sensitive data in logs with logback
Add logback-spring.xml in your project.
Customize regular expression in the <patternsProperty> value to match the content your want to mask.
Add the MaskingPatternLayout class (Use the updated one, the one in the beginning is not working) from the above answer
logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="Console"
class="ch.qos.logback.core.ConsoleAppender">
<encoder
class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="com.example.springboot.MaskingPatternLayout">
<patternsProperty>(?:user|Password)="([a-zA-Z0-9]+)"
</patternsProperty>
<pattern>%d [%thread] %-5level %logger{35} - %msg%n</pattern>
</layout>
</encoder>
</appender>
<!-- LOG everything at INFO level -->
<root level="info">
<appender-ref ref="Console" />
</root>
</configuration>
HelloController class to test
#RestController
public class HelloController {
private static final Logger logger = LoggerFactory.getLogger(HelloController.class);
#RequestMapping("/")
public String index() {
logger.info("<login><credentials user=\"user\" Password=\"pass\"/></login>");
return "Greetings from Spring Boot!";
}
}
Expected output
2020-04-13 12:38:47,511 [http-nio-8080-exec-1] INFO c.e.springboot.HelloController - <login><credentials user="****" Password="****"/></login>
Update
Please check if "console" should be "stdout"
<root level="${root-log-level:-INFO}">
<appender-ref ref="console"/>
<appender-ref ref="mainAppender"/>
</root>
As no appender with name "console" is found.
Suppose the logger is in LoggingRequestInterceptor, you need to add the "stdout" appender also.
<logger name="com.employee.LoggingRequestInterceptor"
level="TRACE" additivity="false">
<appender-ref ref="stdout" />
<appender-ref ref="mainAppender" />
</logger>
I have added pattern with replace in logback.xml. It's masked user and password
<encoder>
<pattern>%d [%thread] %-5level %logger{64} - %replace( %replace( %replace(%msg){'user="[^"]+"', 'user=*****'} ){'Password="[^"]+"', 'Password=*****'} ){'my another pattern', 'replacement'}%n</pattern>
</encoder>
I have been struggling with the null pointer for hours! It happened when I used the getLayer() method to get a layer from the tiled map in cocos2d-x (the tailed map is edited using the Tailed Map Editor).
map = TMXTiledMap::create("map/map1.tmx");
map->setAnchorPoint(Vec2(0.5, 0.5));
map->setPosition(Vec2(visibleSize.width / 2, visibleSize.height / 2 - 40));
this->addChild(map, 0, 100);
collidable = map->getLayer("collide")
collidable->setVisible(false);
The program didn't find the "collide" layer (it's a tiled layer) in my tailed map. However, it indeed exists in the TMX file :
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.0" tiledversion="1.1.5" orientation="orthogonal" renderorder="right-down" width="24" height="18" tilewidth="40" tileheight="40" infinite="0" nextlayerid="14" nextobjectid="2">
<tileset firstgid="1" name="Background" tilewidth="40" tileheight="40" tilecount="7" columns="7">
<image source="mapItems/background.png" width="280" height="40"/>
</tileset>
<tileset firstgid="8" name="tiles" tilewidth="40" tileheight="40" tilecount="16" columns="8">
<image source="mapItems/tiles.png" width="320" height="80"/>
</tileset>
<tileset firstgid="24" source="mapItems/collide.tsx"/>
<layer id="5" name="background" width="24" height="18">
<data encoding="base64" compression="zlib">
...(some code)
</layer>
<layer id="11" name="collide" width="24" height="18">
<properties>
<property name="collidable" value="true"/>
</properties>
<data encoding="base64" compression="zlib">
...
</data>
</layer>
<layer id="6" name="bricks" width="24" height="18">
<data encoding="base64" compression="zlib">
...
</data>
</layer>
<layer id="7" name="tops" width="24" height="18">
<data encoding="base64" compression="zlib">
...
</data>
</layer>
</map>
Moreover, I set breakpoint in the getLayer() method, and the program traverses and find all layers except the collide layer. Anyone can show me how to deal with this issue?
Okay, finally I solve this problem (4 hours since it occurred)... Despite I don't even know why.
The solution is editing the collide.tsx file. I tried to read it and found a sentence:
<image source="collide.png" trans=ff00ff width="40" height="40"/>
And this "trans=" seemed quite weird... So I deleted it. Then the issue was resolved.
I'm a newbie to web services. I'm using ColdFusion 2016 and want to make a call to this service url: https://apitest.authorize.net/xml/v1/request.api. This service is written in C#. How can I call a service, from ColdFusion, which is written in other language?
One more thing, I want pass the below xml data as input. How can I do this?
<createTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>API LOGIN ID</name>
<transactionKey>TRANSACTION KEY</transactionKey>
</merchantAuthentication>
<transactionRequest>
<transactionType>authCaptureTransaction</transactionType>
<amount>139.94</amount>
<payment>
<creditCard>
<cardNumber>5424000000000015</cardNumber>
<expirationDate>1220</expirationDate>
<cardCode>999</cardCode>
</creditCard>
</payment>
<order>
<invoiceNumber>INV-12345</invoiceNumber>
<description>Golf Supplies</description>
</order>
<lineItems>
<lineItem>
<itemId>243</itemId>
<name>Golf Bag</name>
<description>Blue wheeled golf bag</description>
<quantity>1</quantity>
<unitPrice>129.99</unitPrice>
</lineItem>
<lineItem>
<itemId>42</itemId>
<name>Golf Ball</name>
<description>Long Drive II Balls</description>
<quantity>5</quantity>
<unitPrice>1.99</unitPrice>
</lineItem>
</lineItems>
<customer>
<id>39432</id>
<email>customer#example.com</email>
</customer>
<billTo>
<firstName>John</firstName>
<lastName>Doe</lastName>
<address>1234 Main St</address>
<city>Pecan Springs</city>
<state>TX</state>
<zip>44628</zip>
<country>USA</country>
</billTo>
<shipTo>
<firstName>John</firstName>
<lastName>Doe</lastName>
<address>PO Box 3432</address>
<city>Pecan Springs</city>
<state>TX</state>
<zip>44628</zip>
<country>USA</country>
</shipTo>
</transactionRequest>
</createTransactionRequest>
I found a solution for this.
<cfsavecontent variable="strXML">
<createTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>API LOGIN ID</name>
<transactionKey>TRANSACTION KEY</transactionKey>
</merchantAuthentication>
<transactionRequest>
<transactionType>authCaptureTransaction</transactionType>
<amount>139.94</amount>
<payment>
<creditCard>
<cardNumber>5424000000000015</cardNumber>
<expirationDate>1220</expirationDate>
<cardCode>999</cardCode>
</creditCard>
</payment>
<order>
<invoiceNumber>INV-12345</invoiceNumber>
<description>Golf Supplies</description>
</order>
<lineItems>
<lineItem>
<itemId>243</itemId>
<name>Golf Bag</name>
<description>Blue wheeled golf bag</description>
<quantity>1</quantity>
<unitPrice>129.99</unitPrice>
</lineItem>
<lineItem>
<itemId>42</itemId>
<name>Golf Ball</name>
<description>Long Drive II Balls</description>
<quantity>5</quantity>
<unitPrice>1.99</unitPrice>
</lineItem>
</lineItems>
<customer>
<id>39432</id>
<email>customer#example.com</email>
</customer>
<billTo>
<firstName>John</firstName>
<lastName>Doe</lastName>
<address>1234 Main St</address>
<city>Pecan Springs</city>
<state>TX</state>
<zip>44628</zip>
<country>USA</country>
</billTo>
<shipTo>
<firstName>John</firstName>
<lastName>Doe</lastName>
<address>PO Box 3432</address>
<city>Pecan Springs</city>
<state>TX</state>
<zip>44628</zip>
<country>USA</country>
</shipTo>
</transactionRequest>
</createTransactionRequest>
</cfsavecontent>
<cfhttp
method="post"
url=" https://apitest.authorize.net/xml/v1/request.api"
result="objGet"
>
<cfhttpparam
type="XML"
value="#strXML.Trim()#"
/>
</cfhttp>
<cfdump var="#objGet#"/>
I'm trying to generate a report, using Jasper iReport Designer 5.6.0, with table that contains lists inside its cells. The generated table could look like this:
To do this, I'm using the following XML file as datasource:
<report>
<table>
<persons>
<person>
<id>111</id>
<name>John</name>
<addresses>
<address>Johan's Street 1</address>
<address>Johan's Street 2</address>
<address>Johan's Street 3</address>
</addresses>
</person>
<person>
<id>222</id>
<name>Marko</name>
<addresses>
<address>Marko's Street 1</address>
<address>Marko's Street 2</address>
</addresses>
</person>
<person>
<id>333</id>
<name>Tito</name>
<addresses>
<address>Tito's Street 1</address>
<address>Tito's Street 2</address>
<address>Tito's Street 3</address>
<address>Tito's Street 4</address>
</addresses>
</person>
</persons>
</table>
</report>
And JRXML template:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="TableWithList" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="2347c131-1884-430a-b77f-59f08f896c8a">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<subDataset name="PersonsTable" uuid="1470ca7f-50f9-4781-9af7-ed3e04841738">
<queryString language="xPath">
<![CDATA[/report/table/persons/person]]>
</queryString>
<field name="person" class="java.lang.String">
<fieldDescription><![CDATA[child::text()]]></fieldDescription>
</field>
<field name="id" class="java.lang.String">
<fieldDescription><![CDATA[id]]></fieldDescription>
</field>
<field name="name" class="java.lang.String">
<fieldDescription><![CDATA[name]]></fieldDescription>
</field>
</subDataset>
<subDataset name="AddressesList" uuid="5c62f1af-dfc1-49ca-8615-493009f964f6">
<queryString language="xPath">
<![CDATA[/report/table/persons/person/addresses]]>
</queryString>
<field name="address" class="java.lang.String">
<fieldDescription><![CDATA[address]]></fieldDescription>
</field>
</subDataset>
<queryString language="xPath">
<![CDATA[/report]]>
</queryString>
<detail>
<band height="175" splitType="Stretch">
<componentElement>
<reportElement key="table" x="0" y="0" width="308" height="50" uuid="d3ef2b70-5a74-4ebf-85f5-36fbcac91938"/>
<jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
<datasetRun subDataset="PersonsTable" uuid="41f6ef78-fb40-4d6f-9998-e31689321fc8">
<dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("/report/table/persons/person")]]></dataSourceExpression>
</datasetRun>
<jr:column width="122" uuid="3bbeb837-7663-4af6-b2f4-759be2c88102">
<jr:columnHeader height="30" rowSpan="1">
<staticText>
<reportElement x="0" y="0" width="122" height="30" uuid="3bc07e10-17f3-45ea-8df9-69a3968dc689"/>
<text><![CDATA[NAMES]]></text>
</staticText>
</jr:columnHeader>
<jr:detailCell height="33" rowSpan="1">
<textField>
<reportElement x="0" y="0" width="122" height="33" uuid="9d26eb70-a1bc-443c-8fd1-25bcefc6dd58"/>
<textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
<jr:column width="185" uuid="1f779e6e-316b-4442-8e36-c020b7b50d6b">
<jr:columnHeader height="30" rowSpan="1">
<staticText>
<reportElement x="0" y="0" width="185" height="30" uuid="59998a31-67a7-4ebe-bd15-6f6d3ec38231"/>
<text><![CDATA[ADDRESSES]]></text>
</staticText>
</jr:columnHeader>
<jr:detailCell height="33" rowSpan="1">
<componentElement>
<reportElement x="0" y="0" width="185" height="33" uuid="e6ed252e-e104-489d-bf10-b3ffb0f3ad0e"/>
<jr:list printOrder="Vertical">
<datasetRun subDataset="AddressesList" uuid="03bc1640-16e7-4111-b48a-0b77e01baefa">
<dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("/report/table/persons/person/addresses")]]></dataSourceExpression>
</datasetRun>
<jr:listContents height="33" width="185">
<textField>
<reportElement x="0" y="0" width="185" height="33" uuid="eb98e95f-d395-4404-a77b-1660f1de9fd0"/>
<textFieldExpression><![CDATA[$F{address}]]></textFieldExpression>
</textField>
</jr:listContents>
</jr:list>
</componentElement>
</jr:detailCell>
</jr:column>
</jr:table>
</componentElement>
</band>
</detail>
And this is what I'm getting as resulting report:
Is it possible to have a list element inside the table element? If yes, what I'm doing wrong?
You are close
Your <subDataset name="PersonsTable"> is correct!
Your <subDataset name="AddressesList"> should be
<subDataset name="AddressesList" uuid="5c62f1af-dfc1-49ca-8615-493009f964f6">
<queryString language="xPath">
<![CDATA[/report/table/persons/person/addresses/address]]>
</queryString>
<field name="address" class="java.lang.String">
<fieldDescription><![CDATA[child::text()]]></fieldDescription>
</field>
</subDataset>
You need to arrive to node address
Since your person table already works we need only to fix the dataSourceExpression for the <jr:list>
<datasetRun subDataset="AddressesList" uuid="c8e1bd7e-b4d8-4e48-8b06-e8fd59846d69">
<dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("/person/addresses/address")]]></dataSourceExpression>
</datasetRun>
Thats it
I want to create a new entry under Applications and Services Log in Windows Event Viewer for my application. I used ECManGEN tool to generate the manifest and after doing the necessary steps linked it with my project. It works.. However, a folder is created with the provider name(MyTrial2 in below figure) and the channel comes under that folder. Is it possible to have only the channel without the folder?(As Internet Explorer, Microsoft Office Alerts, etc in the figure)
EDIT - Added the generated Manifest file
<?xml version="1.0" encoding="UTF-16"?>
<instrumentationManifest xsi:schemaLocation="http://schemas.microsoft.com/win/2004/08/events eventman.xsd" xmlns="http://schemas.microsoft.com/win/2004/08/events" xmlns:win="http://manifests.microsoft.com/win/2004/08/windows/events" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:trace="http://schemas.microsoft.com/win/2004/08/events/trace">
<instrumentation>
<events>
<provider name="MyTrial2" guid="{90DDCC4A-2F8A-4B57-85AF-5401E678708A}" symbol="MyTrial2" resourceFileName="E:\MyEventTrial\MyEventTrial\Debug\MyEventTrial.exe" messageFileName="E:\MyEventTrial\MyEventTrial\Debug\MyEventTrial.exe">
<events>
<event symbol="EvenEvent2" value="1" version="0" channel="TrialChannel2" level="win:Informational" message="$(string.MyTrial.event.1.message)">
</event>
<event symbol="OddEvent2" value="2" version="0" channel="TrialChannel2" level="win:Informational" message="$(string.MyTrial.event.2.message)">
</event>
<event symbol="ErrorEvent2" value="3" version="0" channel="TrialChannel2" level="win:Error" message="$(string.MyTrial.event.3.message)">
</event>
</events>
<levels>
</levels>
<channels>
<channel name="TrialChannel2" chid="TrialChannel2" symbol="TrialChannel2" type="Admin" enabled="true">
</channel>
</channels>
</provider>
</events>
</instrumentation>
</instrumentationManifest>