Publishing Web Services via APEX on the horizon? WSRP? SOD?

Hi,
Are there any plans for APEX being able to "natively" publish Web Services? Maybe support for WSRP so you could publish an APEX based portlet on Oracle Portal or WebCenter?
Any news of when an updated statement of direction will be published?
Regards Pete
Message was edited by:
Peter Lorenzen

There is some talk of native database web services in the next version of Oracle:
http://padrenc.blogspot.com/2006/10/xquery-and-xml-db-hands-on-lab.html
It didn't quite make it into 10g:
Re: plsql web services without appserv

Similar Messages

  • Calling BI Publisher Web Services from APEX

    Hi,
    Has anyone been able to run a BI Publisher report from APEX using the Web Service interface provided by BI Publisher?
    I have created Web Service Reference in APEX using:
    http://<host>:<port>/xmlpserver/services/PublicReportService?wsdl
    I have then created a page rendering process that calls the web service, in particular calling the runReport operation.
    When a try and run the page, I get the following error:
    "ORA-20001: soapenv:Server.userExceptionjava.lang.NullPointerException"
    Basically I want to be be able to call the BI Pub report and view the output straight away.
    Appreciate any help.
    Cheers,
    Matt

    Hello,
    I am using Jason's flex_ws_api and I have built an application that uses the BI Publisher web services to runReports. My service request looks like this (example)
    <pre>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pub="http://xmlns.oracle.com/oxp/service/PublicReportService">
    <soapenv:Header/>
    <soapenv:Body>
    <pub:runReport>
    <pub:reportRequest>
    <pub:attributeFormat>pdf</pub:attributeFormat>
    <pub:attributeLocale></pub:attributeLocale>
    <pub:attributeTemplate>New Template 1</pub:attributeTemplate>
    <pub:flattenXML>1</pub:flattenXML>
    <pub:parameterNameValues/>
    <pub:reportAbsolutePath>/~rdpatric/Training/whoami/whoami.xdo</pub:reportAbsolutePath>
    <pub:reportData></pub:reportData>
    <pub:reportDataFileName></pub:reportDataFileName>
    <pub:sizeOfDataChunkDownload>10000</pub:sizeOfDataChunkDownload>
    </pub:reportRequest>
    <pub:userID>user</pub:userID>
    <pub:password>password</pub:password>
    </pub:runReport>
    </soapenv:Body>
    </soapenv:Envelope>
    </pre>
    Obviously you would want to make a lot of these things variables...this is just an example...also sizeOfChunkDownload wasn't working for me at -1...idk...maybe it was something else...
    Also if you use the flex_ws_api...you need to specify the namespace for your xpath statement ie.' xmlns="http://..."'
    I am currently working on getting this working with the 'inSession' webservices as we have BI Pub set up SSO and APEX set up SSO so i need to be able to call the web services inSession...only problem is ssoCreateSession returns a 500 error and no xml...entered a TAR for this...sorry to digress. Use the above code and you should be able to get the runReport working.

  • Publish Web Service via UDDI Client

    Hi everyone
    I have an outbound interface wich I´ve created and exported the .wsdl file into a folder that I created in the Visual Administrator, so it can be accesed via http://server:port/folder.
    When I try to publish the WSDL via UDDI Client it requests me for user and password, but i don´t know which user to use.
    I read that I have to create a user for that folder in Visual Administrator, but did not found how to do this.
    Can someone give me some light please??
    Thanks in advanced.
    Karla

    Hi,
    Try using the udditest.sap.com   it is the Test Registry provided.
    Configuring the UDDI Client and UDDI Server    ::::
    To use the UDDI client for publishing, updating, or discovering business services and tModels, first you have to administer the UDDI client as well as the UDDI server using the J2EE Engine Visual Administrator.
    Procedure
           1.      Select Web Services Container ® Runtime ® UDDI Client.
           2.      From the Available Registries list, select a UDDI registry.
                                a.      To enter a different Inquiry URL and Publish URL, choose Edit Registry and enter new locations.
    Make sure that the URLs contain a  value. If they do not, then add the port value manually (for example, localhost:50000).
                                b.      To add a registry to the Available Registries list, choose New Registry.
                                c.      To remove a registry from the list, choose Remove Registry.
           3.      On the UDDI Server tab page, choose New User and enter the corresponding data. For more information, see Managing the UDDI Server in the Administration Manual.
    Using the Visual Administrator, you can create users for а local test registry only.
    Create the User here for the test registry used.
    regards
    Ganga
    Edited by: gangaprasad chintala on Dec 26, 2008 8:04 PM

  • Submitting xml using BI Publisher Web Services

    Hi,
    We are developing a web service wrapper around the BI Publisher web services and we are facing problems in consuming the BI Publisher web services.
    As per the scheduleReport method in the java class, it sends an xml data input to BI Publisher and the delivery is set to FTP. The report is not getting generated. The getScheduleReportStatus method returns an status of "Error"
    Earlier I had tried bursting the report to the same FTP server and it was working, the only problem was that it was not picking up the data from the xml which was being passed in the report request object.
    Then i reverted the code and used runReport instead of scheduleReport method. At that point of time, it started taking the xml file passed when i added the following line i.e. :
    repRequest.setSizeOfDataChunkDownload(-1);
    After this I again reverted back to scheduleReport method as our requirement needs a method which also handle bursting. Now neither of them are working (i.e FTP and input xml data).
    Code for the web service wrapper (around BI Publisher Web Service) is as follows :-
    =====================================================
    package biwebserviceproxy;
    import com.oracle.xmlns.oxp.service.publicreportservice.AccessDeniedException_Exception;
    import com.oracle.xmlns.oxp.service.publicreportservice.DeliveryRequest;
    import com.oracle.xmlns.oxp.service.publicreportservice.FTPDeliveryOption;
    import com.oracle.xmlns.oxp.service.publicreportservice.InvalidParametersException_Exception;
    import com.oracle.xmlns.oxp.service.publicreportservice.JobStatus;
    import com.oracle.xmlns.oxp.service.publicreportservice.OperationFailedException_Exception;
    import com.oracle.xmlns.oxp.service.publicreportservice.PublicReportService;
    import com.oracle.xmlns.oxp.service.publicreportservice.PublicReportServiceService;
    import com.oracle.xmlns.oxp.service.publicreportservice.ReportRequest;
    import com.oracle.xmlns.oxp.service.publicreportservice.ReportResponse;
    import com.oracle.xmlns.oxp.service.publicreportservice.ScheduleRequest;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.util.ResourceBundle;
    import javax.jws.WebMethod;
    import javax.jws.WebService;
    import javax.xml.bind.annotation.XmlSeeAlso;
    import org.apache.commons.io.FileUtils;
    import org.apache.log4j.Logger;
    @WebService
    public class BIWebServiceProxy {
    private static Logger logger = Logger.getLogger(BIWebServiceProxy.class);
    private PublicReportServiceService publicReportServiceService;
    private String userId;
    private String password;
    public BIWebServiceProxy() {
    super();
    publicReportServiceService = new PublicReportServiceService();
    setUserId("Administrator");
    setPassword("Administrator");
    logger.info("BI Web Service Proxy Constructure Initialized");
    private PublicReportService getPublicReportService() {
    return publicReportServiceService.getPublicReportService();
    @WebMethod
    public String scheduleReport(HS1ReportRequest hsRepRequest) {
    ReportRequest repRequest = null;
    byte[] byteArray = null;
    File memberFile = null;
    FileInputStream fis = null;
    ScheduleRequest sreq = null;
    String returnValue = null;
    ResourceBundle rb =
    ResourceBundle.getBundle(BIWebServiceConstants.RESOURCE_FILE);
    sreq = new ScheduleRequest();
    repRequest = new ReportRequest();
    memberFile =
    new File(rb.getString(BIWebServiceConstants.REPORT_DATA_FILE));
    DeliveryRequest delivery = new DeliveryRequest();
    FTPDeliveryOption ftpDelivery = new FTPDeliveryOption();
    ftpDelivery.setFtpServerName(rb.getString(BIWebServiceConstants.FTP_SERVERNAME));
    ftpDelivery.setFtpUserName(rb.getString(BIWebServiceConstants.FTP_USERNAME));
    ftpDelivery.setFtpUserPassword(rb.getString(BIWebServiceConstants.FTP_PASSWORD));
    ftpDelivery.setSftpOption(false);
    ftpDelivery.setRemoteFile(hsRepRequest.getDestinationReportPath());
    delivery.setFtpOption(ftpDelivery);
    try {
    FileUtils.writeStringToFile(memberFile, hsRepRequest.getXmlData());
    fis = new FileInputStream(memberFile);
    byteArray = new byte[(int)memberFile.length()];
    fis.read(byteArray);
    } catch (IOException e) {
    logger.info("IO Exception while converting string input to XML : ",
    e);
    repRequest.setReportData(byteArray);
    repRequest.setAttributeFormat("pdf");
    repRequest.setAttributeLocale("en-US");
    repRequest.setAttributeTemplate(hsRepRequest.getReportTemplateName());
    repRequest.setReportAbsolutePath(hsRepRequest.getReportPath());
    // repRequest.setReportDataFileName(memberFile.getName());
    // repRequest.setSizeOfDataChunkDownload(-1);
    //Set DeliveryRequest
    sreq.setDeliveryRequest(delivery);
    //Set ReportRequest
    sreq.setReportRequest(repRequest);
    sreq.setNotifyWhenFailed(true);
    sreq.setNotifyWhenSuccess(true);
    sreq.setNotificationTo(rb.getString(BIWebServiceConstants.REPORT_NOTIFICATION_EMAIL));
    try {
    returnValue = getPublicReportService().scheduleReport(sreq, getUserId(), getPassword());
    } catch (InvalidParametersException_Exception e) {
    logger.info("InvalidParametersException_Exception while scheduling report : ",
    e);
    } catch (AccessDeniedException_Exception e) {
    logger.info("AccessDeniedException_Exception while scheduling report : ",
    e);
    } catch (OperationFailedException_Exception e) {
    logger.info("OperationFailedException_Exception while scheduling report : ",
    e);
    return returnValue;
    @WebMethod
    public String getScheduledReportStatus(String scheduledJobID) {
    JobStatus jobStatus = new JobStatus();
    try {
    jobStatus =
    getPublicReportService().getScheduledReportStatus(scheduledJobID,
    getUserId(),
    getPassword());
    } catch (InvalidParametersException_Exception e) {
    logger.info("InvalidParametersException_Exception while getting scheduled report status : ",
    e);
    } catch (AccessDeniedException_Exception e) {
    logger.info("AccessDeniedException_Exception while getting scheduled report status : ",
    e);
    } catch (OperationFailedException_Exception e) {
    logger.info("OperationFailedException_Exception while getting scheduled report status : ",
    e);
    return jobStatus.getJobStatus();
    private void setUserId(String userId) {
    this.userId = userId;
    private String getUserId() {
    return userId;
    private void setPassword(String password) {
    this.password = password;
    private String getPassword() {
    return password;
    }

    I would appreciate if anyone of you guys can help on this...

  • Publish ABAP utility implemented on PI system as Web service via PI itself.

    Hello Experts,
    We have a requirement where we might need to publish a feature related to user management from ABAP stack of PI as a web service via PI itself.
    So scenario might look like
    SOAP Client -> PI -> PI (ABAP functionality)
    I have seen some blogs on SDN which suggest publishing FM directly using menu options in SE37 (Utilities (M) u2192 More Utilities u2192 Create Web Service u2192 From the Function Module). But then this interface will not be under PI and will be exception to general architecture of having all web services published via PI.
    May be its a very simple scenario and I am thinking of solution in complex ways. Any quick inputs from experts on what would be the best way to implement this , will be a great help for me to start quickly.
    Can we implement a normal SOAP to Proxy(ABAP) scenario for PI as we do while exposing services on ECC or any other ABAP system as a SOAP service?
    Or is there any smart way of handling this scenario?
    Kind Regards,
    Abhijeet.

    Thanks Raja & Greg for quick suggestions & your valuable time.
    Appropriate points rewarded.
    Greg, thanks for suggesting names of standard BAPI, it will save us from reinventing the wheel by using custom codes.
    I will work out on SOAP to RFC scenario & close the thread when scenario works.
    Just to Share: Yesterday, just out of curiosity I tried to use proxy scenario where PI system itself was Receiver in our sandbox, the message goes in a kind of infinite loop and keeps processing the message again and again till it turns out to error.
    I  tried it using the existing Business system for PI where it is configured as Integration Server & I have also tried to create a new business system for a different client on PI system with role as "Application System", but still the result was same.
    Kind Regards,
    Abhijeet.

  • Publish XDB web service on apex application

    Could any one please help me out to use native oracle XML DB web service on apex application.
    In apex application, basically i need to have a report that displays all PO requests with links to each request # to drill down to the form page where the vendor are allowed to submit some corresponding data to th PO request.
    All i need is to know how do i use the native oracle XML DB web service to show the report to the vendors with drill down links and capture the data, the vendor submits through the form.
    Thanks in advance!!
    Regards,
    Rame

    I think you might be on the wrong track. Web services don't "show" anything really. They take in either XML in the case of SOAP-style web services or an HTTP request in the case of restful web services. They typically return XML, but can return JSON or other machine readable formats. Web services don't have forms and reports. More information here: http://en.wikipedia.org/wiki/Web_service . To have a human interact with a web service, you typically have a UI layer. For instance, in APEX you can build a form or a report on a web service (the same is true for most popular web technologies).
    In APEX 4.0+ you can expose a report as a restful web service, but I really don't think that is what you want to do. There's no way that I can think of to use the XDB web services to expose any component of APEX.
    In short, people interact with web applications, such as APEX apps. Machines, such as databases or application servers, interact with web services.
    So, do you need to expose some component of your application as an API (web service) that vendors can call programmatically from some other technology such as Java or PHP? Or do you want to build a web application that people can interact with?
    Tyler Muth
    http://tylermuth.wordpress.com
    "Applied Oracle Security: Developing Secure Database and Middleware Environments": http://sn.im/aos.book

  • Consuming RESTful web service in Apex app

    Hi,
    I have created a RESTful Web service through an Apex application (4.0) and published as a public web service. Can someone point me to an example of how to then consume that service in another Apex app? The output is straightforward XML that I can retrieve just by pointing the browser to the URL of the service created, but when I go to create the REST Web Reference for the receiving application, I am not sure what to put for the Response Xpath or Response Namespace. The service is meant to just return report records that were created in the REStful Web service with no input required.
    The service XML looks like this:
    <ROWSET>
    <ROW>
    <PROJ_ID>132</PROJ_ID>
    <PSL_NETID>xxxxxxxx</PSL_NETID>
    <PROJECT_TITLE>11g- Oracle Upgrade to RAC 11g</PROJECT_TITLE>
    <CUSTOMER>OIT</CUSTOMER>
    <DIVISION>EIS</DIVISION>
    </ROW>
    <ROW>
    <PROJ_ID>132</PROJ_ID>
    <PSL_NETID>xxxxxx</PSL_NETID>
    <PROJECT_TITLE>11g- Oracle Upgrade to RAC 11g</PROJECT_TITLE>
    <CUSTOMER>OIT</CUSTOMER>
    <DIVISION>CSS</DIVISION>
    Any help would be appreciated.
    Thanks,
    Pat
    Edited by: patfmnd on Dec 7, 2012 3:04 AM

    Hi,
    I have made progress in this. I created the RESTful report service in an Apex 4.1 application. (previous attempt was with 4.0 version of Apex)
    I then created a separate application and created a RESTful web service reference that I tested and it was successful in bringing up XML. However in Apex 4.1, when I create a report following the Wizard for creating a report based on that Web service reference I get the error: ORA-31013: Invalid XPATH expression Which I don't know how to get past. The Xpath provided in the Web service reference test gave output below and brought back a result. There was no where during the Report creation to provide an Xpath. Am I missing something or is 4.1 not quite Web service ready??
    This is what I get from the test of the Web service reference in the Apex App from which I want to create a report: (I see in this XML the data I was expecting from the test of the RESTful web service but it looks like the output I get from the Web service test is more like the Report xml itself.)
    <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:htmldb="http://htmldb.oracle.com" xmlns:apex="http://apex.oracle.com"> <head> <title>Author</title>
    <!--[if IE]><link rel="stylesheet" href="/i/css/apex_ie_4_1.css" type="text/css" /><![endif]--> <script type="text/javascript">
    //<![CDATA[
    var apex_img_dir = "/i/", htmldb_Img_Dir = apex_img_dir;
    //]]>
    </script>
    <script src="/i/javascript/apex_4_1.min.js" type="text/javascript">
    </script>
    <script type="text/javascript">
    //<![CDATA[
    apex.security.framebreaker("D");
    //]]>
    </script>
    <!--[if IE]><link rel="stylesheet" href="/i/themes/theme_2/css/theme_4_0_ie.css" type="text/css" /><![endif]--><!--[if IE 6]><link rel="stylesheet" href="/i/themes/theme_2/css/theme_4_0_ie6.css" type="text/css" /><![endif]--><!--[if IE 7]><link rel="stylesheet" href="/i/themes/theme_2/css/theme_4_0_ie7.css" type="text/css" /><![endif]--><!--[if lte IE 6]><div id="outdated-browser">You are using an outdated web browser. For a list of supported browsers, please reference the Oracle Application Express Installation Guide.</div><![endif]-->
    <form action="wwv_flow.accept" method="post" name="wwv_flow" id="wwvFlowForm"><input type="hidden" name="p_flow_id" value="140" id="pFlowId" /><input type="hidden" name="p_flow_step_id" value="1" id="pFlowStepId" /><input type="hidden" name="p_instance" value="6146802068150520" id="pInstance" /><input type="hidden" name="p_page_submission_id" value="1940235134399423" id="pPageSubmissionId" /><input type="hidden" name="p_request" value="" id="pRequest" />
    <div id="header">
    <div id="app-logo"><a href="f?p=140:1:0"></a></div>
    <div id="navbar">
    <div class="navbar-entry">Logout</div>
    </div>
    </div>
    <div id="tabs">
    <div class="frame">
    <div class="bg">
    <div class="tab-holder">
    <div class="first-current">
    <div><span>Author</span></div>
    </div>
    </div>
    </div>
    </div>
    </div>
    <div id="topbar">
    <div class="breadcrumb-region" id="R170908223330421512">
    <div>
    <div id="breadcrumbs">
    <ul class="breadcrumb-list">
    <li class="current">Author</li>
    </ul>
    </div>
    </div>
    </div>
    </div>
    <div id="messages"></div>
    <div id="body">
    <table class="tbl-body" cellspacing="0" cellpadding="0" border="0" summary="">
    <tbody>
    <tr>
    <td class="tbl-main" width="100%">
    <div class="rounded-corner-region" id="books">
    <div class="rc-blue-top">
    <div class="rc-blue-top-r">
    <div class="rc-title">AUTHOR</div>
    <div class="rc-buttons"><button value="Reset" class="button-gray" type="button" id="B170907622885421490"><span>Reset</span></button></div>
    </div>
    </div>
    <div class="rc-body">
    <div class="rc-body-r">
    <div class="rc-content-main">
    <table id="apex_layout_170907030238421484" border="0" class="formlayout" summary="" role="presentation" datatable="0">
    <tr>
    <td align="right"><label for="P1_REPORT_SEARCH" tabindex="999"><a class="optional-w-help" href="javascript:popupFieldHelp('170907422375421487','6146802068150520')" tabindex="999">Search</a></label></td>
    <td colspan="1" rowspan="1" align="left"><input type="hidden" name="p_arg_names" value="170907422375421487" /><input type="text" id="P1_REPORT_SEARCH" name="p_t01" value="" size="30" maxlength="2000" class="text_field" /></td>
    <td align="right"><label for="P1_ROWS" tabindex="999"><a class="optional-w-help" href="javascript:popupFieldHelp('170907508375421490','6146802068150520')" tabindex="999">Display</a></label></td>
    <td colspan="1" rowspan="1" align="left"><input type="hidden" name="p_arg_names" value="170907508375421490" /><select name="p_t02" id="P1_ROWS" size="1" class="selectlist">
    <option value="10">10</option>
    <option value="15" selected="selected">15</option>
    <option value="20">20</option>
    <option value="30">30</option>
    <option value="50">50</option>
    <option value="100">100</option>
    <option value="200">200</option>
    <option value="500">500</option>
    <option value="1000">1000</option>
    <option value="5000">5000</option>
    </select></td>
    <td align="left"></td>
    <td colspan="1" rowspan="1" align="left"><button value="Go" class="button-gray" type="button" id="P1_GO"><span>Go</span></button></td>
    </tr>
    </table>
    <div id="report_170907030238421484_catch">
    <table cellpadding="0" border="0" cellspacing="0" summary="" id="report_books">
    <tr>
    <td></td>
    </tr>
    <tr>
    <td>
    <table cellpadding="0" border="0" cellspacing="0" summary="" class="report-standard">
    <tr>
    <th id="AUTHORID" class="header">
    <div class="rpt-sort">Authorid<img align="absmiddle" src="/i/arrow_up_gray_dark.gif" width="13" height="12" alt="Sort by this column" /></div>
    </th>
    <th id="LNAME" class="header">
    <div class="rpt-sort">Lname</div>
    </th>
    <th id="FNAME" class="header">
    <div class="rpt-sort">Fname</div>
    </th>
    </tr>
    <tr class="highlight-row">
    <td headers="AUTHORID" class="data">A100</td>
    <td headers="LNAME" class="data">AUSTIN</td>
    <td headers="FNAME" class="data">JAMES</td>
    </tr>
    <tr class="highlight-row">
    <td headers="AUTHORID" class="data">A105</td>
    <td headers="LNAME" class="data">ADAMS</td>
    <td headers="FNAME" class="data">JUAN</td>
    </tr>
    <tr class="highlight-row">
    <td headers="AUTHORID" class="data">B100</td>
    <td headers="LNAME" class="data">BAKER</td>
    <td headers="FNAME" class="data">JACK</td>
    </tr>
    <tr class="highlight-row">
    <td headers="AUTHORID" class="data">F100</td>
    <td headers="LNAME" class="data">FIELDS</td>
    <td headers="FNAME" class="data">OSCAR</td>
    </tr>
    <tr class="highlight-row">
    <td headers="AUTHORID" class="data">J100</td>
    <td headers="LNAME" class="data">JONES</td>
    <td headers="FNAME" class="data">JANICE</td>
    </tr>
    <tr class="highlight-row">
    <td headers="AUTHORID" class="data">K100</td>
    <td headers="LNAME" class="data">KZOCHSKY</td>
    <td headers="FNAME" class="data">TAMARA</td>
    </tr>
    <tr class="highlight-row">
    <td headers="AUTHORID" class="data">M100</td>
    <td headers="LNAME" class="data">MARTINEZ</td>
    <td headers="FNAME" class="data">SHEILA</td>
    </tr>
    <tr class="highlight-row">
    <td headers="AUTHORID" class="data">P100</td>
    <td headers="LNAME" class="data">PORTER</td>
    <td headers="FNAME" cla
    Edited by: patfmnd on Dec 12, 2012 5:59 PM
    Edited by: patfmnd on Dec 12, 2012 6:07 PM

  • Web Service in Apex

    Hi
    I'm using APEX 2.1.0, OracleXE 10.2, Oracle SOA 10.1.3, Jdev 10.1.3.3
    I've created a webservice in jdeveloper based upon a plsql package it has 3 input parameters and return a parameter
    I've deployed the webservice to my SOA apps server and tested it satisfactorily
    I've then created the web service reference in APEX using the shared components utility and it appears to create the reference ok (based upon the WSDL without searching UDDI), this correctly shows the operation and input and output parameters whilst it is created via the wizard
    I've then tried to create a form based upon the web service in APEX, it shows the operation but it does not show the input parameters it gives the mesage "no data found"
    has anyone else had this problem?
    has anyone got any suggestions?
    thanks
    Andrew

    Jason
    Thanks for this, I've tried to upgrade my APEX to 3.01 using the instructions identified it ran for 9hrs before I killed it I assume that there are some things I need to do on my XE database or my machine is not powerful enough, or something else is awry (not found any other posts on the forum indicating anyone else having a problem with the upgrade so I assume its me!)
    However I have now managed to access another oracle 10g instance that does have Apex 3.01 and I have now successfully built my application on the web services generated in Jdeveloper
    again thanks
    Andrew

  • Can I deploy web service on APEX server

    I have APEX 3.1.2 on 11g database.
    I need to pull data from other oracle 9i databases into APEX application. I have created web service on my pl/sql package to pull data from 9i databases and deployed service on my local oc4j instance (within jdeveloper). My APEX app pull data from multiple oracle 9i database. Now I need to move my web service to my dev/test environment.
    Can I deploy web service on APEX server? or do I need to deploy on another web server?
    I know I can easily pull the data from other oracle 9i databases using DB link. I want to explore Web services option to just to see is it possible to pull data from multiple sources into APEX app using web service running from APEX server?.
    Any help on this will be appreciated.
    RK Shah
    Edited by: RK Shah on Apr 7, 2009 7:27 PM

    I am in the same situation. Consuming a web service is easy with APEX. But publishing one needs a web server that is more complex than the one that comes with APEX for free.
    I am exploring the possibility of building the web service in Jdeveloper as you have. Then I will make a WAR file that I will publish to an apache tomcat J2EE server that another department runs. I believe it will work since all the components required should be in the WAR file.
    I am new at this. I will let you know how it works out.
    The other possibility is to upgrade the appserver to the full Oracle Fusion server (maybe). This may be expensive and be too much for just a simple web service. But then the publish to application server from jdeveloper is super easy.

  • Publishing Web Services

    Does XE have the capabilities of publishing Web Services. I have looked at the documentation and looked arround the apex environment, it all seems to reference jsut accessing (client) Web Services.
    Thanks,
    Ron

    hi,
    ask scott from http://onlinecares.com about Java classes, he would be able to help you out.
    Edited by: jimwar on Nov 20, 2007 4:00 AM

  • Calling BI Publisher Web Service from pl/sql

    I am trying to call the BI publisher web service from pl/sql.
    I get the following response back
    <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
    <soapenv:Fault>
    <faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Client.NoSOAPAction</faultcode>
    <faultstring>no SOAPAction header!</faultstring>
    <detail>
    <ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">my-obiee</ns2:hostname>
    </detail>
    </soapenv:Fault>
    </soapenv:Body>
    </soapenv:Envelope>
    The bit that concerns me is
    <faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Client.NoSOAPAction</faultcode>
    <faultstring>no SOAPAction header!</faultstring>
    The code that I used to call this is
    DECLARE
    req utl_http.req;
    resp utl_http.resp;
    value VARCHAR2(1024);
    p_data_type varchar2(4000):= 'application/soap+xml;';
    p_data_in VARCHAR2(3000) :=
    '<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pub="http://xmlns.oracle.com/oxp/service/PublicReportService">
    <soapenv:Body>
    <pub:scheduleReport xmlns:pub="http://xmlns.oracle.com/oxp/service/PublicReportService">
    <scheduleRequest>
    <deliveryRequest>
    <ftpOption>
    <ftpServerName>ino-ed-oel2.inoapps.com</ftpServerName>
    <ftpUserName>*******</ftpUserName>
    <ftpUserPassword>*****</ftpUserPassword>
    <remoteFile>/opt/UAT/db/tech_st/11.1.0/employees.pdf</remoteFile>
    </ftpOption>
    </deliveryRequest>
    <reportRequest>
    <attributeFormat>pdf</attributeFormat>
    <reportAbsolutePath>http://10.100.100.44:9704/xmlpserver/~administrator/XXXXXXX.xdo</reportAbsolutePath>
    <parameterNameValues>
    <item>
    <name>dname</name>
    <multiValuesAllowed>false</multiValuesAllowed>
    <values>
    <item>153002</item>
    </values>
    </item>
    </parameterNameValues>
    </reportRequest>
    <userJobName>BILL</userJobName>
    </scheduleRequest>
    <userID>******</userID>
    <password>******</password>
    </pub:scheduleReport>
    </soapenv:Body>
    </soapenv:Envelope>';
    BEGIN
    --utl_http.set_proxy('proxy.my-company.com', 'corp.my-company.com');
    req := utl_http.begin_request('http://10.100.100.44:9704/xmlpserver/services/PublicReportService?wsdl', 'POST');
    utl_http.set_header(req, 'content-type', p_data_type);
    utl_http.set_header(req, 'content-length', length(p_data_in));
    utl_http.set_header(req, 'User-Agent', 'Mozilla/4.0');
    utl_http.write_text(req, p_data_in);
    resp := utl_http.get_response(req);
    dbms_output.put_line ('status code: ' || resp .status_code);
    dbms_output.put_line ('reason phrase: ' || resp .reason_phrase);
    LOOP
    utl_http.read_line(resp, value, TRUE);
    dbms_output.put_line(value);
    END LOOP;
    utl_http.end_response(resp);
    EXCEPTION
    WHEN utl_http.end_of_body THEN
    utl_http.end_response(resp);
    END;
    Any help would be greatly received

    I had the same problem this morning. You need to add a line to the HTTP header to declare a value for SOAPAction.
    You can set this as an empty string, but for some reason it is required.
    Try adding this among your header declarations:
    utl_http.set_header(req, 'SOAPAction', '');

  • Return NULL when invoke Web Service via UTL_DBWS

    Hi all,
    right now, i'm using UTL_DBWS to acces Web Service via database.. but when i'm trying to get data from WEB SERVICE, using utl_dbws.invoke , i got NULL value.
    It happened if The result more than Varchar2 / 32767 byte.
    i'have tried to change code by :
    result := sys.utl_dbws.invoke(l_call, l_input_params);
    P_clob := sys.anydata.accessCLOB(result);
    The Output IS NULL value even if the data was less than Varchar2 or 32767 byte..
    this is my script looks like ::
    declare
    service sys.utl_dbws.SERVICE;
    l_call sys.utl_dbws.CALL;
    result ANYDATA;
    wsdl_url VARCHAR2(1024);
    service_name VARCHAR2(200);
    operation_name VARCHAR2(200);
    input_params sys.utl_dbws.ANYDATA_LIST;
    p_out VARCHAR2(32767);
    p_xml XMLTYPE;
    p_clob CLOB;
    begin
    wsdl_url := 'http://127.0.0.1/Exercise/WSDL2.php?wsdl';
    service_name :='{urn:hellowsdl}hellwsdl';
    operation_name := 'getData';
    service := sys.UTL_DBWS.create_service (
    wsdl_document_location => URIFACTORY.getURI(wsdl_url),
    service_name => service_name);
    l_call := sys.utl_dbws.create_call(
    service_handle => service,
    port_name => null,
    operation_name => operation_name
    input_params(1) := ANYDATA.ConvertVarchar2('DOCCODE');
    result := sys.utl_dbws.invoke(l_call, l_input_params);
    p_out := sys.anydata.accessVarchar2(result);
    sys.UTL_DBWS.release_call (call_handle => l_call);
    sys.UTL_DBWS.release_service (service_handle => service);
    end;
    Thanx for Any Help

    The basics are simple:
    - format a valid SOAP envelope
    - use UTL_HTTP to make the call
    - process the response (typically XML output)
    Sample source code in {message:id=4205205}.

  • Invoking Siebel CRM OnDemand Web Service via BPEL

    I'm trying to invoke a Siebel CRM OnDemand Web Service via BPEL. Basically, the Siebel guide says to post to a url with user/pwd to get a session ID returned from a cookie. I did that using embedded java and have the session ID as a variable in my BPEL process. My problem is with now calling the Web Service to perform the action. I have a WSDL from Siebel, but the guide says to use an HTTP post with the session ID in the url and the XML in the body. How do I do that? Shouldn't the WSDL handle that when I create the Partner Link? Do I need to use more embedded Java for this or can I set up a Partner Link? I created a Partner Link and it shows the methods I want to use, but I get the following error when I try to call it because I don't know where to add the session ID:
    <ErrorCode xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">SBL-ODU-01006</ErrorCode>
    <ErrorMessage xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">Internal Error: Session is not available. Aborting.</ErrorMessage>
    Any help would be GREATLY appreciated. Please let me know if you need more information.
    THANKS!

    The Siebel OnDemand web services can accept the siebel session token in the URL. Append ';jessionid={%sessionIdFromCookie%}' to the end point. Obviously this has to be done dynamically. Refer to the article called 'Making BPEL Processes Dynamic' (http://www.oracle.com/technology/pub/articles/bpel_cookbook/carey.html) pay particular attention to the 'Eliminating address dependency at run time' section.
    Peter

  • Calling web service via SSL

    Hi,
    I do not succeed in calling a web service via SSL from within a Web Dynpro application.
    Current settings of my logical port:
    Target Address: https://...
    Authentication: HTTP authentication, basic (username/password)
    I do call methods _setUser and _setPassword to set userid and password before calling method execute() of my modelclass.
    On calling method execute(), I get message "Connection closed by remote host".
    Any suggestions ?
    Many thanks.
    Jorgen

    Can you check the following?
    1) Did you install the SAP Cryptographic toolkit for Java available from service.sap.com?
    2) Did you install the "Java Cryptography Extension (JCE)
    Unlimited Strength Jurisdiction Policy Files 1.4.2". For Sun they are available here: http://java.sun.com/j2se/1.4.2/download.html (last item on page)
    3) How is the SSL server configured? Does it require client authentication? In this case you must send a client certificate.

  • Invoke Siebel OnDemand Web Service via BPEL

    Hi,
    We are trying to invoke Siebel OnDemand Web Service via BPEL.
    We have followed the steps as mentioned in
    http://www.oracle.com/technetwork/topics/ofm-siebel-blog-postings-092216.html
    But still we are unable to get the Session Id.
    Do we need to opne any port to resolve this issue or do we have any other way to get the session ID.
    Please let me know if there is any solution to this...
    Thanks

    Thanks for the update..
    We are trying to invoke the CRM On Demand session ID using the BPEL. It seems the we are having some problem with the URL
    https://secure-ausomxapa.crmondemand.com/Services/Integration?command=login
    => `Integration?command=login
    we are trying to access the URL from our SOA server using wget and we are getting following result.
    [XXXXXXXXXXXXXXX ~]$ wget https://secure-ausomxapa.crmondemand.com/Services/Integration?command=login
    --07:32:19-- https://secure-ausomxapa.crmondemand.com/Services/Integration?command=login
    => `Integration?command=login'
    Resolving secure-ausomxapa.crmondemand.com... 141.146.149.68
    Connecting to secure-ausomxapa.crmondemand.com|141.146.149.68|:443...
    We are expecting that we are unable to access the URL using 443 port.

Maybe you are looking for

  • 4.0 EA3 - Data Default not duplicated when copying a table

    I noticed that when copying a table from one schema to another, if a column has a data default property it is not preserved. Steps to recreate: Copy a table that has at least one column with a non-null DATA_DEFAULT property (right click on table -> t

  • Regarding report s_alr_87012082.

    Hi all,         I want the output of standard report s_alr_87012082 in alv format ... is there any relevant standard report available ??         Also if i want the output values of report s_alr_87012082, from which tables i can get vendor no, vendor

  • How SDA and DDA works in Java Card?

    Hi Friends, I want to know how exactly SDA and DDA works in Java Card technology.. Yes, i know that SDA (Static Data Authentication) is valid for every transactions, but the key used is always same for every transaction made.. and DDA (Dynamic Data A

  • Matching folders between iPhone and Email on desktop

    I have a mobile me account on my iPhone, as well as of course email at home on my MacBook via the 'mail' app. 1) is it possible to see the same folders (and content) on my iPhone as I can see on my MacBook, and 2) If my MacBook has a sam filter and i

  • Why does my computer freeze when updateing if i have enough disk space and no disk repairs are needed?

    I have problems updating my softwarebecause my computer freezes when it restarts to install. I have enough disk space and I checked for disk repairs and everthing is ok. Still can't update and not my cumputer is taking longer to turn on. There is an