Announcement

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

    exportClientData does not submit Params or Attributes

    Hello we are useing
    SmartGwt Pro 3.1 (isc_v/v8.3p_2013-04-15)
    and IE 9.0.10.

    As we can not use the build in PDF-Export we would like to use Jasper to generate the reports.
    On the report we have to display
    the criteria,
    the displayed records,
    and other additional informations.

    For this the exportClientData seems to be the best choice, but we were not able to transfer any additional data to the server.


    Code:
    	<operationBindings>
    		<operationBinding operationType="clientExport" operationId="myPDFExport">
    			<serverObject className="com.siemens.ui.server.CustomExportDMI" lookupStyle="new" />
    			<serverMethod>myPDFExport</serverMethod>
    		</operationBinding>
    	</operationBindings>
    Code:
            DSRequest dsRequestProperties = new DSRequest();
            dsRequestProperties.setExportAs(ExportFormat.CSV);
            dsRequestProperties.setExportDisplay(ExportDisplay.WINDOW);
            dsRequestProperties.setBypassCache(true);
            dsRequestProperties.setIgnoreTimeout(true);
            dsRequestProperties.setSendNoQueue(true);
            dsRequestProperties.setExportShowHeaderSpanTitles(true); 
            dsRequestProperties.setOperationId("myPDFExport"); 
            dsRequestProperties.setOperationType(DSOperationType.FETCH);
            dsRequestProperties.setCriteria(getCriteria());
            int endRow = getRecordList().getLength();
            System.out.println ("endRow: "+endRow);
            dsRequestProperties.setEndRow(endRow);
            HashMap<String, Object> params = new HashMap<String, Object>();
            params.put ("ShowGridSummary", "ShowGridSummary");
            params.put ("HalloLutte", "HalloLutte");
            dsRequestProperties.setParams(params);
            exportClientData(dsRequestProperties); 
    /
    Code:
      public static DSResponse myPDFExport(DSRequest dsRequest, HttpServletRequest servletRequest) throws Exception
      {
    	  System.out.println ("servletParameter: "+servletRequest.getParameterMap());
    	  Enumeration e = servletRequest.getParameterNames();
    	  while (e.hasMoreElements())
    	  {
    		  Object  key = e.nextElement();
    		  System.out.println ("servletParameter: "+key +"/"+servletRequest.getParameter(key.toString()));
    	  }
    but there is nothing in the servletRequest, no endRow, no Criteria and no additional Parameters.

    Code:
    servletParameter: {protocolVersion=[Ljava.lang.String;@15f3563, __iframeTarget__=[Ljava.lang.String;@1aa2679, isc_rpc=[Ljava.lang.String;@1c3dd0b, isc_v=[Ljava.lang.String;@1e5292a, isc_tnum=[Ljava.lang.String;@1f19bf0, _transaction=[Ljava.lang.String;@134b9f2}
    servletParameter: _transaction/<transaction xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:type="xsd:Object"><transactionNum xsi:type="xsd:long">2</transactionNum><operations xsi:type="xsd:List"><elem xsi:type="xsd:Object"><values xsi:type="xsd:List"><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP>ESA01</SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>1399</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>2</SCSDG_CNT_SORTER2><SCSDG_CNT>1401</SCSDG_CNT></elem><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP>ESA02</SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>1411</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>0</SCSDG_CNT_SORTER2><SCSDG_CNT>1411</SCSDG_CNT></elem><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP>ESB01</SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>3575</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>0</SCSDG_CNT_SORTER2><SCSDG_CNT>3575</SCSDG_CNT></elem><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP>ESB02</SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>0</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>3466</SCSDG_CNT_SORTER2><SCSDG_CNT>3466</SCSDG_CNT></elem><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP>ESB03</SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>0</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>2822</SCSDG_CNT_SORTER2><SCSDG_CNT>2822</SCSDG_CNT></elem><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP>ESB04</SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>2648</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>0</SCSDG_CNT_SORTER2><SCSDG_CNT>2648</SCSDG_CNT></elem><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP>ESX01</SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>1</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>0</SCSDG_CNT_SORTER2><SCSDG_CNT>1</SCSDG_CNT></elem><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP>ESX02</SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>0</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>1</SCSDG_CNT_SORTER2><SCSDG_CNT>1</SCSDG_CNT></elem><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP> </SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>9034</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>6291</SCSDG_CNT_SORTER2><SCSDG_CNT>15325</SCSDG_CNT></elem></values><operationConfig xsi:type="xsd:Object"><dataSource>SCSDGDataSource</dataSource><operationType>clientExport</operationType></operationConfig><exportAs>csv</exportAs><exportDisplay>download</exportDisplay><exportFilename>export</exportFilename><exportFields xsi:type="xsd:List"><elem>SCSDG_DESTINATIONGROUP</elem><elem>SCSDG_CNT_SORTER1</elem><elem>SCSDG_CNT_SORTER2</elem><elem>SCSDG_CNT</elem></exportFields><exportOtherFields xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP xsi:type="xsd:Object"><title>Abwurfgruppe</title><fieldNum xsi:type="xsd:long">0</fieldNum></SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1 xsi:type="xsd:Object"><title>HS01</title><fieldNum xsi:type="xsd:long">1</fieldNum></SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2 xsi:type="xsd:Object"><title>HS02</title><fieldNum xsi:type="xsd:long">2</fieldNum></SCSDG_CNT_SORTER2><SCSDG_CNT xsi:type="xsd:Object"><title>Summe</title><fieldNum xsi:type="xsd:long">3</fieldNum></SCSDG_CNT></exportOtherFields><exportShowHeaderSpanTitles xsi:type="xsd:boolean">true</exportShowHeaderSpanTitles><appID>builtinApplication</appID><operation>myPDFExport</operation><oldValues xsi:type="xsd:List"><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP>ESA01</SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>1399</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>2</SCSDG_CNT_SORTER2><SCSDG_CNT>1401</SCSDG_CNT></elem><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP>ESA02</SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>1411</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>0</SCSDG_CNT_SORTER2><SCSDG_CNT>1411</SCSDG_CNT></elem><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP>ESB01</SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>3575</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>0</SCSDG_CNT_SORTER2><SCSDG_CNT>3575</SCSDG_CNT></elem><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP>ESB02</SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>0</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>3466</SCSDG_CNT_SORTER2><SCSDG_CNT>3466</SCSDG_CNT></elem><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP>ESB03</SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>0</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>2822</SCSDG_CNT_SORTER2><SCSDG_CNT>2822</SCSDG_CNT></elem><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP>ESB04</SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>2648</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>0</SCSDG_CNT_SORTER2><SCSDG_CNT>2648</SCSDG_CNT></elem><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP>ESX01</SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>1</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>0</SCSDG_CNT_SORTER2><SCSDG_CNT>1</SCSDG_CNT></elem><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP>ESX02</SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>0</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>1</SCSDG_CNT_SORTER2><SCSDG_CNT>1</SCSDG_CNT></elem><elem xsi:type="xsd:Object"><SCSDG_DESTINATIONGROUP> </SCSDG_DESTINATIONGROUP><SCSDG_CNT_SORTER1>9034</SCSDG_CNT_SORTER1><SCSDG_CNT_SORTER2>6291</SCSDG_CNT_SORTER2><SCSDG_CNT>15325</SCSDG_CNT></elem></oldValues></elem></operations><jscallback>if (!(new RegExp(&quot;^(\\d{1,3}\\.){3}\\d{1,3}$&quot;).test(document.domain))) {while (!window.isc &amp;&amp; document.domain.indexOf(&quot;.&quot;) != -1 ) { try { parent.isc; break} catch (e) {document.domain = document.domain.replace(/.*?\./, &quot;&quot;)}}}parent.isc.Comm.hiddenFrameReply(2,results)</jscallback></transaction>
    servletParameter: protocolVersion/1.0
    servletParameter: isc_tnum/2
    servletParameter: isc_v/v8.3p_2013-04-15
    servletParameter: isc_rpc/1
    servletParameter: __iframeTarget__/1368705379401
    What's wrong here?
    Any idea how to tranfer additional data to the server or how to integrate Jasper?
    Thanks

    #2
    exportClientData is not a fetch operation - it sends a set of data to the server, not criteria and sort direction like a fetch. It cannot be converted to a fetch operation just be trying to hack the operationType.

    However the HTTP parameters *should* have been sent. We'll check on this.

    Comment


      #3
      Thank you.
      Hope you will find a solution.

      Comment


        #4
        We have made a change which should address this issue. Explicit request params should now be preserved when exportClientData runs.
        Please try the next nightly build dated May 28 or greater

        Regards
        Isomorphic Software

        Comment

        Working...
        X