I've been trying to scrape information out of an Extended event I wrote in SQL2008r2 in an attempt to create some better form of error tracking on SQL.
I eventually got one working after a lot of trial and error, however it only seems to return the first row. I'm trying to read the information into a CTE so I can then do additional processing on the data and return it in a different format
What I've written
;with events_cte as(
select
DATEADD(mi,
DATEDIFF(mi, GETUTCDATE(), CURRENT_TIMESTAMP),
xevents.event_data.value('(RingBufferTarget/event/#timestamp)[1]', 'datetime2')) AS [Timestamp],
xevents.event_data.value('(RingBufferTarget/event/data[#name="severity"]/value)[1]', 'bigint') AS [Error Severity],
xevents.event_data.value('(RingBufferTarget/event/data[#name="message"]/value)[1]', 'nvarchar(512)') AS [Error Message],
xevents.event_data.value('(RingBufferTarget/event/action[#name="sql_text"]/value)[1]', 'nvarchar(max)') AS [SQL Text],
xevents.event_data.value('(RingBufferTarget/event/action[#name="username"]/value)[1]', 'nvarchar(max)') AS [Username],
xevents.event_data.value('(RingBufferTarget/event/action[#name="database_id"]/value)[1]', 'nvarchar(max)') AS [DatabaseID]
From(Select CAST(xet.target_data AS xml) as event_data
FROM sys.dm_xe_session_targets xet
INNER JOIN sys.dm_xe_sessions xe
ON (xe.address = xet.event_session_address)
WHERE xe.name = 'what_queries_are_failing') as xevents)
What I'm working with (an example)
<RingBufferTarget eventsPerSec="0" processingTime="0" totalEventsProcessed="55" eventCount="55" droppedCount="0" memoryUsed="161803">
<event name="error_reported" package="sqlserver" id="100" version="1" timestamp="2016-12-15T01:42:59.361Z">
<data name="error">
<type name="int32" package="package0" />
<value>50000</value>
<text />
</data>
<data name="severity">
<type name="int32" package="package0" />
<value>16</value>
<text />
</data>
<data name="state">
<type name="int32" package="package0" />
<value>1</value>
<text />
</data>
<data name="user_defined">
<type name="boolean" package="package0" />
<value>true</value>
<text />
</data>
<data name="message">
<type name="unicode_string" package="package0" />
<value>User Defined Exception!!!</value>
<text />
</data>
<action name="client_hostname" package="sqlserver">
<type name="unicode_string" package="package0" />
<value>hostname</value>
<text />
</action>
<action name="database_id" package="sqlserver">
<type name="uint16" package="package0" />
<value>1</value>
<text />
</action>
<action name="sql_text" package="sqlserver">
<type name="unicode_string" package="package0" />
<value>RAISERROR('User Defined Exception!!!', 16, 1)
</value>
<text />
</action>
<action name="tsql_stack" package="sqlserver">
<type name="unicode_string" package="package0" />
<value><frame level='1' handle='0x010001001561AB09005F28B1000000000000000000000000' line='1' offsetStart='0' offsetEnd='-1'/></value>
<text />
</action>
<action name="username" package="sqlserver">
<type name="unicode_string" package="package0" />
<value>user</value>
<text />
</action>
</event>
<event name="error_reported" package="sqlserver" id="100" version="1" timestamp="2016-12-15T01:42:59.361Z">
<data name="error">
<type name="int32" package="package0" />
<value>50000</value>
<text />
</data>
<data name="severity">
<type name="int32" package="package0" />
<value>16</value>
<text />
</data>
<data name="state">
<type name="int32" package="package0" />
<value>1</value>
<text />
</data>
<data name="user_defined">
<type name="boolean" package="package0" />
<value>true</value>
<text />
</data>
<data name="message">
<type name="unicode_string" package="package0" />
<value>User Defined Exception!!!</value>
<text />
</data>
<action name="client_hostname" package="sqlserver">
<type name="unicode_string" package="package0" />
<value>hostname</value>
<text />
</action>
<action name="database_id" package="sqlserver">
<type name="uint16" package="package0" />
<value>1</value>
<text />
</action>
<action name="sql_text" package="sqlserver">
<type name="unicode_string" package="package0" />
<value>RAISERROR('User Defined Exception!!!', 16, 1)
</value>
<text />
</action>
<action name="tsql_stack" package="sqlserver">
<type name="unicode_string" package="package0" />
<value><frame level='1' handle='0x010001001561AB09005F28B1000000000000000000000000' line='1' offsetStart='0' offsetEnd='-1'/></value>
<text />
</action>
<action name="username" package="sqlserver">
<type name="unicode_string" package="package0" />
<value>user</value>
<text />
</action>
</event>
</RingBufferTarget>
What I get: Only seems to return one row, could it be the CTE?
So my question is:
How can I get the rest of the records in the XML to be pulled through?
Any help or suggestions would be greatly appreciated.
You have to do following changes:
[1]
FROM sys.dm_xe_session_targets xet
INNER JOIN sys.dm_xe_sessions xe ON (xe.address = xet.event_session_address)
OUTER APPLY xevents.event_data.nodes('RingBufferTarget/event') AS x(XmlCol)
[2] from
xevents.event_data.value('(RingBufferTarget/event/#timestamp)[1]', 'datetime2')) AS [Timestamp],
xevents.event_data.value('(RingBufferTarget/event/data[#name="severity"]/value...
to
x.XmlCol.value('(#timestamp)[1]', 'datetime2')) AS [Timestamp],
x.XmlCol.value('(data[#name="severity"]/value...
I have been working on the ContentSearchAPI in sitecore.Here is my configuration for Lucene Search configuration.
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<contentSearch>
<configuration type="Sitecore.ContentSearch.ContentSearchConfiguration, Sitecore.ContentSearch">
<indexes hint="list:AddIndex">
<index id="movieshop_master" type="Sitecore.ContentSearch.LuceneProvider.LuceneIndex, Sitecore.ContentSearch.LuceneProvider">
<param desc="name">$(id)</param>
<param desc="folder">$(id)</param>
<!-- This initializes index property store. Id has to be set to the index id -->
<param desc="propertyStore" ref="contentSearch/databasePropertyStore" param1="$(id)" />
<configuration ref="contentSearch/indexConfigurations/movieShopSearchConfiguration" />
<strategies hint="list:AddStrategy">
<!-- NOTE: order of these is controls the execution order -->
<strategy ref="contentSearch/indexUpdateStrategies/syncMaster" />
</strategies>
<commitPolicyExecutor type="Sitecore.ContentSearch.CommitPolicyExecutor, Sitecore.ContentSearch">
<policies hint="list:AddCommitPolicy">
<policy type="Sitecore.ContentSearch.TimeIntervalCommitPolicy, Sitecore.ContentSearch" />
</policies>
</commitPolicyExecutor>
<locations hint="list:AddCrawler">
<crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">
<Database>master</Database>
<Root>/sitecore/content/movieshop</Root>
</crawler>
</locations>
</index>
</indexes>
</configuration>
<indexConfigurations>
<movieShopSearchConfiguration type="Sitecore.ContentSearch.LuceneProvider.LuceneIndexConfiguration, Sitecore.ContentSearch.LuceneProvider">
<indexAllFields>true</indexAllFields>
<initializeOnAdd>true</initializeOnAdd>
<analyzer ref="contentSearch/indexConfigurations/defaultLuceneIndexConfiguration/analyzer" />
<fieldMap type="Sitecore.ContentSearch.FieldMap, Sitecore.ContentSearch">
<fieldNames hint="raw:AddFieldByFieldName">
<field fieldName="_uniqueid" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider">
<analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" />
</field>
</fieldNames>
</fieldMap>
<fields hint="raw:AddComputedIndexField">
<field fieldName="releasedecade">MovieShop.BusinessLayer.Search.ComputedFields.DecadeComputedField,MovieShop.BusinessLayer</field>
</fields>
<include hint="list:IncludeTemplate">
<Movie>{7D2F4318-029A-461B-854E-FD7CFB4C4F6A}</Movie>
</include>
<fieldReaders ref="contentSearch/indexConfigurations/defaultLuceneIndexConfiguration/fieldReaders"/>
<indexFieldStorageValueFormatter ref="contentSearch/indexConfigurations/defaultLuceneIndexConfiguration/indexFieldStorageValueFormatter"/>
<indexDocumentPropertyMapper ref="contentSearch/indexConfigurations/defaultLuceneIndexConfiguration/indexDocumentPropertyMapper"/>
</movieShopSearchConfiguration>
</indexConfigurations>
</contentSearch>
</sitecore>
</configuration>
The above configuration works fine in sitecore version 7.2 but when i try to use the same configuration in Sitecore 7 it fails.I'm getting the following error.
Could not create instance of type:
Sitecore.ContentSearch.LuceneProvider.LuceneIndex. No matching
constructor was found
Sitecore.ContentSearch.LuceneProvider.LuceneIndexConfiguration, Sitecore.ContentSearch.LuceneProvider
should be
Sitecore.ContentSearch.ContentSearchConfiguration, Sitecore.ContentSearch
For my project (http://snooze.inria.fr/) i have dependencies on java library restlet.
If I set up the dependency to restlet 2.2-SNAPSHOT a TruncatedChunkException when visualizing the hierarchy on the client (it's a big json received form the system)
If I set up the dependency to restlet 2.1-SNAPSHOT i have no error, everything looks fine.
Do you know why ?
Best Regards,
Matt
ps :
here the stack trace :
org.restlet - Unable to convert a [application/json] representation into an object of class org.inria.myriads.snoozecommon.communication.groupmanager.repository.GroupLeaderRepositoryInformation
org.apache.http.TruncatedChunkException: Truncated chunk ( expected size: 2085; actual size: 1997)
at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:182)
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:138)
at java.io.FilterInputStream.read(FilterInputStream.java:133)
at java.io.FilterInputStream.read(FilterInputStream.java:133)
at java.io.PushbackInputStream.read(PushbackInputStream.java:186)
[...]
Here an example of json : (it's basically a list of hosts hosting vm's with their attributes)
groupManagerDescriptions":[{"id":"4d415a3b-579d-4fcd-8700-f2d4a2242401","listenSettings":{"controlDataAddress":{"address":"127.0.0.1","port":6001},"monitoringDataAddress":{"address":"127.0.0.1","port":7000}},"localControllers":{"52a3e5b1-2354-4d67-ab52-c6b38efd20c5":{"id":"52a3e5b1-2354-4d67-ab52-c6b38efd20c5","controlDataAddress":{"address":"127.0.0.1","port":6003},"status":"ACTIVE","hypervisorSettings":{"port":16509,"driver":"qemu","transport":"tcp","migration":{"method":"forceunsafe","timeout":60}},"totalCapacity":[4.0,3958916.0,131072.0,131072.0],"wakeupSettings":{"driver":"IPMI","options":"-I lanplus -H BMC_IP -U user -P password"},"hostname":"mafalda","virtualMachineMetaData":{"debian1":{"status":"RUNNING","virtualMachineLocation":{"virtualMachineId":"debian1","localControllerControlDataAddress":{"address":"127.0.0.1","port":6003},"localControllerId":"52a3e5b1-2354-4d67-ab52-c6b38efd20c5"},"usedCapacity":{},"requestedCapacity":[1.0,512000.0,12800.0,12800.0],"ipAddress":"192.168.122.2","errorCode":"UNKNOWN","groupManagerControlDataAddress":{"address":"127.0.0.1","port":6001},"xmlRepresentation":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><domain type=\"kvm\"> <name>debian1</name> <memory>512000</memory> <vcpu>1</vcpu> <os> <type arch=\"x86_64\" machine=\"pc-0.12\">hvm</type> <boot dev=\"hd\"/> </os> <features> <acpi/> <apic/> <pae/> </features> <clock offset=\"utc\"/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/kvm</emulator> <disk device=\"disk\" type=\"file\"> <driver name=\"qemu\" type=\"qcow2\"/> <source file=\"/home/msimonin/Images-VM/Snooze-images/imgs/debian1.qcow2\"/> <target bus=\"virtio\" dev=\"vda\"/> <address bus=\"0x00\" domain=\"0x0000\" function=\"0x0\" slot=\"0x05\" type=\"pci\"/> </disk> <controller index=\"0\" type=\"ide\"> <address bus=\"0x00\" domain=\"0x0000\" function=\"0x1\" slot=\"0x01\" type=\"pci\"/> </controller> <interface type=\"bridge\"> <mac address=\"54:56:c0:a8:7a:2\"/> <source bridge=\"virbr0\"/> </interface> <serial type=\"pty\"> <target port=\"0\"/> </serial> <console type=\"pty\"> <target port=\"0\" type=\"serial\"/> </console> <graphics autoport=\"yes\" listen=\"0.0.0.0\" port=\"-1\" type=\"vnc\"/> <input bus=\"usb\" type=\"tablet\"/> <input bus=\"ps2\" type=\"mouse\"/> <memballoon model=\"virtio\"> <address bus=\"0x00\" domain=\"0x0000\" function=\"0x0\" slot=\"0x06\" type=\"pci\"/> </memballoon> </devices></domain>"},"debian3":{"status":"RUNNING","virtualMachineLocation":{"virtualMachineId":"debian3","localControllerControlDataAddress":{"address":"127.0.0.1","port":6003},"localControllerId":"52a3e5b1-2354-4d67-ab52-c6b38efd20c5"},"usedCapacity":{},"requestedCapacity":[1.0,128000.0,12800.0,12800.0],"ipAddress":"192.168.122.4","errorCode":"UNKNOWN","groupManagerControlDataAddress":{"address":"127.0.0.1","port":6001},"xmlRepresentation":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><domain type=\"kvm\"> <name>debian3</name> <memory>128000</memory> <vcpu>1</vcpu> <os> <type arch=\"x86_64\" machine=\"pc-0.12\">hvm</type> <boot dev=\"hd\"/> </os> <features> <acpi/> <apic/> <pae/> </features> <clock offset=\"utc\"/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/kvm</emulator> <disk device=\"disk\" type=\"file\"> <driver name=\"qemu\" type=\"qcow2\"/> <source file=\"/home/msimonin/Images-VM/Snooze-images/imgs/debian3.qcow2\"/> <target bus=\"virtio\" dev=\"vda\"/> <address bus=\"0x00\" domain=\"0x0000\" function=\"0x0\" slot=\"0x05\" type=\"pci\"/> </disk> <controller index=\"0\" type=\"ide\"> <address bus=\"0x00\" domain=\"0x0000\" function=\"0x1\" slot=\"0x01\" type=\"pci\"/> </controller> <interface type=\"b"
[DEBUG] |févr. 04 10:44:20| [Thread-1] http.wire - << "ridge\"> <mac address=\"54:56:c0:a8:7a:4\"/> <source bridge=\"virbr0\"/> </interface> <serial type=\"pty\"> <target port=\"0\"/> </serial> <console type=\"pty\"> <target port=\"0\" type=\"serial\"/> </console> <graphics autoport=\"yes\" listen=\"0.0.0.0\" port=\"-1\" type=\"vnc\"/> <input bus=\"usb\" type=\"tablet\"/> <input bus=\"ps2\" type=\"mouse\"/> <memballoon model=\"virtio\"> <address bus=\"0x00\" domain=\"0x0000\" function=\"0x0\" slot=\"0x06\" type=\"pci\"/> </memballoon> </devices></domain>"}},"assignedVirtualMachines":[]},"c56846f6-fd61-47d5-9f68-0fd2772aac4d":{"id":"c56846f6-fd61-47d5-9f68-0fd2772aac4d","controlDataAddress":{"address":"127.0.0.1","port":6004},"status":"ACTIVE","hypervisorSettings":{"port":16510,"driver":"qemu","transport":"tcp","migration":{"method":"forceunsafe","timeout":60}},"totalCapacity":[4.0,3958916.0,131072.0,131072.0],"wakeupSettings":{"driver":"IPMI","options":"-I lanplus -H BMC_IP -U user -P password"},"hostname":"mafalda","virtualMachineMetaData":{"debian2":{"status":"RUNNING","virtualMachineLocation":{"virtualMachineId":"debian2","localControllerControlDataAddress":{"address":"127.0.0.1","port":6004},"localControllerId":"c56846f6-fd61-47d5-9f68-0fd2772aac4d"},"usedCapacity":{},"requestedCapacity":[2.0,123456.0,12800.0,12800.0],"ipAddress":"192.168.122.3","errorCode":"UNKNOWN","groupManagerControlDataAddress":{"address":"127.0.0.1","port":6001},"xmlRepresentation":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><domain type=\"kvm\"> <name>debian2</name> <uuid>0f476e56-67ea-11e1-858e-00216a972a37</uuid> <memory>123456</memory> <vcpu>2</vcpu> <os> <type arch=\"x86_64\" machine=\"pc-0.12\">hvm</type> <boot dev=\"hd\"/> </os> <features> <acpi/> <apic/> <pae/> </features> <clock offset=\"utc\"/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/kvm</emulator> <disk device=\"disk\" type=\"file\"> <driver name=\"qemu\" type=\"qcow2\"/> <source file=\"/home/msimonin/Images-VM/Snooze-images/imgs/debian2.qcow2\"/> <target bus=\"virtio\" dev=\"vda\"/> <address bus=\"0x00\" domain=\"0x0000\" function=\"0x0\" slot=\"0x05\" type=\"pci\"/> </disk> <controller index=\"0\" type=\"ide\"> <address bus=\"0x00\" domain=\"0x0000\" function=\"0x1\" slot=\"0x01\" type=\"pci\"/> </controller> <interface type=\"bridge\"> <mac address=\"54:56:c0:a8:7a:3\"/> <source bridge=\"virbr0\"/> </interface> <serial type=\"pty\"> <target port=\"0\"/> </serial> <console type=\"pty\"> <target port=\"0\" type=\"serial\"/> </console> <graphics autoport=\"yes\" listen=\"0.0.0.0\" port=\"-1\" type=\"vnc\"/> <input bus=\"usb\" type=\"tablet\"/> <input bus=\"ps2\" type=\"mouse\"/> <memballoon model=\"virtio\"> <address bus=\"0x00\" domain=\"0x0000\" function=\"0x0\" slot=\"0x06\" type=\"pci\"/> </memballoon> </devices></domain>"}},"assignedVirtualMachines":[]}},"heartbeatAddress":{"address":"225.4.5.6","port":10000},"hostname":"mafalda","summaryInformation":{"1359971059986":{"timeStamp":1359971059986,"usedCapacity":[4.0,763456.0,38400.0,38400.0],"requestedCapacity":[4.0,763456.0,38400.0,38400.0],"activeCapacity":[8.0,7917832.0,262144.0,262144.0],"passiveCapacity":[0.0,0.0,0.0,0.0],"legacyIpAddresses":[]},"1359971056979":{"timeStamp":1359971056979,"usedCapacity":[4.0,763456.0,38400.0,38400.0],"requestedCapacity":[4.0,763456.0,38400.0,38400.0],"activeCapacity":[8.0,7917832.0,262144.0,262144.0],"passiveCapacity":[0.0,0.0,0.0,0.0],"legacyIpAddresses":[]},"1359971053975":{"timeStamp":1359971053975,"usedCapacity":[3.0,635456.0,25600.0,25600.0],"requestedCapacity":[3.0,635456.0,25600.0,25600.0],"activeCapacity":[8.0,7917832.0,262144.0,262144.0],"passiveCapacity":[0.0,0.0,0.0,0.0],"legacyIpAddresses":[]},""
[...]
i use struts 1.3 and want to make localization.
that's what I'm doing:
in struts-config.xml:
<form-bean name="English" type="org.apache.struts.action.DynaActionForm">
<form-property name="language" type="String" initial="en" />
</form-bean>
<form-bean name="Russian" type="org.apache.struts.action.DynaActionForm">
<form-property name="language" type="String" initial="ru" />
</form-bean>
<action-mappings>
<action path="/English" name="English"
type="org.apache.struts.actions.LocaleAction">
<forward name="success" path="/index.jsp" />
</action>
<action path="/Russian" name="Russian"
type="org.apache.struts.actions.LocaleAction">
<forward name="success" path="/index.jsp" />
</action>
<controller processorClass="org.apache.struts.tiles.TilesRequestProcessor" />
on jsp.page
<html:link action="/Russian">
<bean:message key="jsp.header.russian"/>
</html:link>
<html:link action="/English">
<bean:message key="jsp.header.english"/>
</html:link>
maybe i do something wrong? any ideas?
P.S. yes, i have messages_ru.properties and messages_en.properties.
Oh, I found the reason, struts do not know of this type as a String.
<form-property name="language" type="java.lang.String" initial="en" />
I am using spring source dm server version 2.0.0.
I developed one application in spring/struts/hibernate. When I am running my application in spring dm server with
it gives me error like:
HTTP Status 503 - Servlet action is currently unavailable
type: Status report
message: Servlet action is currently unavailable
description: The requested service (Servlet action is currently unavailable) is not currently available.
My web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<!-- Action Servlet Configuration -->
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- Spring Framework context Loader -->
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Spring Framework context config location -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext*.xml
</param-value>
</context-param>
<!--TODO Prevent direct calls to *.jsp -->
<!-- Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<!-- The Welcome File List -->
<welcome-file-list>
<welcome-file>start.jsp</welcome-file>
</welcome-file-list>
<!-- Define the basename for a resource bundle for I18N -->
<context-param>
<param-name>
javax.servlet.jsp.jstl.fmt.localizationContext
</param-name>
<param-value>
com.patni.temgt.web.ApplicationResources
</param-value>
</context-param>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/SettleTest</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
and struts-config.xml is:
<form-beans>
<form-bean name="timeEntryForm"
type="com.patni.temgt.web.CreateTimeEntryActionForm" />
<form-bean name="expenseEntryForm"
type="com.patni.temgt.web.CreateExpenseEntryActionForm" />
<form-bean name="timeEntryReportForm"
type="com.patni.temgt.web.TimeEntryReportActionForm" />
<form-bean name="adminCostingCodeForm"
type="com.patni.temgt.web.AdminCostingCodeActionForm" />
<form-bean name="loginForm"
type="com.patni.temgt.web.LoginActionForm" />
<form-bean name="adminEnvironmentVariableForm"
type="com.patni.temgt.web.AdminEnvironmentVariableActionForm" />
<form-bean name="adminEmployeeForm"
type="com.patni.temgt.web.AdminEmployeeActionForm" />
<form-bean name="adminContactDetailForm"
type="com.patni.temgt.web.AdminContactDetailActionForm" />
<form-bean name="adminApplicationUserForm"
type="com.patni.temgt.web.AdminApplicationUserActionForm" />
<form-bean name="adminUserRoleForm"
type="com.patni.temgt.web.AdminUserRoleActionForm" />
<form-bean name="myCostingCodeForm"
type="com.patni.temgt.web.MyCostingCodeActionForm" />
</form-beans>
<global-forwards>
<forward name="login" path="/WEB-INF/jsp/login.jsp" />
</global-forwards>
<action-mappings>
<action path="/timeEntry"
type="com.patni.temgt.web.CreateTimeEntryAction"
name="timeEntryForm" scope="session" validate="false"
input="/WEB-INF/jsp/timeEntry.jsp">
<forward name="success" path="/WEB-INF/jsp/timeEntry.jsp" />
<forward name="invalid" path="/WEB-INF/jsp/timeEntry.jsp" />
</action>
<action path="/expenseEntry"
type="com.patni.temgt.web.CreateExpenseEntryAction"
name="expenseEntryForm" scope="session" validate="false"
input="/WEB-INF/jsp/expenseEntry.jsp">
<forward name="success" path="/WEB-INF/jsp/expenseEntry.jsp" />
<forward name="invalid" path="/WEB-INF/jsp/expenseEntry.jsp" />
<forward name="list" path="/WEB-INF/jsp/expenseList.jsp" />
<forward name="approvallist" path="/expenseApproval.htm?action=list" redirect="true" />
</action>
<action path="/expenseApproval"
type="com.patni.temgt.web.ExpenseApprovalAction"
name="expenseEntryForm" scope="session" validate="false"
input="/WEB-INF/jsp/expenseApprovalList.jsp">
<forward name="approvallist" path="/WEB-INF/jsp/expenseApprovalList.jsp" />
</action>
<action path="/adminCostingCode"
type="com.patni.temgt.web.AdminCostingCodeAction"
name="adminCostingCodeForm" scope="session" validate="false"
input="/WEB-INF/jsp/adminCostingCode.jsp">
<forward name="success" path="/WEB-INF/jsp/adminCostingCode.jsp" />
<forward name="invalid" path="/WEB-INF/jsp/adminCostingCode.jsp" />
</action>
<action path="/login"
type="com.patni.temgt.web.LoginAction"
name="loginForm" scope="session" validate="false"
input="/WEB-INF/jsp/login.jsp">
<forward name="mainPage" redirect="true"
path="/settleMain.htm" />
</action>
<action path="/settleMain"
type="com.patni.temgt.web.SettleMainAction">
<forward name="success" path="/WEB-INF/jsp/settleMain.jsp" />
</action>
<action path="/adminEnvironmentVariable"
type="com.patni.temgt.web.AdminEnvironmentVariableAction"
name="adminEnvironmentVariableForm" scope="session"
input="/WEB-INF/jsp/adminEnvironmentVariable.jsp">
<forward name="success"
path="/WEB-INF/jsp/adminEnvironmentVariable.jsp" />
<forward name="invalid"
path="/WEB-INF/jsp/adminEnvironmentVariable.jsp" />
</action>
<action path="/adminEmployee"
type="com.patni.temgt.web.AdminEmployeeAction"
name="adminEmployeeForm" scope="request"
input="/WEB-INF/jsp/adminEmployee.jsp">
<forward name="success" path="/WEB-INF/jsp/adminEmployee.jsp" />
<forward name="invalid" path="/WEB-INF/jsp/adminEmployee.jsp" />
</action>
<action path="/adminContactDetail"
type="com.patni.temgt.web.AdminContactDetailAction"
name="adminContactDetailForm" scope="request"
input="/WEB-INF/jsp/adminContactDetail.jsp">
<forward name="employee" path="/adminEmployee.htm" />
<forward name="company" path="/adminCompany.htm" />
<forward name="success" path="/WEB-INF/jsp/adminContactDetail.jsp" />
<forward name="invalid" path="/WEB-INF/jsp/adminContactDetail.jsp" />
</action>
<action path="/adminApplicationUser"
type="com.patni.temgt.web.AdminApplicationUserAction"
name="adminApplicationUserForm" scope="request"
input="/WEB-INF/jsp/adminApplicationUser.jsp">
<forward name="success" path="/WEB-INF/jsp/adminApplicationUser.jsp" />
<forward name="invalid" path="/WEB-INF/jsp/adminApplicationUser.jsp" />
</action>
<action path="/adminUserRole"
type="com.patni.temgt.web.AdminUserRoleAction"
name="adminUserRoleForm" scope="request"
input="/WEB-INF/jsp/adminUserRole.jsp">
<forward name="success" path="/WEB-INF/jsp/adminUserRole.jsp" />
<forward name="invalid" path="/WEB-INF/jsp/adminUserRole.jsp" />
</action>
<action path="/timeEntryReporting"
type="com.patni.temgt.web.TimeEntryReportAction"
name="timeEntryReportForm" scope="request"
input="/WEB-INF/jsp/timeEntryReporting.jsp">
<forward name="success" path="/WEB-INF/jsp/timeEntryReporting.jsp" />
<forward name="invalid" path="/WEB-INF/jsp/timeEntryReporting.jsp" />
</action>
<action path="/myCostingCodes"
type="com.patni.temgt.web.MyCostingCodeAction"
name="myCostingCodeForm" scope="request"
input="/WEB-INF/jsp/myCostingCodes.jsp" parameter="method">
<forward name="success" path="/WEB-INF/jsp/myCostingCodes.jsp" />
<forward name="invalid" path="/WEB-INF/jsp/myCostingCodes.jsp" />
</action>
</action-mappings>
<controller>
<set-property property="processorClass"
value="org.springframework.web.struts.DelegatingRequestProcessor" />
</controller>
<!-- ========== Message Resources Definitions =========================== -->
<!-- Will look for a properties file
com.patni.temgt.web.ApplicationResources.properties" -->
<message-resources
parameter="com.patni.temgt.web.ApplicationResources" />
<!-- Start the Spring Web Context plugin for Struts -->
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/action-servlet.xml" />
</plug-in>
what could be the reason for this?
It means that the servlet identified by "action" (org.apache.struts.action.ActionServlet) failed to initialize, probably due to a configuration issue or a missing class on the class path.
There should be an exception printed in the console of your application server or in a log file. It probably will indicate what the problem is.