Hi Prashank,
Thank you, I'm now able to approve timesheets, but the ReadTimesheetApproval is still failing, I need the read to work in order to get resourceDbId, timeperiodDbId and timesheetDbId for the write:
--------------------REQUEST
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:obj="http://www.niku.com/xog/Object">
<soapenv:Header>
<obj:Auth>
<SessionID>10752395__47E701E1-AC97-4147-9AD6-2B479AD12087</SessionID>
</obj:Auth>
</soapenv:Header>
<soapenv:Body>
<obj:ReadTimesheetApproval>
<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_read.xsd">
<Header version="12" action="read" objectType="timeperiod" externalSource="NIKU"/>
<Query>
<Filter name="start" criteria="EQUALS">2017-04-03T00:00:00</Filter>
<Filter name="resourceID" criteria="EQUALS">alida</Filter>
</Query>
</NikuDataBus>
</obj:ReadTimesheetApproval>
</soapenv:Body>
</soapenv:Envelope>
----------------------------------RESPONSE
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header/>
<soapenv:Body>
<SessionID xmlns="http://www.niku.com/xog">10752415__6BAFBB7D-F842-42E5-B3D1-27CAC34D22D5</SessionID>
<ReadTimesheetApprovalResponse xmlns="http://www.niku.com/xog/Object">
<NikuDataBus xsi:noNamespaceSchemaLocation="../xsd/nikuxog_timesheetApproval.xsd">
<Header externalSource="NIKU" version="14.3.0.298"/>
<XOGOutput>
<Object type="timesheetApproval"/>
<Status state="FAILURE"/>
<Statistics failureRecords="1" insertedRecords="0" totalNumberOfRecords="0" updatedRecords="0"/>
<Records>
<Record>
<KeyInformation>
<column name="externalSource">NIKU</column>
</KeyInformation>
<ErrorInformation>
<Severity>FATAL</Severity>
<Description>Invalid filter name, criteria or value: start, EQUALS, 2017-04-03T00:00:00
com.niku.xog.XOGException: Invalid filter name, criteria or value: start, EQUALS, 2017-04-03T00:00:00
at com.niku.xog.object.ReadTimesheetApprovals.setTimeperiodDates(ReadTimesheetApprovals.java:108)
at com.niku.xog.object.ReadTimesheetApprovals.getInputDocument(ReadTimesheetApprovals.java:127)
at com.niku.xog.object.ReadTimesheetApprovals.doProcessRequest(ReadTimesheetApprovals.java:37)
at com.niku.xog.service.BaseXOGService.processRequest(BaseXOGService.java:228)
at com.niku.union.service.binding.ServiceControlBindingJava.processRequest(ServiceControlBindingJava.java:58)
at com.niku.union.service.ServiceControlImpl.processRequest(ServiceControlImpl.java:902)
at com.niku.union.service.ServiceControlImpl.processRequest(ServiceControlImpl.java:212)
at com.niku.union.web.WebServiceAdapter.processRequest(WebServiceAdapter.java:219)
at com.niku.union.web.PortletController.processServiceRequest(PortletController.java:1419)
at com.niku.union.web.PortletController.processProcessActionRequest(PortletController.java:233)
at com.niku.union.web.PortletController.processRequest(PortletController.java:160)
at com.niku.union.web.WebActionController.processAction(WebActionController.java:1433)
at com.niku.union.web.WebActionController.processRequest(WebActionController.java:176)
at com.niku.xog.service.XOGWMDHandler.process(XOGWMDHandler.java:89)
at com.niku.xog.service.AbstractObjectHandler.processRequest(AbstractObjectHandler.java:280)
at com.niku.xog.service.AbstractObjectHandler.process(AbstractObjectHandler.java:215)
at com.niku.xog.service.XOGDispatch.processMessage(XOGDispatch.java:133)
at com.niku.xog.service.XOGSOAPServlet.processMessage(XOGSOAPServlet.java:595)
at com.niku.xog.service.XOGSOAPServlet.doPost(XOGSOAPServlet.java:355)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.niku.union.web.filter.ClarityContentFilter.doFilter(ClarityContentFilter.java:148)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.niku.union.web.filter.XSSFilter.doFilter(XSSFilter.java:80)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.niku.union.web.filter.TenantSetupFilter.doFilter(TenantSetupFilter.java:50)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.niku.union.web.filter.CharsetFilter.doFilter(CharsetFilter.java:45)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.filters.AddDefaultCharsetFilter.doFilter(AddDefaultCharsetFilter.java:88)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at com.niku.union.web.valves.ErrorPageRedirectValve.invoke(ErrorPageRedirectValve.java:65)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)</Description>
</ErrorInformation>
</Record>
</Records>
<DeprecationInformation>
<Severity>WARNING</Severity>
<Description>DEPRECATION MESSAGE</Description>
<Exception type="java.lang.Exception">The action and objectType attributes in the Header have been deprecated, and the listed value of 'timeperiod' conflicts with the requested objectType 'timesheetApproval'.</Exception>
</DeprecationInformation>
</XOGOutput>
</NikuDataBus>
</ReadTimesheetApprovalResponse>
</soapenv:Body>
</soapenv:Envelope>
Thanks,
Amos