I am having a problem using an xml DataSource bound to a serverObject. The DataSource looks like this:
<DataSource
ID="searchObject"
dataFormat="xml"
serverType="generic"
addGlobalId="true"
recordXPath="//SearchObject"
>
<fields>
<field name="Id" type="text" hidden="true" primaryKey="true" />
<field name="SearchTarget" hidden="true" type="text" required="true" />
<field name="Name" type="text" title="name" required="true"/>
<field name="DisplayString" hidden="true" type="text" />
</fields>
<serverObject ID="searchObjectHandler" lookupStyle="new" className="com.daylight.port.shared.dmi.SearchObjectDMI" />
</DataSource>
This is bound to a ListGrid:
isc.ListGrid.create({
ID: "mySearches",
width: "100%",
height: "125px",
autoFetchData: true,
alternateRecordStyles:true,
showAllRecords:true,
selectionType: "single",
cellHeight:22,
// canEdit:false,
useAllDataSourceFields: true,
dataSource: "searchObject"
}),
The add method on the DMI server object looks like this:
public String add(HttpSession session, Map<?,?> values) throws Throwable {
log.info("procesing SearchObjectDMI add operation");
ObjectManagerFinder finder = DayportObjectManagerFinder.getFinder(session);
PersistentObjectManager pom = finder.getObjectManager(session);
String searchTarget = (String)values.get("SearchTarget");
SearchManager manager = SearchManager.getSearchManager(session);
SearchObject search = manager.newSearch(searchTarget, pom);
return search.toXML(false);
}
When I execute the saveData() method on the ListGrid:
mySearches.addData({SearchTarget: node.SearchType}, "setSearch(data)");
where node.SearchType is bound to a valid value, I get the following error in the server log:
=== 2009-04-03 18:03:47,062 [or25] ERROR IDACall - Top-level servlet error:
java.lang.Exception: Non-RPC request ignored.
at com.isomorphic.rpc.RPCManager.parseRequest(RPCManager.java:860)
at com.isomorphic.rpc.RPCManager.<init>(RPCManager.java:201)
at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:90)
at com.isomorphic.servlet.IDACall.doGet(IDACall.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:248)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
=== 2009-04-03 18:03:47,078 [or25] INFO Compression - /dayport/isomorphic/IDACall: 2093 -> 623 bytes
Please advise me as to what I might be doing wrong.
-paul
<DataSource
ID="searchObject"
dataFormat="xml"
serverType="generic"
addGlobalId="true"
recordXPath="//SearchObject"
>
<fields>
<field name="Id" type="text" hidden="true" primaryKey="true" />
<field name="SearchTarget" hidden="true" type="text" required="true" />
<field name="Name" type="text" title="name" required="true"/>
<field name="DisplayString" hidden="true" type="text" />
</fields>
<serverObject ID="searchObjectHandler" lookupStyle="new" className="com.daylight.port.shared.dmi.SearchObjectDMI" />
</DataSource>
This is bound to a ListGrid:
isc.ListGrid.create({
ID: "mySearches",
width: "100%",
height: "125px",
autoFetchData: true,
alternateRecordStyles:true,
showAllRecords:true,
selectionType: "single",
cellHeight:22,
// canEdit:false,
useAllDataSourceFields: true,
dataSource: "searchObject"
}),
The add method on the DMI server object looks like this:
public String add(HttpSession session, Map<?,?> values) throws Throwable {
log.info("procesing SearchObjectDMI add operation");
ObjectManagerFinder finder = DayportObjectManagerFinder.getFinder(session);
PersistentObjectManager pom = finder.getObjectManager(session);
String searchTarget = (String)values.get("SearchTarget");
SearchManager manager = SearchManager.getSearchManager(session);
SearchObject search = manager.newSearch(searchTarget, pom);
return search.toXML(false);
}
When I execute the saveData() method on the ListGrid:
mySearches.addData({SearchTarget: node.SearchType}, "setSearch(data)");
where node.SearchType is bound to a valid value, I get the following error in the server log:
=== 2009-04-03 18:03:47,062 [or25] ERROR IDACall - Top-level servlet error:
java.lang.Exception: Non-RPC request ignored.
at com.isomorphic.rpc.RPCManager.parseRequest(RPCManager.java:860)
at com.isomorphic.rpc.RPCManager.<init>(RPCManager.java:201)
at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:90)
at com.isomorphic.servlet.IDACall.doGet(IDACall.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:248)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
=== 2009-04-03 18:03:47,078 [or25] INFO Compression - /dayport/isomorphic/IDACall: 2093 -> 623 bytes
Please advise me as to what I might be doing wrong.
-paul
Comment