Using a Web Service as a data provider for a Crystal Report

<p>I&#39;m trying to write a Crystal Reports XI report that uses a Web Service as the data provider.  I have a Web Service written in ColdFusion that looks like this.<br /><br /><cfcomponent displayName="FindEmployee" ><br />   <cffunction name="FindEmployeeSort" access="remote"          <br />               returnType="xml" output="false"><br />      <cfdump var=form><br />      <cfset myXML = ""><br />       <!--- FindEmployeeSort body ---><br />       <cfquery name="EmployeeQuery" datasource="Production"><br />           Select * from employee<br />          <cfif isdefined(&#39;form.lastname&#39;)><br />             WHERE lastname LIKE &#39;%#form.lastname#%&#39; <br />          </cfif><br />           Order by lastname asc <br />        </cfquery><br />     <cfreturn EmployeeQuery>  <br />   </cffunction><br /></cfcomponent><br /><br />I can get the web service to work from a ColdFusion page (either locally or on a remote server).</p><p>When I try to create the CR data source, I get the following error:</p><p>Crystal Reports<br />! Logon Failed.<br />Details: Cannot find correspondign table information in the XML file</p><p>The steps I took were:<br />* Choose XML from the "Avalable Data Sources"<br />* Choose "Use Web Service Data Source"<br />* Choose "Use HTTP(S) WSDL" with a url of <a href="http://host/directory/FindEmployee.cfc?wsdl">http://host/directory/FindEmployee.cfc?wsdl</a><br />* Leave the "HTTP(S) Web Service User ID:" and "HTTP(S) Web Service Password:" parameters blank<br />* Accept the defaults for Services, Ports, and Methods.  They are respectively FindEmployee, FindEmployee.cfc and FindEmployeeSort.<br />* Then get the error</p><p>The most likely candidate to me is the user id and password, but I have no idea what to use.  I didn&#39;t have to set any login information up in the ColdFusion pages that I used to test the Web Service.</p><p>Any ideas where to go from here?</p><p>Thanks,</p><p>Brian</p>

Please re-post if this is still an issue to the Java Development - Crystal Reports Forum or purchase a case and have a dedicated support engineer work with you directly

