Consuming of SOA webservice in Oracle APEX
Hi All,
I have a requirement in which i need to consume the data into Oracle APEX from a web service which was created in SOA. (For eg: There is a webservice created in SOA, which posts empid,empname,empsal etc)
Now, in Oracle APEX i need to use that data consumed from the webservice to display graph or report , is that possible?
Can we build graph or report or such things in Oracle APEX without creating any tables/views etc in Oracle APEX?
If the above question looks complicated, here in simple mode:
Is there any way in which we can build a graph/report in Oracle APEX with out creating a table/view in APEX for the data that belongs to Oracle E-biz instance.
Hope I am making sense from the above question.
p.s: APEX 4.2 is the version that we are using now.
Any Help/guidance truly appreciated,
Thanks in Advance,
Af
Hi Af,
I have explained the steps in another thread which I have given link in my previous reply.
If you are looking for code for any specific step, please let me know.
And another point you need to take care is - Authentication. If it's a public web-service, then no problem. If it uses basic authentication, then you can pass username and password to APEX_WEB_SERVICE APIs.
I also suggest you to try invoking web-service using stand-alone clients like SoapUI - The Home of Functional Testing. If everything works fine there, then you can try them invoking from APEX.
Regards,
Hari
Similar Messages
-
Hi,
I have a requirement to fetch the view data from client instance(which is different server) to another instance lets say Development instance
Requirement:
Need to get the Apps View data from the Desired EBS instance(which is accessible online) using webservices,and display it in the Oracle Apex Development Instance.
Kindly provide your inputs how to achieve this.
Thanks in advance
keertyAre you getting an error? The way you have it set up, you can have an error and it will never be displayed. Put and error control on your front panel and see what it gives you. Also, shared variables in a project can be useful. Look at some examples for that.
-
How to consume J2EE webservice in Oracle BPEL
Dear All,
Can any one please tell me that how to consume J2EE web service in Oracle BPEL. What is local registry. How am able to register my web service in to the local registry. Please suggest me.
Thanks,
RajeshHi,
What IDE are you using?, for example with Eclipse i used WSDL2JAVA plugin in this way i converted the WSDL in java classes easily. Depending your development environment you can use different tools that makes easier the integration using the WSDL.
Regards. -
Calling a webservices from Oracle 10G ( 10.2.0.2)
Hi:
I am in the process of putting a database Java stored procedure that can call an external webservices.
PL/SQL Wrapper -> Java Stored Procedure-> External Web services
I loaded the following jars in the dataase.
dbwsa.jar
dbwsclient.jar
1. I am having issues consuming this external webservice from SQL*PLUS. Do you know whether I need to load any other JARS ?
2. How can I debug this issue ? I enabled TCP Monitor in JDeveloper and don't see anything when I call the PL/SQL wrapper in SQL*PLUS.
3. I can use a Java client and tested the Web services OK.
error message:
SQL> l
1 declare
2 x varchar2(100);
3 begin
4
5 x := tester.test_db1();
6* end;
SQL> /
calling
http://XX.XX.YY.121:8988/Application9-ViewController-context-root/MyWebService1S
oapHttpPort
java.rmi.RemoteException: Error parsing envelope; nested exception is:
javax.xml.soap.SOAPException: Error parsing envelope
at
view.proxy.runtime.MyWebService1SoapHttp_Stub.sayhello2(MyWebService1SoapHttp_St
ub.java:99)
at
prpd.MyWebService1SoapHttpPortClient.sayhello2(MyWebService1SoapHttpPortClient.j
ava:41)
at prpd.TEST_DB.TEST_DB1(TEST_DB.java:21)
Caused by: javax.xml.soap.SOAPException: Error parsing envelope
at
oracle.j2ee.ws.saaj.soap.soap11.SOAPImplementation11.createEnvelope(SOAPImplemen
tation11.java:103)
at oracle.j2ee.ws.saaj.soap.SOAPPartImpl.getEnvelope(SOAPPartImpl.java:75)
at oracle.j2ee.ws.saaj.soap.MessageImpl.getSOAPBody(MessageImpl.java:934)
at
oracle.j2ee.ws.client.StreamingSender._preHandlingHook(StreamingSender.java:692)
at oracle.j2ee.ws.client.StubBase._preHandlingHook(StubBase.java:688)
at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:207)
at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:112)
at
view.proxy.runtime.MyWebService1SoapHttp_Stub.sayhello2(MyWebService1SoapHttp_St
ub.java:76)
... 2 more
Caused by: java.lang.IllegalArgumentException
at oracle.xml.parser.v2.XMLParser.setAttribute(XMLParser.java:794)
at
oracle.j2ee.ws.saaj.soap.soap11.SOAPImplementation11.createEnvelope(SOAPImplemen
tation11.java:54)
... 9 more
PL/SQL procedure successfully completed.
SQL> /
thx
Rajthanks Tugduall for the comments. here are the instructions I followed to create a java stored procedure that can call a webservices. Unfortunately, this seems like a very complex task. Do you have any ideas how I could debug or troubleshoot this issue ?
Please note that I used JDeveloper to generate the client code.
========================================================
1. download the dbws-callout-utility-10R2.zip from OTN at:
http://www.oracle.com/technology/sample_code/tech/java/jsp/dbwebservices.html
2. create an application/project with 1.4 JDK.
3. create a web service by ‘Business Tier’->Web Service->Web Service Proxy->UDDI
4. next… to ‘Search for’, type ‘quote’.
5. from the list select one. For me ‘Quote of day’ was picked.
6. click Next all the way to Finish.
7. from the ‘Application Sources’ select ‘QuotoProxy’ then find its main method.
8. at the section
// Add your own code here, add the line like:
System.out.println("quote "+myPort.getQuote());
9. run it to see its return.
10. cteate a class that has a method to call client method to be invoked (static)
like the following:
package dbws;
import dbws.QotdPortClient;
public class MainClientStub {
public MainClientStub() {
public static String getMyQoute(){
QotdPortClient myClient = null;
try {
myClient = new QotdPortClient();
return myClient.getQuote();
} catch (Exception e) {
e.printStackTrace();
return null;
note that the package name in your project.
11. create a deployment profile as ‘JAR File’. Uncheck the box ‘Project Dependencies’
12. deploy it to the local box. ‘Deploy to JAR File’.
13. unzip the dbws-callout-utility-10R2.zip to get dbwsa.jar.
14. execute the following from command line:
loadjava –user test/[email protected] -resolve –verbose –synonym –grant public to dbwsa.jar myarchive1.jar
loadjava -user test/test@orcl1020 -resolve -verbose -synonym -genmissing -grant public myarchive1.j
ar dbwsa.jar
loadjava -user sys/<sys_pass> -resolve -verbose -synonym -genmissing -grant public myarchive1.jar dbwsa.jar
15. create a function like the following:
CREATE OR REPLACE FUNCTION teststub RETURN VARCHAR2 AS
LANGUAGE JAVA NAME ‘dbws.MainClientStub.getMyQoute() return java.lang.String’;
16. Run at sqlplus: Select teststub from dual;
====================================================== -
Insert a record into a table through email in an Oracle APEX application
I developed an Oracle APEX application, there is a table called events. I can insert/update/delete a record in the table through browser. I am thinking in order to quickly do the data entry, user should be able to send an email, then the table should be inserted with values from email address, timestamp, subject and body. Anyd idea how to realize this functionality?
- DenisStart by checking whether your mail server provides any API's for accessing emails , if it does you might be able to reduce a lot of work by using some kind of web service consumer from apex to your mail server. In any case your implementation is going to be dependent on your Mail Server configuration.
Your problem breaks down to reading/accessing mails from the mail server from PLSQL (apex is driven by PLSQL).
I found this other thread which could be of some use.
WAY TO ACCESS A MAIL SERVER FROM ORACLE APEX
<li>The following package might solve your problem directly(from carsten czarski of the German Apex community)
[url http://plsqlmailclient.sourceforge.net]http://plsqlmailclient.sourceforge.net
PS: POP3 support is still TBD.
<li>I also found this posting in the orafaq forums which lists a java method and PLSQL code bit for it for accessing emails via POP3
[url http://www.orafaq.com/forum/t/80928/2/]http://www.orafaq.com/forum/t/80928/2/
If these do not work for you, find some java library to read mail from your server, write a PLSQL wrapper for it and use it in a scheduled job(DBMS_JOB)/a PLSQL block triggered from Apex.
If you get stuck there, find some utility that can read mails, invoke them from your DB using java,shell scrpt,dbms_scheduler etc and use the utility's function for the rest.
NOTE: I haven't tried any of these utilities and you must validate any java code before running them on your environment.
Since aren't really much restrictions(other than spam checks) in sending a mail to your mail account, you might want to consider filtering out the mails from which you create records. -
ProcessRemoteException when invoke webservice from Oracle E-Business Suite
Hi,when i invoke webservice from Oracle E-Business Suite R12.1 – Integrated SOA Gateway’s
I get following exception.
fuego.soaptype.SoapExecutionException
at fuego.soaptype.SoapCall.processRemoteException(SoapCall.java\:750)
at fuego.soaptype.SoapCall.invoke(SoapCall.java:238)
at fuego.soaptype.SoapObject.invoke(SoapObject.java:309)
at fuego.lang.Invokeable.invokeImpl(Invokeable.java:234)
at fuego.lang.Invokeable.invokeDynamic(Invokeable.java:188)
at xobject.Fuego__AutoGen__Screenflows__.__SubmitReport.initializeReport(__SubmitReport.xcdl:30)
at.......
this webserivce has been deployed and granted. and I can test it with soapUI.
my code:
configuration as Configuration = Configuration("FND_PROGRAM_Service");
endpoint as HttpEndpoint=HttpEndpoint("http://ep066020.bscdev.net:8002/webservices/SOAProvider/plsql/fnd_program/");
endpoint.setUsername("sysadmin");
endpoint.setPassword("sysadmin");
configuration.endpoint = endpoint;
usernameTokenPlain as UsernameTokenProfileSecurityPolicy=UsernameTokenProfileSecurityPolicy("sysadmin","sysadmin");
usernameTokenPlain.usernameTokenPasswordType = UsernameTokenPasswordType.PASSWORD_TEXT;
policies as SecurityPolicy[];
policies[]=usernameTokenPlain;
configuration.securityPolicies = policies;
service as FND_PROGRAM_Service= FND_PROGRAM_Service(configuration)
sh as SoaHeader = SoaHeader();
sh.namespace="";
sh.responsibilityApplName="SYSADMIN"
sh.responsibilityName="System Administrator"
sh.securityGroupName="STANDARD"
sh.nlsLanguage="AMERICAN"
pam as InputParameters9 = InputParameters9()
result as OutputParameters
pam.application="SQLGL";
pam.executableshortname="ENABLED"
do
logMessage "333333333333333";
executableexists service
using header = sh,
body = pam
returning result = bodyOutput (throw exception)
logMessage "2222222222222";
reportSF.description=String.valueOf(result.fndprogram24executableexists)
reportSF.comments="11111111111";
on ex as Any
logMessage "aaaaaaaaaaaa"+ex
endI've encounter something similar to you're problem and it was resolved by manually creating the object using the web service constructor and inputting user credentials. If you manually instantiate your web service wrapper object and set a a security profile token, it may solve your problem. You can also pass in the web service endPoint URL, if you want.
Fuego.WebServices.UsernameTokenProfileSecurityPolicy
I'm not sure how to use UsernameTokenProfileSecurityPolicy, but try something like this:
Fuego.WebServices.UsernameTokenProfileSecurityPolicy policy = UsernameTokenProfileSecurityPolicy();
policy.username ="mark";
policy.password = "password";
tws = YourWebService();
response = tws.callWebServiceMethod();
I realize the security profile isn't tied anywhere to the web service, but try it anyway.
There is also some fields on the webservice, tws.setRequestHeader() that may allow you to set the username and password on the request, but this doesn't make sense to me. It shouldn't be that hard.
Edited by: Mark Peterson on Mar 19, 2010 9:14 AM
Edited by: Mark Peterson on Mar 19, 2010 9:20 AM -
Ora-06502 pl/sql numeric or value error in Report Query in oracle apex
Hello all,
I need your help...
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
I am using bi publisher to generate PDF reports in oracle apex.
We were using APEX 4.0 and migrated to 4.2 just a week ago.
Now we have apex 4.2.
When I try to Create report query,
Shared Components >> Report Queries then create.
and test a report in a create wizard I am getting a error "ORA-06502: PL/SQL: numeric or value error: character string buffer too small".
I have also applied a patch "16760897".
This issue is because of number of columns in a query is more then 26.
If I run a report with 26 or less number of columns then the is working fine, otherwise getting this error.
My before migration report queries working perfectly even now, but not new queries.
This issue is also in apex.oracle.com.
You can see
Not working - http://apex.oracle.com/pls/apex/f?p=619:4
Working - http://apex.oracle.com/pls/apex/f?p=619:2:
Please give a solution.
Thanks you.check the DB version compatibility with apex 4 or your DB version to apex 4.0 support for upgrade!
Oracle Application Express Installation Requirements for 4.0 -
How to pass a value to a bind variable in a query report in oracle apex
Hi Guys,
I have requirement to send weekly reports via email to some users. The users should receive their own records in the report. The user details is stored in a table. What I am planning to do is to create a report query in oracle apex to generate the report and then run a function/procedure via a scheduler to email the report to respective users. Now my query is ............. is it possible to pass a value (user name) to the report query to pull records of only that user? I know we can have bind variables in the report query but I have no idea how to pass a value for bind variables from a function/procedure.
Can anyone help me on this issue or suggest a better approach?
Thanks,
SanYou need to use dynamic sql
But please keep in mind that since you're using Oracle you may be better off posting this in some Oracle forums
This forum is specifically for SQL Server
Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs -
Report in pdf format in oracle apex
how can i save the contents of a form as a report in pdf format by clicking on tha print button in oracle apex???
plz help if anyone knows tha solution
Edited by: user9139675 on Mar 9, 2010 11:14 PMhow can i save the contents of a form as a report in pdf format by clicking on tha print button in oracle apex???You may create a report and call it in an Apex process fired by press a button.
in the process:
l_utl_http := utl_http.request(l_url);
where set l_url like:
http://167.165.243.209/dev60cgi/rwcgi60?repdevi_key&server=Rep60&report=my_rpt.rdf&DESFORMAT=PDF&DESTYPE=FILE&DESNAME=/arch/chrisweb/devi/cache/my_rpt.PDF&BACKGROUND=YES&P_1=PC00980
The generated pdf report my_rpt.PDF is kept at /arch/chrisweb/devi/cache/ -
XML Error while calling webservice from oracle function.
I am getting an error while I am trying to call webservice from oracle function. Any ideas? Thanks.
select get_new_string ('proxy:80', 'http://xxx/PatternVariations/SourceTest/WebMethods','Scott') from dual
ERROR at line 1:
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00225: end-element tag "H4" does not match start-element tag "P"
Error at line 9
ORA-06512: at "SYS.XMLTYPE", line 0
ORA-06512: at "DORSBP00.DEMO_SOAP", line 82
ORA-06512: at "DORSBP00.GET_NEW_STRING", line 11The error message implies that the web service is returning something that is not well formed xml. Can you verify what is being returned by the web service call
-
Getting error while importing the application in Oracle Apex
Hi,
I am facing an issue while importing an application into my new Oracle Apex installation. Installation was successful with out any issue. I exported an application from my old Apex (version 3.0.0.00.20) and importing the same into new apex (version 3.0.1.00.08). I am getting the following error.
============================================================
The requested URL /pls/apex/wwv_flow.accept was not found on this server.
============================================================
When I click on import in Application Builder page and then browse the required file it gives the progress saying "Importing File" and after some time it displays the above error.
I tried bouncing the application also and there is not error in alert log.
Could any one please suggest, if there is some problem here. Or my approach is not correct.
Thanks in advance.
Regards,
Advait DeoOsacar, I recommend that you try to import the application into your workspace on apex.oracle.com and see what happens. Also, refine the problem statement as much as you can, e.g., you get this error importing "the application" or when importing "any" application. How big is the file you're trying to import? Where did it come from? Can you upload images?
Scott -
HTTP status 500 error while importing an application in Oracle Apex workspace
Hello everybody,
I am facing an issue while importing an Oracle Apex application in one of my workspace. Below is the screen of error. But if I try to import the same export file in other workspace in other database, the import works perfectly. Any clue?
Thanks in advanceOsacar, I recommend that you try to import the application into your workspace on apex.oracle.com and see what happens. Also, refine the problem statement as much as you can, e.g., you get this error importing "the application" or when importing "any" application. How big is the file you're trying to import? Where did it come from? Can you upload images?
Scott -
Escape ' ' while creating a collection in Oracle APEX
Hi all
I am creating a collection where I am using substr and instr functions and it does give an error message as below
• ORA-06550: line 14, column 79: PLS-00103: Encountered the symbol ", -1)) OWSR, null PRIM_ADD , null PRIMA" when expecting one of the following: ) , * & = - + < / > at in is mod remainder not rem <an exponent (**)> <> or != or ~= >= <= <> and or like like2 like4 likec between || multiset member submultiset
Relevant Portion where the error pops up:
APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY(
p_collection_name => 'RANGE_COLLECTION',
p_query => 'SELECT
:P999_LOC_TYPE ADD_TYPE_ID
, TRIM(:P999_OWSR) PRIM_ST
, SUBSTR(TRIM(:P999_OWSR),1,1) PRIM_DIR
, SUBSTR(TRIM(:P999_OWSR),INSTR(TRIM(:P999_OWSR), ' ', -1)) PRIM_SUF
......... on the line below
SUBSTR(TRIM(:P999_OWSR),INSTR(TRIM(:P999_OWSR), ' ', -1)) PRIM_SUF
Does anyone have any solution how to escape the single quotes in Oracle APEX 4.2. - like \' or something? I already tried using backslash but had no luck.
Would really appreciate your help ASAP.
Thanks,
RadsRads wrote:
Does anyone have any solution how to escape the single quotes in Oracle APEX 4.2. - like \' or something? I already tried using backslash but had no luck.Quotes in string liberals in Oracle are escaped by doubling them up:
execute immediate 'update emp set sal = sal * 1.2 where ename = ''SCOTT''';However a better approach when dealing with SQL strings is to use the alternative quoting mechanism:
execute immediate q'{update emp set sal = sal * 1.2 where ename = 'SCOTT'}';as this allows the original string to be left unaltered. -
Issue in Upgrading Oracle APEX 2.1 to 3.1
Hi,
I have recently installed Oracle Database 10g Express Edition (Oracle Database XE) which includes Oracle Application Express (Oracle APEX) release 2.1
I have upgraded from Oracle APEX 2.1 to 3.1 by following instructions in http://www.oracle.com/technology/products/database/application_express/html/3.1_and_xe.html
Following is the sequence of steps I followed
1. @apexins SYSAUX SYSAUX TEMP /i/
2. @APEX_HOME/apex/apxldimg.sql APEX_HOME
3. @APEX_HOME/apex/apxxepwd.sql password
Now Oracle Database express home page changes to
http://127.0.0.1:8080/apex/f?p=4550:1:723721796272276
All gif logos are missing and font appears differently. More importantly nothing happens after entering workspace/username/password and clicking login button. I am using internet exlorer 7 and it says "Error on Page" on the bottom status bar.
Please let me know if any one encounterd similar issue and if you were able to fix the issue.
Thanks for your help
RSNAIKHello,
For all of you who have the same problem that we had.
After two installs and desinstall, I have finally found what to do.
You must stop the OracleXETNSListener service when upgrading Oracle Database 10g Express Edition.
Here the steps to follow assuming that you have installed Oracle Database 10g Express Edition into C:\oraclexe
and unzipped apex_3.1.2 into C:\apex on a Windows XP System :
1. On Windows XP, Startup Menu, go to the Configuration panel, open Administration Tools, open Services, then you will click on the OracleXETNSListener service, stop it.
2. On Windows XP, Startup Menu, select Execute, type cmd and press OK to open a DOS window.
3. At the DOS prompt, type cd apex.
4. At the DOS prompt, type sqlplus /nolog
5. At the SQL prompt, type connect SYS as SYSDBA
6. Type the password of the user SYSTEM that you choose when installing Oracle XE.
7. At the SQL prompt, type *@apexins SYSAUX SYSAUX TEMP /i/* (may take 15 minutes or more)
8. At the DOS prompt, be sure to be in the apex directory (C:\apex) then type sqlplus /nolog
9. At the SQL prompt, type connect SYS as SYSDBA
10. Type the password of the user SYSTEM that you choose when installing Oracle XE.
11. At the SQL prompt, type *@apxchpwd*
12. Choose a password for ADMIN, type it then press Enter
13. At the SQL prompt, type *@apxldimg* C:\ (you will perhaps obtain a message like an error but the upgrade works fine)
14. At the SQL prompt, type *@apxxepwd* password (where password is the ADMIN password choosen at step 12)
15. At the SQL prompt, type quit
16. At the DOS prompt, type exit
17. Then go to the OracleXETNSListener service and start it.
To connect as ADMIN, type the url http://127.0.0.1:8080/apex/apex_admin
username : ADMIN
password : your admin password
You will be able to create workspaces (schemas) and users
Now you will be able to connect to APEX at http://127.0.0.1:8080/apex
workspace : your login name (workspace created in apex_admin)
username : your login name (user created in apex_admin)
password : your password (password defined for the user in apex_admin)
I hope that this steps will be clear for all of you.
Thank you to user10570446 who have provided a clear step through. So that I'd take the time to clarified my solution to my type of configuration.
I hope that RSNAIK has been able to make the upgrade to APEX 3.1.2.
Good day to everyone
Edited by: Practos on 2008-12-10 09:37 -
How to Validate a User on the click of a button in Oracle APEX
Hi,
How to Validate a User on the click of a button in Oracle APEX.
say for e.g: I want to allow only a specific user to go beyond after clicking on a button and restrict all the other Users. Any ideas please.
Thanks in Advance,
AfWell , the actual idea was to hide the button for specific users and show the button only for some specific users... is this possible...?
@ AndyH: yeah, what you have suggested also fits well for my requirement... Could you please let me know how can i achieve it...
Regards,
Af
Maybe you are looking for
-
IPod Composite AV Cables no longer recognized by iPod
I posted this in the iPod Touch section but it seems to have been deleted. Anyway, as the title states, my iPod Touch no longer realizes that it's plugged into the proprietary, authentic-chip-containing composite AV cables. I can't figure out why thi
-
Proper stock transfering not happening for intercompany
Hi Friends, When I executed the scenario of procure to pay using replenishment for intercompany am getting the proper result step by step in IDES for standard document type (NB for PO). Now I have created my own document type for PO and have assigned
-
In iTunes 11, there is no scroll bar in full page Albums view. It does appear when you minimize the screen, but on my computer, the scroll is hidden and the resizing of the screen does not work. Is there a fix? Also, how do you sort tracks/songs
-
Can I use roaming in Laos?
I am in Laos. When I arived I got a message telling me of international services. I have been using a local network sim but just now when I put my EE sim back in the phone, I'm getting a NO SERVICE reading on my phone though it recognises my EE numb
-
Characters missing when printing a PDF
Hi all, When printing a PDF file (word document converted and digitally signed with Adobe Pro XI) some characters are not printed, they are as blank spaces. The workaround is to print the file as image, with a significant decrease of printing quality