Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    xml DataSources and DMI

    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

    #2
    Remove these settings:

    Code:
    dataFormat="xml"
    recordXPath="//SearchObject"
    They don't apply to DMI.

    Comment

    Working...
    X