Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
Problem with web service data source
acpark
Hello,<br />
<br />
I am quite new to birt and am trying to create a report with a web service as the data source. The report simply send a number as a parameter to the web service and receives a name back. <br />
<br />
The web service is running on AXIS2 and I have monitored the traffic to the server and the web service appears to be working correctly. The editor I am using the java/reporting eclipse download from eclipse.<br />
<br />
When the report runs data field is blank - it shows the title and the date. When I edit the data set in eclipse, it produces a java exception the route of which is <br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>org.eclipse.datatools.connectivity.oda.design.ui.designsession.DesignSessionUtil toResultSetColumnsDesign( IResultSetMetaData )
INFO: Some optional metadata of column 1 are not available.
java.lang.UnsupportedOperationException
at org.eclipse.datatools.enablement.oda.xml.impl.ResultSetMetaData.getColumnDisplayLength(ResultSetMetaData.java:92)
</pre>
<br />
Any ideas as to the cause of the problem ?<br />
<br />
Thank you,<br />
Andrew Park
Find more posts tagged with
Comments
mwilliams
Is that the entire exception? Does the preview results tab in the dataSet editor return anything?
acpark
The complete exception is - <br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>May 26, 2011 9:24:07 AM org.eclipse.datatools.connectivity.oda.design.ui.designsession.DesignSessionUtil toResultSetColumnsDesign( IResultSetMetaData )
INFO: Some optional metadata of column 1 are not available.
java.lang.UnsupportedOperationException
at org.eclipse.datatools.enablement.oda.xml.impl.ResultSetMetaData.getColumnDisplayLength(ResultSetMetaData.java:92)
at org.eclipse.datatools.connectivity.oda.design.ui.designsession.DesignSessionUtil.toResultSetColumnsDesign(DesignSessionUtil.java:538)
at org.eclipse.datatools.enablement.oda.ws.ui.util.WSUIUtil.updateResultSetDesign(WSUIUtil.java:236)
at org.eclipse.datatools.enablement.oda.ws.ui.util.WSUIUtil.updateDesign(WSUIUtil.java:195)
at org.eclipse.datatools.enablement.oda.ws.ui.util.WSUIUtil.savePage(WSUIUtil.java:106)
at org.eclipse.datatools.enablement.oda.ws.ui.wizards.SOAPRequestPage.collectDataSetDesign(SOAPRequestPage.java:239)
at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetWizardPageCore.finishDataSetDesign(DataSetWizardPageCore.java:395)
at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetWizardBase.collectDataSetDesignFromPage(DataSetWizardBase.java:365)
at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetWizardBase.finishDataSetDesign(DataSetWizardBase.java:387)
at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetWizardBase.getResponseSession(DataSetWizardBase.java:123)
at org.eclipse.datatools.connectivity.oda.design.internal.designsession.DataSetDesignSessionBase.finishDataSetDesign(DataSetDesignSessionBase.java:442)
at org.eclipse.datatools.connectivity.oda.design.internal.designsession.DataSetDesignSessionBase.flush(DataSetDesignSessionBase.java:237)
at org.eclipse.datatools.connectivity.oda.design.ui.designsession.DataSetDesignSession.flush(DataSetDesignSession.java:136)
at org.eclipse.birt.report.designer.data.ui.dataset.PropertyPageWrapper.canLeave(PropertyPageWrapper.java:118)
at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog.showPage(AbstractPropertyDialog.java:568)
at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog.showSelectionPage(AbstractPropertyDialog.java:482)
at org.eclipse.birt.report.designer.data.ui.dataset.DataSetEditor.showSelectionPage(DataSetEditor.java:911)
at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog$2$1.run(AbstractPropertyDialog.java:438)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog$2.selectionChanged(AbstractPropertyDialog.java:433)
at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:162)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:160)
at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2162)
at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1190)
at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1220)
at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:228)
at org.eclipse.jface.util.OpenStrategy.access$4(OpenStrategy.java:222)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:389)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3540)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3161)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at org.eclipse.birt.report.designer.ui.dialogs.BaseDialog.open(BaseDialog.java:111)
at org.eclipse.birt.report.designer.data.ui.actions.EditDataSetAction.doAction(EditDataSetAction.java:105)
at org.eclipse.birt.report.designer.internal.ui.views.actions.AbstractElementAction.run(AbstractElementAction.java:70)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3540)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3161)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
at org.eclipse.equinox.launcher.Main.main(Main.java:1384)
</pre>
<br />
This exception occurred when the data source was edited and the row mapping 'tab' selected. <br />
<br />
The SOAP Request tab generated the exception<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>May 26, 2011 9:33:41 AM org.eclipse.datatools.connectivity.oda.design.ui.designsession.DesignSessionUtil toResultSetColumnsDesign( IResultSetMetaData )
INFO: Some optional metadata of column 1 are not available.
java.lang.UnsupportedOperationException
at org.eclipse.datatools.enablement.oda.xml.impl.ResultSetMetaData.getColumnDisplayLength(ResultSetMetaData.java:92)
at org.eclipse.datatools.connectivity.oda.design.ui.designsession.DesignSessionUtil.toResultSetColumnsDesign(DesignSessionUtil.java:538)
at org.eclipse.datatools.enablement.oda.ws.ui.util.WSUIUtil.updateResultSetDesign(WSUIUtil.java:236)
at org.eclipse.datatools.enablement.oda.ws.ui.util.WSUIUtil.updateDesign(WSUIUtil.java:195)
at org.eclipse.datatools.enablement.oda.ws.ui.util.WSUIUtil.savePage(WSUIUtil.java:106)
at org.eclipse.datatools.enablement.oda.ws.ui.wizards.SOAPRequestPage.collectDataSetDesign(SOAPRequestPage.java:239)
at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetWizardPageCore.finishDataSetDesign(DataSetWizardPageCore.java:395)
at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetWizardBase.collectDataSetDesignFromPage(DataSetWizardBase.java:365)
at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetWizardBase.finishDataSetDesign(DataSetWizardBase.java:387)
at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetWizardBase.getResponseSession(DataSetWizardBase.java:123)
at org.eclipse.datatools.connectivity.oda.design.internal.designsession.DataSetDesignSessionBase.finishDataSetDesign(DataSetDesignSessionBase.java:442)
at org.eclipse.datatools.connectivity.oda.design.internal.designsession.DataSetDesignSessionBase.flush(DataSetDesignSessionBase.java:237)
at org.eclipse.datatools.connectivity.oda.design.ui.designsession.DataSetDesignSession.flush(DataSetDesignSession.java:136)
at org.eclipse.birt.report.designer.data.ui.dataset.PropertyPageWrapper.canLeave(PropertyPageWrapper.java:118)
at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog.showPage(AbstractPropertyDialog.java:568)
at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog.showSelectionPage(AbstractPropertyDialog.java:482)
at org.eclipse.birt.report.designer.data.ui.dataset.DataSetEditor.showSelectionPage(DataSetEditor.java:911)
at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog$2$1.run(AbstractPropertyDialog.java:438)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog$2.selectionChanged(AbstractPropertyDialog.java:433)
at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:162)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:160)
at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2162)
at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1190)
at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1220)
at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:228)
at org.eclipse.jface.util.OpenStrategy.access$4(OpenStrategy.java:222)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:389)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3540)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3161)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at org.eclipse.birt.report.designer.ui.dialogs.BaseDialog.open(BaseDialog.java:111)
at org.eclipse.birt.report.designer.data.ui.actions.EditDataSetAction.doAction(EditDataSetAction.java:105)
at org.eclipse.birt.report.designer.internal.ui.views.actions.AbstractElementAction.run(AbstractElementAction.java:70)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3540)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3161)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
at org.eclipse.equinox.launcher.Main.main(Main.java:1384)
</pre> <br />
<br />
The SOAP request is <br />
<pre class='_prettyXprint _lang-auto _linenums:0'><?xml version="1.0"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<m:get_empname xmlns:m="http://localhost:9090/axis2/services/ws_crew/">
<m:empno xsi:type="xsd:int">&?empno?&</m:empno>
</m:get_empname>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope></pre>
<br />
SOAP Response generates the same exception from org.eclipse.datatools.enablement.oda.xml.impl.ResultSetMetaData.getColumnDisplayLength(ResultSetMetaData.java:92)<br />
<br />
If I put a default value for the parameter, preview results does not return any results.<br />
<br />
I have also tried other web service examples - the email validate example from birtreporting.com and had similar results.<br />
<br />
Thank you for your help.<br />
<br />
Andrew Park.
acpark
Additional info ... the trace from the web service when the report is run <br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>SENDING DATA..
/* sending time = 9:33:24*/
/* message uuid = d2194e94-8772-1e01-2515-000c29b6a056*/
POST /services/ws_crew HTTP/1.1
Content-Type: text/xml
Connection: Close
SoapAction: http://localhost:9090/axis2/services/ws_crew/get_empname
User-Agent: Java/1.6.0_25
Host: localhost:9099
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Length: 453
<?xml version="1.0"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<m:get_empname xmlns:m="http://localhost:9090/axis2/services/ws_crew/">
<m:empno xsi:type="xsd:int">8525</m:empno>
</m:get_empname>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
RETRIEVING DATA..
/* retrieving time = 9:33:24*/
/* time throughput = 0 sec(s)*/
HTTP/1.1 200 OK
Date: Thu May 26 09:33:24 2011 GMT
Server: Axis2C/1.6.0 (Simple Axis2 HTTP Server)
Content-Type: text/xml;charset=iso-8859-1
Connection: close
Content-Length: 258
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><n:get_empnameResponse xmlns:n="http://localhost:9090/axis2/services/ws_crew/"><empname>BALDWIN CHRIS</empname></n:get_empnameResponse></soapenv:Body></soapenv:Envelope>
</pre>
acpark
Hi,
I have done a little more work and the email validator example is producing the exceptions but is showing a result when previewed. My own web service is still not showing when previewed. So the exceptions and lack of results do not appear to be linked.
I have added the SOAP trace in a previous message, any ideas as to why there is no result in the data preview or report.
Thank you,
Andrew Park
acpark
I have found the reason for no data being returned ... the row mapping was not correct. Still getting the exceptions though ...
mwilliams
Are the exceptions causing the data not to come? Are they only in the dataSet editor or do they show when you run the report? Is it something that you can just ignore?