Currently using smartgwt power 3.0 nb_20120828 on RHEL 5.4. I'm making a cURL post request using the parameters isc_rpc=1&isc_v=v8.2p_2012-08-28&isc_xhr=1. I also add the data parameters isc_tnum=someinteger and protocolVersion=1.0. The issue occurs for the _transaction parameter. I wanted to provide the transaction parameter as an xml file but I get the follwing error.
I removed the bom from the xml file with vi and I still get this error. However if I use the following command
it works flawlessly. I'd like some insight into what is wrong with the xml. Here is the xml file
Code:
curl -o pai-response-1.txt --data _transaction=@pai-nobomb.xml --data "isc_tnum=1" --data "protocolVersion=1.0" http://myapp:myport/myapplication/myapplication/sc/IDACall?isc_rpc=1&isc_v=v8.2p_2012-08-28&isc_xhr=1 --header "Content-Type:application/x-www-form-urlencoded; charset=UTF-8" & About to connect() to myserver port myport * Trying 10.21.20.20... connected * Connected to myserver (10.21.20.20) port myport > POST /myapplication/myapplication/sc/IDACall?isc_rpc=1 HTTP/1.1 > User-Agent: curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5 > Host: myserver:myport > Accept: */* > Content-Length: 59 > Content-Type: application/x-www-form-urlencoded > > _transaction=@pai-nobom.xml&isc_tnum=17&protocolVersion=1.0HTTP/1.1 200 OK < Date: Thu, 14 Feb 2013 20:00:16 GMT < Transfer-Encoding: chunked < Content-Type: text/html; charset=UTF-8 < X-Included-Test: true < X-Powered-By: Servlet/3.0 JSP/2.2 <BR>com.isomorphic.servlet.IDACall top-level exception<BR> <PRE> com.isomorphic.xml.XMLParsingException: [ "XML parser fatal error: file '(in memory stream)' line 1: org.xml.sax.SAXParseException: Content is not allowed in prolog." ] at com.isomorphic.xml.XML.parseXML(XML.java:206) at com.isomorphic.xml.XML.parseXML(XML.java:125) at com.isomorphic.xml.XML.toDSRecords(XML.java:290) at com.isomorphic.xml.XML.toDSRecords(XML.java:286) at com.isomorphic.xml.XML.toDSRecords(XML.java:278) at com.isomorphic.rpc.RPCManager.parseRequest(RPCManager.java:1854) at com.isomorphic.rpc.RPCManager.<init>(RPCManager.java:296) at com.isomorphic.rpc.RPCManager.<init>(RPCManager.java:281) at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:116) at com.isomorphic.servlet.IDACall.doPost(IDACall.java:73) at javax.servlet.http.HttpServlet.service(HttpServlet.java:751) at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152) at javax.servlet.http.HttpServlet.service(HttpServlet.java:844) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:242) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:216) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:132) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:338) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:74) at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:246) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:74) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3288) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3254) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57) at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2163) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2089) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2074) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1513) at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) </PRE> * Connection #0 to host myserver left intact * Closing connection #0
Code:
curl -o pai-response-1.txt --data _transaction=%3Ctransaction%20xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2F10%2FXMLSchema-instance%22%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3CtransactionNum%20xsi%3Atype%3D%22xsd%3Along%22%3E16%3C%2FtransactionNum%3E%3Coperations%20xsi%3Atype%3D%22xsd%3AList%22%3E%3Celem%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3Ccriteria%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3Coperator%3Eand%3C%2Foperator%3E%3C_constructor%3EAdvancedCriteria%3C%2F_constructor%3E%3Ccriteria%20xsi%3Atype%3D%22xsd%3AList%22%3E%3Celem%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3C_constructor%3EAdvancedCriteria%3C%2F_constructor%3E%3Coperator%3Eand%3C%2Foperator%3E%3Ccriteria%20xsi%3Atype%3D%22xsd%3AList%22%3E%3Celem%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3CfieldName%3ESTART_TIMESTAMP%3C%2FfieldName%3E%3Coperator%3EgreaterOrEqual%3C%2Foperator%3E%3Cvalue%20xsi%3Atype%3D%22xsd%3Adatetime%22%3E2013-01-02T00%3A01%3A00%3C%2Fvalue%3E%3C_constructor%3EAdvancedCriteria%3C%2F_constructor%3E%3C%2Felem%3E%3C%2Fcriteria%3E%3C%2Felem%3E%3C%2Fcriteria%3E%3C%2Fcriteria%3E%3CoperationConfig%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3CdataSource%3EmydataDataSource%3C%2FdataSource%3E%3CoperationType%3Efetch%3C%2FoperationType%3E%3CtextMatchStyle%3Esubstring%3C%2FtextMatchStyle%3E%3C%2FoperationConfig%3E%3CstartRow%20xsi%3Atype%3D%22xsd%3Along%22%3E0%3C%2FstartRow%3E%3CendRow%20xsi%3Atype%3D%22xsd%3Along%22%3E75%3C%2FendRow%3E%3CcomponentId%3Eisc_mydataReportPage_0_Table%3C%2FcomponentId%3E%3CappID%3EbuiltinApplication%3C%2FappID%3E%3Coperation%3EmydataDataSource_fetch%3C%2Foperation%3E%3ColdValues%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3Coperator%3Eand%3C%2Foperator%3E%3C_constructor%3EAdvancedCriteria%3C%2F_constructor%3E%3Ccriteria%20xsi%3Atype%3D%22xsd%3AList%22%3E%3Celem%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3C_constructor%3EAdvancedCriteria%3C%2F_constructor%3E%3Coperator%3Eand%3C%2Foperator%3E%3Ccriteria%20xsi%3Atype%3D%22xsd%3AList%22%3E%3Celem%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3CfieldName%3ESTART_TIMESTAMP%3C%2FfieldName%3E%3Coperator%3EgreaterOrEqual%3C%2Foperator%3E%3Cvalue%20xsi%3Atype%3D%22xsd%3Adatetime%22%3E2013-01-02T00%3A01%3A00%3C%2Fvalue%3E%3C_constructor%3EAdvancedCriteria%3C%2F_constructor%3E%3C%2Felem%3E%3C%2Fcriteria%3E%3C%2Felem%3E%3C%2Fcriteria%3E%3C%2FoldValues%3E%3C%2Felem%3E%3C%2Foperations%3E%3C%2Ftransaction%3E --data "isc_tnum=1" --data "protocolVersion=1.0" http://myapp:myport/myapplication/myapplication/sc/IDACall?isc_rpc=1&isc_v=v8.2p_2012-08-28&isc_xhr=1 --header "Content-Type:application/x-www-form-urlencoded; charset=UTF-8" &
Code:
<transaction xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:type="xsd:Object"><transactionNum xsi:type="xsd:long">1</transactionNum><operations xsi:type="xsd:List"><elem xsi:type="xsd:Object"><criteria xsi:type="xsd:Object"><operator>and</operator><_constructor>AdvancedCriteria</_constructor><criteria xsi:type="xsd:List"><elem xsi:type="xsd:Object"><_constructor>AdvancedCriteria</_constructor><operator>and</operator><criteria xsi:type="xsd:List"><elem xsi:type="xsd:Object"><fieldName>TIMESTAMP</fieldName><operator>greaterOrEqual</operator><value xsi:type="xsd:datetime">2013-01-02T00:00:00</value><_constructor>AdvancedCriteria</_constructor></elem></criteria></elem></criteria></criteria><operationConfig xsi:type="xsd:Object"><dataSource>MYDATADataSource</dataSource><operationType>fetch</operationType><textMatchStyle>substring</textMatchStyle></operationConfig><startRow xsi:type="xsd:long">0</startRow><endRow xsi:type="xsd:long">75</endRow><componentId>isc_MYDATAReportPage_0_Table</componentId><appID>builtinApplication</appID><operation>MYDATADataSource_fetch</operation><oldValues xsi:type="xsd:Object"><operator>and</operator><_constructor>AdvancedCriteria</_constructor><criteria xsi:type="xsd:List"><elem xsi:type="xsd:Object"><_constructor>AdvancedCriteria</_constructor><operator>and</operator><criteria xsi:type="xsd:List"><elem xsi:type="xsd:Object"><fieldName>TIMESTAMP</fieldName><operator>greaterOrEqual</operator><value xsi:type="xsd:datetime">2013-01-02T00:00:00</value><_constructor>AdvancedCriteria</_constructor></elem></criteria></elem></criteria></oldValues></elem></operations></transaction>
Comment