Similar Messages

  • Crystal Report using a Web Service as a data source?

    I am trying to figure out how to use a Web Service as a data source in Crystal Reports. When I use the report wizard, I do not see an option to select Web Service as a new connection. We are currently using Crystal Reports 2008 v12.1.0.892. Could it be that my version does not support this? Is there an update that contains this feature? Please help.

    Thanks for your response. Unfortunately I do not see a radio button for Web Services. I've read that it should be there too. Could it be a missing plug-in or patch?
    Here are screen shots of what I see when trying to connect to an XML. Any thoughts?
    [http://s26.photobucket.com/albums/c120/hpolit/?action=view&current=wizard1.jpg]
    [http://s26.photobucket.com/albums/c120/hpolit/?action=view&current=wizard2.jpg]

  • Trying to programmatically set the data-source for a Crystal reports report.

    I've got the following existing procedure that I need to add to in order to programmatically set the data-source (server, database, username, and password) for a Crystal reports report.
     I added the connectionInfo parts, but can’t figure out how to attach this to the existing
    this._report object.
    This is currently getting the connection data from the report file, but I now need to populate this connection data from a 'config.xml' text file.
    Am I trying to do this all wrong?
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using CrystalDecisions.CrystalReports.Engine;
    using WGS.Reports.Reports;
    using CrystalDecisions.Shared;
    using WGS.Reports.Forms;
    namespace WGS.Reports
    public class ReportService
    ReportClass _report;
    ParameterFields paramFields;
    ConnectionInfo connectionInfo; // <- I added this
    public ReportService()
    public void DisplayReport(string reportName, int allocationNo)
    if (reportName.ToLower() == "allocationexceptions")
    this._report = new AllocationExceptions();
    PrepareConnection(); // <- I added this
    PrepareAllocationExceptionReport(allocationNo);
    this.DisplayReport();
    private void PrepareConnection() // <- I added this
    //test - these will come from the config.xml file
    this.connectionInfo = new ConnectionInfo();
    this.connectionInfo.ServerName = "testserv\\test";
    this.connectionInfo.DatabaseName = "testdb";
    this.connectionInfo.UserID = "testuser";
    this.connectionInfo.Password = "test";
    this.connectionInfo.Type = ConnectionInfoType.SQL;
    private void PrepareAllocationExceptionReport(int allocationNo)
    this.paramFields = new ParameterFields();
    this.paramFields.Clear();
    ParameterField paramField = new ParameterField { ParameterFieldName = "@AllocationNo" };
    ParameterDiscreteValue discreteVal = new ParameterDiscreteValue { Value = allocationNo };
    paramField.CurrentValues.Add(discreteVal);
    paramFields.Add(paramField);
    private void DisplayReport()
    frmReportViewer showReport = new frmReportViewer();
    showReport.ReportViewer.ReportSource = this._report;
    showReport.ReportViewer.ParameterFieldInfo = paramFields;
    showReport.ShowDialog();
    showReport.Dispose();
    Any help would be much appreciated.

    Hi Garry,
    Please post SAP Crystal Reports questions in their own forums here:
    SAP Crystal Reports, version for Visual Studio
    We don't provide support for this control now. Thanks for your understanding.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Trying to change the data source for a Crystal Report.

    <p>The method below represents my best attempt to programatically change the data source of a Crystal Report. The goal is to have a routine that will update the data source for reports after they have been distributed to production servers. So far I have not been successful in saving the report back to the CMS. No exceptions are thrown, but when I view the Database Configuration of the report in the CMC nothing has changed.
    </p>
    <p>
    Am I missing a step, or is there another way to accomplish this?
    </p>
    <p>
    Thank you.
    </p>
    <hr />
    <pre>
    private void test(String reportName)
       throws SDKException, ReportSDKException, java.io.IOException
       IInfoObjects newInfoObjects;
       IInfoObject reportObj;
       ReportClientDocument clientDoc = new ReportClientDocument();
       DatabaseController dc;
       PropertyBag pBag;
       PropertyBag logonProps;
       ConnectionInfo newConInfo;
       ConnectionInfo oldConInfo;
       ConnectionInfos conInfos;
       int connOptions = DBOptions._ignoreCurrentTableQualifiers + DBOptions._doNotVerifyDB; //0;
       Fields connFields = null;
       String queryStr = "Select * From CI_INFOOBJECTS " +
          "Where SI_NAME='wfr.rpt' AND SI_KIND='CrystalReport' AND SI_INSTANCE=0";
       newInfoObjects = getCms().executeQuery(queryStr);
       if(newInfoObjects.size() > 0)
          reportObj = (IInfoObject)newInfoObjects.get(0);
          try
             clientDoc = getCms().getReportAppFactory().openDocument(
                reportObj
                , OpenReportOptions._refreshRepositoryObjects
                , java.util.Locale.US);
             dc = clientDoc.getDatabaseController();
             conInfos = dc.getConnectionInfos(null);
             for(int i = 0; i < conInfos.size(); ++i)
                oldConInfo = (ConnectionInfo)conInfos.getConnectionInfo(i);
                newConInfo = (ConnectionInfo)oldConInfo.clone(true);
                pBag = newConInfo.getAttributes();
                pBag.putStringValue("QE_ServerDescription", "alio");
                logonProps = new PropertyBag();
                logonProps.putStringValue("Trusted_Connection", "false");
                logonProps.putStringValue("Server", "alio");
                pBag.put("QE_LogonProperties", logonProps);
                newConInfo.setUserName("admin");
                newConInfo.setPassword("password");
                dc.replaceConnection(
                   oldConInfo
                   , newConInfo
                   , connFields
                   , connOptions);
          catch(ReportSDKServerException Ex)
             String msg = "A server error occured while processing the " + reportObj.getKind()
                + " object, " + reportObj.getTitle() + " (" + reportObj.getCUID() + "), from the CMS.";
             Utility.errorOut(msg, Ex);
          catch(Exception Ex)
             String msg = "An error occured while processing the " + reportObj.getKind()
                + " object, " + reportObj.getTitle() + " (" + reportObj.getCUID() + "), from the CMS.";
             Utility.errorOut(msg, Ex);
          finally
             clientDoc.save();
             getCms().commitToInfoStore(newInfoObjects);
             clientDoc.close();
    </pre>
    Edited by: Mark Young on Sep 10, 2009 2:16 PM

    <style type="text/css">
    /<![CDATA[/
        body
            font-size: 1.125em;
              font-family: helvetica,arial,"sans-serif";
          .code{font-family: "courier new",courier,mono,monospace}
          .bi{font-style: italic; font-weight: bold;}
    /]]>/
    </style>
    <p>Justin,</p>
    <p>
    Thank you for the reply. Time constraints have not allowed me to post back to this tread
    till now. I will try your suggestion. My assumption is that <i>Save the report back to the
    info store</i> refers to <span class="code">IInfoStore.commit(IInfoObjects)</span>.
    </p>
    <p>
    I'm afraid that I do not understand why I don't want to change the report client document,
    or why <i>successfully exporting the report with the new login/password</i> is not what I
    want to do. Any explanation on that statement would be appreciated.
    </p>
    <p>
    I did find a way to accomplish my goal. It involved adding the SSOKEY property to the
    logon property bag. Below you'll see my revised code which modifies the report logon and
    server. I have no idea what
    this does, and SAP support has not been able to tell me why it works. However, what I
    discovered is that if I changed the report option, <b>Database Configuration -> When
    viewing report:</b>, in the CMS to <span class="bi">Use same database logon as when report
    is run</span> from <span class="bi">Prompt the user for database logon</span>, then the
    SSOKEY property had been added to the logon property bag having an empty string as its
    value. This allowed me to successfullyupdate and save the modified logon back to the CMS.
    </p>
    <p>
    So I took a chance and added code to always add the SSOKEY property with an empty string
    as its value, and I could then successfully modify and save the report's logon info
    and server. Again, I don't know what this means, but it has worked so far. If anyone has
    some insight or comments, either are welcome. Thank you in advance.
    </p>
    <br />
    <hr />
    <pre>
    private void changeDataSourceOfAWFCrystalReports()
       throws SDKException, ReportSDKException, java.io.IOException
       IInfoObjects newInfoObjects = null;
       IInfoObject reportObj = null;
       IReport curReport = null;
       ReportClientDocument clientDoc = new ReportClientDocument();
       DatabaseController dbController;
       PropertyBag pBag;
       PropertyBag logonProps;
       ConnectionInfo newConInfo;
       ConnectionInfo oldConInfo;
       ConnectionInfos conInfos;
       int connOptions = DBOptions._ignoreCurrentTableQualifiers + DBOptions._doNotVerifyDB;
       Fields connFields = null;
       String outputStr;
       int numOfReports;
       int numOfQueryPages;
       double progressIncrementPerPage = 30;
       int progressIncrementPerReport = 0;
       // Path query to reports is in a .properties file.
       String queryStr = getAppSettingsFile().getWscAwfCrystalReportPathQuery();
       try
          // Executes IInfoStore.getPageingQuery() and generates a list of queries.
          getCms().setPathQueryQueries(queryStr, 100);
          numOfQueryPages = 0;
          // Gets a List&lt;String&gt; of the IPageResult returned from IInfoStore.getPageingQuery().
          if(getCms().getPathQueryQueries() != null)
             numOfQueryPages = getCms().getPathQueryQueries().size();
          if(numOfQueryPages &gt; 0)
             // Use 30% of progress bar for the following loop.
             progressIncrementPerPage = Math.floor(30.0/(double)numOfQueryPages);
          for(int queryPageIndex = 0; queryPageIndex &lt; numOfQueryPages; ++queryPageIndex)
             // Gets the IInfoObjects returned from the current page query
             newInfoObjects = getCms().getPathQueryResultSetPage(queryPageIndex);
             numOfReports = newInfoObjects.size();
             if(newInfoObjects != null && numOfReports &gt; 0)
                progressIncrementPerReport =
                   Math.round((float)Math.floor(progressIncrementPerPage/(double)numOfReports));
                for(int reportIndex = 0; reportIndex &lt; numOfReports; ++reportIndex)
                   reportObj = (IInfoObject)newInfoObjects.get(reportIndex);
                   curReport = (IReport)reportObj;
                   clientDoc = getCms().getReportAppFactory().openDocument(
                      reportObj
                      , OpenReportOptions._refreshRepositoryObjects
                      , java.util.Locale.US);
                   dbController = clientDoc.getDatabaseController();
                   conInfos = dbController.getConnectionInfos(null);
                   for(int conInfosIndex = 0; conInfosIndex &lt; conInfos.size(); ++conInfosIndex)
                      oldConInfo = (ConnectionInfo)conInfos.getConnectionInfo(conInfosIndex);
                      newConInfo = (ConnectionInfo)oldConInfo.clone(true);
                      pBag = newConInfo.getAttributes();
                      pBag.putStringValue(
                         "QE_ServerDescription"
                         ,getConfigFile().getDBDataSourceConnections());
                      logonProps = new PropertyBag();
                      logonProps.putStringValue("Trusted_Connection", "false");
                      <b>logonProps.putStringValue("SSOKEY", "");</b>
                      logonProps.putStringValue(
                         "Server"
                         ,getConfigFile().getDBDataSourceConnections());
                      pBag.put("QE_LogonProperties", logonProps);
                      newConInfo.setUserName(getConfigFile().getUNVConnectionUserName());
                      newConInfo.setPassword(getConfigFile().getUNVConnectionPasswordDecrypted());
                      dbController.replaceConnection(
                         oldConInfo
                         , newConInfo
                         , connFields
                         , connOptions);
                      newConInfo = (ConnectionInfo)conInfos.getConnectionInfo(conInfosIndex);
                   } // end for on conInfosIndex
                   clientDoc.save();
                } // end for on reportIndex
             } // end if on newInfoObjects
          } // end for on queryPageIndex
       } // end try
       catch(ReportSDKServerException Ex)
          // handle...
       catch(Exception Ex)
          // handle...
       finally
          getCms().commitToInfoStore(newInfoObjects);
          if(clientDoc != null)
             clientDoc.close();
    </pre>

  • Saving the data fetched for scheduled Crystal Reports

    We have requirement to schedule report generation . An rpt will be provided as input to scheduler and whenever the schedule is triggered , the rpt should run to fetch data from database (without viewing the report ) and save rpt with fetched data on the file system in rpt format. Is there an API in SDK that provides this functionality?

    "Scheduling" is available only in CR Server or BOE suite of products. You can "export" the report to disk instead. This will run the report to fetch data and save it to disk with data. Here is an example code:
    import com.crystaldecisions.reports.sdk.*;
    import com.crystaldecisions.sdk.occa.report.lib.*;
    import com.crystaldecisions.sdk.occa.report.exportoptions.*;
    import java.io.*;
    public class JRCExportReport {
         static final String REPORT_NAME = "JRCExportReport.rpt";
         static final String EXPORT_FILE = "C:\\myExportedReport.pdf";
         public static void main(String[] args) {
              try {
                   //Open report.               
                   ReportClientDocument reportClientDoc = new ReportClientDocument();               
                   reportClientDoc.open(REPORT_NAME, 0);
                   //NOTE: If parameters or database login credentials are required, they need to be set before.
                   //calling the export() method of the PrintOutputController.
                   //Export report and obtain an input stream that can be written to disk.
                   //See the Java Reporting Component Developer's Guide for more information on the supported export format enumerations
                   //possible with the JRC.
                   ByteArrayInputStream byteArrayInputStream = (ByteArrayInputStream)reportClientDoc.getPrintOutputController().export(ReportExportFormat.PDF);
                   //Release report.
                   reportClientDoc.close();
                   //Use the Java I/O libraries to write the exported content to the file system.
                   byte byteArray[] = new byte [byteArrayInputStream.available()];
                   //Create a new file that will contain the exported result.
                   File file = new File(EXPORT_FILE);
                   FileOutputStream fileOutputStream = new FileOutputStream(file);
                   ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(byteArrayInputStream.available());
                   int x = byteArrayInputStream.read(byteArray, 0, byteArrayInputStream.available());
                   byteArrayOutputStream.write(byteArray, 0, x);
                   byteArrayOutputStream.writeTo(fileOutputStream);
                   //Close streams.
                   byteArrayInputStream.close();
                   byteArrayOutputStream.close();
                   fileOutputStream.close();
                   System.out.println("Successfully exported report to " + EXPORT_FILE);
              catch(ReportSDKException ex) {
                   ex.printStackTrace();
              catch(Exception ex) {
                   ex.printStackTrace();
    Edited by: Aasavari Bhave on Oct 29, 2009 2:26 PM
    Edited by: Aasavari Bhave on Oct 29, 2009 2:29 PM

  • XML and Web Service Data Source Missing in Crystal Reports for VS

    I would like to use a Web Service as the data source for a Crystal Report that will be running outside of my Visual Studio application.  So setting the data source to the web service in code is not possible.  My understanding is Crystal Reports has a connection (in the Database Expert under New Connection) named XML and Web Service.  Here you can select web service and enter the WSDL URL for the web service.  However it does not appear in the list for Crystal Reports for Visual Studio.  Does this connection type come with the Visual Studio version of Crystal Reports and if not is their a way to obtain it? 
    Thank you for your assistance.

    None of the bundled versions of CR have the driver. Reason is that the driver responsible for these connections requires the Java framework and I suspect MS would not be too pleased if we installed the Java framework. The stand alone versions, since they are not part of any bundle can and do install the Java framework and the driver. Note that even the latest release of CR - CRVS2010 does not have the driver as it essentially becomes a bundle or a VS2010 plug-in.
    So, the short of it is; you have to obtain a stand-alone version of CR. I'd recommend CR 2008 (12.x) as CRXI R2 will run out of support in June of this year.
    - Ludek

  • How do you access a web service to insert data into table?

    Ok I have a simple html/jsp survey form to host on our web site. Because of firewall issues I cannot do a direct connect to the database and insert the data from the form. So I need to take the data from the survey form, and pass it to an existing web service, or create a web service that will insert this information for me into the database table?
    Thanks again.
    orozco

    Thanks for the reply shanu. Well, because of firewall issues, as a work around we use a web service to insert data into the database table. Since the Web Service already exist, we just thought it would be easy enough just to pass the parameters to it, and have it do the insert. So really all I need is just to communicate with the already existing web service. I will be honest though I have not really worked with web services before.
    orozcom

  • Web service as a data source in Crystal Reports 2008

    Post Author: jpdv
    CA Forum: Data Connectivity and SQL
    I've tried to setup a new report using a web service as a data source.
    Untill now, I have not been successful. I always get the same error: unable to log on to data source.
    Is there any sample that I can try so that I understand what I'm doing wrong?
    Or any documentation on the subject?
    Thanks.

    Having the same issues here also.
    I can see the wsdl file being accessed successfully in the web access log, but Xcelsius v5.3 return "unable to load URL"
    Only thing I can guess is that the schema is "untyped"
    So, nobody in SAP has a solution?

  • Stored Procedure used as a data source for an Apex report

    Just wondering whether anyone has used a Stored Procedure as the data source for an Apex report. An option to select Stored Procedures(s) as the data source does not appear within the IDE (only displays Table, Views, Functions).
    Do you have to return the definition of the Stored Procedure via a function ... if so, how is this done ?
    Thank you.

    >
    Welcome to the forum: please read the FAQ and forum sticky threads (if you haven't done so already), and update your profile with a real handle instead of "920338".
    When you have a problem you'll get a faster, more effective response by including as much relevant information as possible upfront. This should include:
    <li>Full APEX version
    <li>Full DB/version/edition/host OS
    <li>Web server architecture (EPG, OHS or APEX listener/host OS)
    <li>Browser(s) and version(s) used
    <li>Theme
    <li>Template(s)
    <li>Region/item type(s)
    With APEX we're also fortunate to have a great resource in apex.oracle.com where we can reproduce and share problems. Reproducing things there is the best way to troubleshoot most issues, especially those relating to layout and visual formatting. If you expect a detailed answer then it's appropriate for you to take on a significant part of the effort by getting as far as possible with an example of the problem on apex.oracle.com before asking for assistance with specific issues, which we can then see at first hand.
    Just wondering whether anyone has used a Stored Procedure as the data source for an Apex report. An option to select Stored Procedures(s) as the data source does not appear within the IDE (only displays Table, Views, Functions).
    Do you have to return the definition of the Stored Procedure via a function ... if so, how is this done ? When asking a question about "reports" it's firstly essential to differentiate between standard and interactive reports. Standard reports can be based on tables, views, SQL queries, or PL/SQL function blocks that return the text of a SQL query. Interactive reports can only be based on a SQL query.
    "Stored Procedures" are therefore not an option (unless you are using the term loosely to describe any PL/SQL program unit located in the database, thus including functions). What would a procedure used as the source of a report actually do? Hypothetically, by what mechanisms would the procedure (a) capture/select/generate data; and (b) make this data available for use in an APEX report? Why do you want to base a report on a procedure?

  • Can we use REST web service as Data source in SSRS? !!!!NOT SOAP!!!!

    Hello,
    We have requirement to use the REST web service as the Data source of SSRS.  Tried with XML as Data Source, but unfortunately I could not succeed because the query expects SOAPAction which is not available in REST Service.
    Do we have any option to use REST Service, if so please provide some basic example, so that I can try out some options.
    If not, do we have any alternate solutions to handle these situations?
    Thanks!
    Vinay

    Hi Vinay.
    After looking on it for some time, I am afraid currently there is no document to talk on how to use the REST web service as a data source.
    You can use the link
    http://technet.microsoft.com/en-US/library/aa964129(v=SQL.90).aspx for a renference.
    From a support perspective currently this is really beyond what we can do here in the forums. If you cannot determine your answer here or on your own, consider opening a
    support case with us. Visit this link to see the various support options that are available to better meet your needs:  http://support.microsoft.com/default.aspx?id=fh;en-us;offerprophone 
    Thanks,

  • Using eclipse Web services to retrieve and update data to Oracle DB

    Hi,
    Can I have a sample about to use eclipse to retrieve/update data from Oracle DB by using axis web services?
    thank you

    Hi,
    If you have a sheet in Excel with data from a SharePoint Online list you can switch to the PowerPivot ribbon and ask to add it to the model. This will allow you to reference this table when you create a PowerView report.
    This workbook, with the Odata feed can then be refreshed via the scheduled refresh feature of Power BI Site.
    Insert the data using the Odata feed
    The Odata URL will be something like:
    https://MyCompany.sharepoint.com/MySite/MySubSite/_vti_bin/listdata.svc/MyList
    If you are not sure what is the list name, you can drop just browse to
    https://MyCompany.sharepoint.com/MySite/MySubSite/_vti_bin/listdata.svc and this will provide a list of all the lists in that site/sub-site.
    Once you have those in the model and you setup scheduled refresh, it will refresh the lists directly from SPO (using the owner identity)
    Hope this helps.
    Guy
    GALROY

  • Using 2 web services data sources in the same report

    I've been trying unsuccesffuly to use 2 web services data sources in a report. The main report accesses the first web service to get job summary information. 3 fields are are passed as parameters to a sub-report and used as parameters for the sub-report selection. Each report works fine independently, but when I link them together the subreport alway fails to retrieve data.

    Please re-post if this is still an issue or purchase a case and have a dedicated support engineer work with you directly:
    http://store.businessobjects.com/store/bobjamer/DisplayProductByTypePage&parentCategoryID=&categoryID=11522300?resid=-Z5tUwoHAiwAAA8@NLgAAAAS&rests=1254701640551

  • Cannot pass data from Web Dynpro to XI using a Web Service

    Hi All,
    We have been facing some issues when we try to pass on a SOAP / XML message via a WSDL from a WebDynpro App to XI - No data is reaching XI interface. The payload data details for the inbound message in XI is empty. When testing the WSDL separately using XML spy the data passes to the XI successfully.
    The problem only occurs when we pass on the data from the WebDynpro component.
    We are also passing additional information _user and _password to ensure authenticated access.
    Steps that we completed so far:
    1. Created a WSDL which we can use to communicate to XI interface.
    2. Imported WSDL using webdynpro Web Service Model import
    functionality.
    3. Bound WSDL with webdynpro components.
    4. Pass on data through WSDL contexts.
    5. Execute WSDL model.
    Any help would be much appreciated.
    Thanks,
    RR

    Hi,
    please check document:
    Almost Everything about Transaction Launcher u2013 Part
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/3059fb20-987f-2e10-ef82-d147b9b5e8b4
    Denis

  • Return Data from Oracle using a web service in AXIS - please help

    Hi Forum,
    I am very new to web services and Java tech. and recently I have been assigned to work with technology and I am struggling to learn it and need your help and assistance.
    I am trying to return some data from a an oracle database but I have to do that using a web service and I am using AXIS. For example below is a simple program that returns two columns for the demo EMP table
    import java.sql.*;
    class emp {
    public static void main(String args[])
    throws ClassNotFoundException, SQLException {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    // or you can use:
    // DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott", "tiger");
    Statement stmt = conn.createStatement( );
    ResultSet rset = stmt.executeQuery("select * from emp");
    while(rset.next( )) {
    System.out.println(rset.getString(1));
    System.out.println(rset.getString(2));
    rset.close( );
    stmt.close( );
    conn.close( );
    } but I do not know how to convert this into a web service.
    Please help.
    Thanks in advance.
    Regards,
    Ravi

    The following code returns Document. I will be calling the below function to convert my Resultset to document. In my JWS file i simply call a method with parameters. can a web service method in .jws file return Document type. It shows error will doing so. Please help me.
    public static Document toDocument(ResultSet rs) throws ParserConfigurationException, SQLException
              Document res_doc = null;
              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
              DocumentBuilder builder = factory.newDocumentBuilder();
              Document doc = builder.newDocument();
              Element results = doc.createElement("Results");
              doc.appendChild(results);
              ResultSetMetaData rsmd = rs.getMetaData();
              int colCount = rsmd.getColumnCount();
              while (rs.next())
              Element row = doc.createElement("Row");
              results.appendChild(row);
              for (int i = 1; i <= colCount; i++)
              String columnName = rsmd.getColumnName(i);
              Object value = rs.getObject(i);
              Element node = doc.createElement(columnName);
              node.appendChild(doc.createTextNode(value.toString()));
              row.appendChild(node);
              return res_doc;
         }

  • How to use RESTful Web Services provided from BO Enterprise

    Hi Experts,
    i am trying to use the Web Service "BIPLATFORM" provided by BusinessObjects Enterprise. As I have trouble reading the WSDL i tried to use the REST interface.
    Unfortunatally I cannot find any Docu about that in the internet.
    Does anybody have experience in using the BIPLATFORM web service?
    Thank you in advance

    Thank you very much for your instant answer and help!
    I got it now: "no rest in biplatform service"
    What made me think REST is possible was only the following entry in ...\webapps\dswsbobje\WEB-INF\conf\axis2.xml
    "<!-- Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguiush those endpoints
      -->
    - <!-- In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this
      -->
    - <!-- context path to proper Axis2 servlets
      -->
    - <!-- <parameter name="servicePath">services</parameter>
      -->
    - <!-- <parameter name="restPath">rest</parameter>
      -->
    - <!--  Following parameter will completely disable REST handling in Axis2
      -->
      <parameter name="disableREST" locked="true">false</parameter>
    - <!-- POJO deployer , this will alow users to drop .class file and make that into a service
      -->
    Anyway I was only hoping to get REST work as the WSDL provided by BusinessObjects Enterprise is not valid to be parsed by SAP Netweaver ABAP SOAP Runtime...
    I regret but i have to add: The fact that the web service is only meant to work with certain consumers shows that the people responsible have little to no understanding what the idea of SOAP, SOA and WSDL really is. On the one hand SAP was always pushing their ESOA idea but on the other hand we got this strange limitations like "only for these clients..."
    This is exactly the opposite of the SOAP-idea:
    "The framework has been designed to be independent of any particular programming model and other implementation specific semantics." - http://www.w3.org/TR/2007/REC-soap12-part1-20070427/

Maybe you are looking for

  • Announcing SAP Predictive Analytics 2.0!

    Announcing the release today of Predictive Analytics 2.0, the revolutionary offering from SAP that combines automated and expert predictive capabilities designed for departmental or Big Data sources. This release delivers on SAP's published roadmap o

  • Background graphic question?

    Hello, I'm very new to using Dreamwaeaver and I'd like to create a background graphic that has text across it so that it is basically in the background at all times on my main web page. I've been looking at inserting the image file and playing with t

  • Macbook Air running slow--receiving error message when trying to post Etrecheck report

    My Macbbok air is running really slow over the past couple of weeks.  I'm pretty new to the world of Macs so not sure what I can and cannot do to improve performance. I am trying to include the report from Etrecheck in my post, but everytime I paste

  • DateDiff to show working days

    Hello I have set up a calculated field in a report to show the number of days between a job start and end date. I am using T-SQL: =DateDiff("D", fields!jobstartdate.value, fields!jobenddate.value) This works fine, but is of course including weekends

  • Oracle Obiee - Send Obiee reports to multiple recipients

    Hello All, Can anyone tell me how to send Obiee reports to multiple recipients? I have used the ibot of Oracle Obiee. And ibot is working fine for the Creator of the ibot but it is not able to send reports to other recipients. When i get mail from Or