WDA accessing MySQL DB through Java Connector
Hi,
Im having some issues to interfacing a web dynpro abap application with a MySQL DB through a java connector connexion.
Here what I want to do:
Doing queries on my MySQL DB after input fields of search criteria and get the results back to display them in the web dyn pro application. (reporting tool-)
Accessing the data of a MySQL Database in my SAP, to avoid a duplication of data.
I would like to know how to send a query to my Java application ?
And how to send the result of this query to the Webdynpro ABAP ?
Whats the best and easiest solution ?
Thanks !
Found my way through JCo Server.
I need an rfc or BAPI that have specific parameters --> a table with several specific fields and several fields for search criteria.
The user enter the search criteria than I send those to my Java server, the Java server retrieve those parameters and perform a SQL query on the MySQL DB. I fill in the table parameter with the result and send the whole table to the abap
How is it possible ?
Thanks !
Similar Messages
-
Want to access RESTful Services through Java Program
We are trying to access RESTful Services exposed by Oracle database cloud through our Java code, with authentication enabled for a particular user.
Till now, we have completed below steps:
1) We have a working account with Oracle database cloud (Username – xxx.xxx)
2) We log in using the credentials for above account, and navigate to Oracle Apex ? SQL Workshop ? RESTful Services
3) We create a new “RESTful Service Module” by filling out the details as below:
Name: SampleTest
URI Prefix: test
URI Template: /getallemp
Pagination Size: 25 (kept to default)
Required Privilege: TestGroupPrivilege
Resource Handler Details:
Method: GET
Source Type: Query
Format: JSON
Source: select * from emp
After creating the above module and testing it, it works fine and the data is retrieved in JSON successfully.
The resulting URL for above RESTful Service Module is: https://<HOST_URL>/apex/test/getallemp
Note that “TestGroupPrivilege” is a privilege assigned to the user group “RESTful Services” and the user “xxx.xxx” is a member of “RESTful Services” user group.
4) We are unable to call the RESTful services from Java program. We are passing username and password in request header as basic authentication. But, we are getting: Error 500--Internal Server Error
5) If we change the “Required Privilege” to default i.e. no privileges present on the module, we can get the response through Java code and everything works perfectly fine.
Please suggest us in: How to access RESTful Services through Java code by passing user credentials in HTTP header for authentication. Also let us know if we have to do any settings through Apex, in case we are missing any.
Message was edited by: NeerajGirolkar
- When we are logging in to Oracle cloud on browser and execute the Oracle cloud RESTful service in another tab of same browser, we are able to get the result. But when executed the same RESTful service from a different browser or java program we get internal server error.
- After investigation, we found that when user logs in to oracle database cloud, a cookie is set in browser with name s “OAMAuthnCookie_cstest-domo.db.us1.oraclecloudapps.com:443” and value as some random token. This cookie is passed in the subsequent requests to the RESTful Service calls when using same browser and as a result, we are able to get the results
- In the Java program, we copied the same cookie with random token in the HTTP Request header and we got the proper response from REST APIs.
- It seems that this cookie is created by an Oracle Middleware tool/server called as OAM – Oracle Accounts Manager, which sends the authentication token after successful authentication and creates the cookie.
- We found that the cookie that OAM creates on authentication is exactly in the same format i.e. ‘OAMAuthnCookie_cstest-domo.db.us1.oraclecloudapps.com:443’. So, we are guessing that Oracle cloud uses OAM for authentication. Please refer to following link for same : http://docs.oracle.com/cd/E14571_01/doc.1111/e15478/sso.htm
Can anyone please suggest:
1. How to provide authentication to Oracle Cloud REST APIs from java program?
2. How to pass the username and password in Java code to OAM (or how to communicate with OAM using Java) so that we can receive the unique token from OAM. We can use the token in the further requests? 3. Also in Oracle cloud white papers , it is mentioned that they support OAuth2.0. But we didn’t find any URLs for same. Can anyone please confirm?
Thanks
~ Neeraj GirolkarHi Nilesh,
We tried to connect to Oracle Cloud Database using the way you suggested above, but unfortunately it is not working as well.
Can you let us know the authentication process with Oracle Cloud Database? We found in documentation that it uses OAM (Oracle Access Manager) for authentication. Can you tell us a bit about that? That will be extremely helpful.
Thanks,
- Neeraj -
Error while trying to access BPEL process through java on localhost
I have a service (CreditRatingService that comes along with install) running on the BPEL engine. Trying to invoke it through java. However, I get an exception. Below is more information. Appreciate any help.
My method
public String invokeBpel()
Map payload;
Hashtable jndi = null;
try
String ssn ="1234";
String xml = "<ssn xmlns=\"http://services.otn.com\">" + ssn + "</ssn>";
Locator locator;
locator = new Locator("default","welcome1",jndi);
IDeliveryService deliveryService =
(IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME );
NormalizedMessage nm = new NormalizedMessage( );
nm.addPart("payload", xml );
NormalizedMessage res =null;
try
res = deliveryService.request("CreditRatingService","process", nm);
catch(RemoteException oNameEx)
System.out.println(oNameEx.getMessage());
payload = res.getPayload();
System.out.println( "BPELProcess CreditRatingService executed!<br>" );
System.out.println( "Credit Rating is " + payload.get("payload") );
catch (Exception e)
System.out.println("This is the exception" + e);
System.out.println(e.getStackTrace());
finally
return "toPage3";
}//end method
Exception text
Failed to create "ejb/collaxa/system/DeliveryBean" bean; exception reported "javax.naming.NameNotFoundException: ejb/collaxa/system/DeliveryBean not found
Env
ADF Business Components:10.1.3.39.84
BPEL Designer 10.1.3.1.0 (Build 061009.0802)
CVS Version Internal to Oracle JDeveloper (client-only)
Java™ Platform 1.5.0_06
Oracle IDE 10.1.3.39.84
Struts Modeler Version 10.1.3.39.84
UML Modelers Version 10.1.3.39.84
Versioning Support 10.1.3.39.84Hashtable jndi = null;
try
String ssn ="1234";
String xml = "<ssn xmlns=\"http://services.otn.com\">" + ssn + "</ssn>";
Locator locator;
locator = new Locator("default","welcome1",jndi);
this implies to be in the same initial context then the bpel engine, whicuh you cannot be as long as you are not either part of the ejb code of orabpel or a child of it. and if you are you can use the Locator API without the jndi properties.
hth clemens -
Accessing XML files through java
Can any one explain me the easiest way of accessing XML files from Java.
Hi,
If you want to only access the XML file, use the SAX parser It will be very easy to handle and identify the element and value.
else if u want to change the XML value also, then better go with DOM, Which has very good flexiblity.
use according to the need, let me know if any help is required......
With Cheers
PrasannA -
Accessing OS/390 through Java and reading VSAM files
I hope this is the apporiate forum for this question. I am fairly new to Java but am interested in learning about using Java to connect to a mainframe and read a VSAM file. So my questions are:
1.) Where can I find information on this on this topic
2.) Would this require database drivers, and if so, are there any open source drivers for reading VSAM
Thanks for your help,
JohnYou can get an evaluation copy of WebSphere Information Integrator Classic Federation for z/OS v8.2. This will include JDBC clients for Windows and Unix platforms as well as a z/OS data server component that can access the VSAM data. .
There are two ways to order an evaluation copy:
Through the IBM zSeries account rep
Via the Shop zSeries Web site -
Importing data from ms access to db2 through java code
hi there,
i want to develop a code in which i can set ODBC settings because i dont want user to manually set these settings using administration tools in control panel.....is there any way of doing this.?
but my main problem is , importing database from .mdb file to db2 using java code only.....
thanks in advanceone point i want to mention here...there is perhaps a 'cursor problem' ( or not a problem at all )...see the following code...
1. while (res.next()) {
2. System.out.println("-> " + res.getString(2));
3. jTextArea1.append("-> " + res.getString(2) + "\n");
4. }
You have a repetition problem.
Cursors are like iterators: you can't reuse them. Once you iterate through them you have to reinitialize them. Some JDBC implementations are picky about the order in which you access variables. This one appears to not allow you to access them twice.
The question is: why do you bother to get this value twice? Just do it once, like this:
while (res.next())
String str = res.getString(2);
System.out.println("-> " + str);
jTextArea1.append("-> " + str + "\n");
}Another question worth asking: Why is UI code mingled in with database code? Poor layering. I hate seeing Swing and JDBC mixed together like this.
% -
How to access system registry through java program
Friends
I have to access System registry of Windows 2000 by Java program. I don't know how to access the registry by using java code. Please help me. Else
I want to create a setup file for my application. before setup my application i have to check whether the system has JVM or not. If its not then i have to install JVM first and then my application. so i need to access system registry. please give me a solution for this.
Thanks in advance
RameshI don't know how to access the registry
by using java code. You can't, without using a native interface (JNI type) library.
This is one, there are others, do a Google search:
http://www.bayequities.com/tech/Products/jreg_key.shtml -
Need Standard BAPI To Create Opportunity in SAP Using Java Connector.
Hi All,
What is the standard BAPI to create an opportunity in SAP CRM through Java Connector.
Please share code if available for doing same. I have found BAPI_OPPORTUNITY_CREATE_MULTI .
How to create opportunity in SAP through java connector using BAPI_OPPORTUNITY_CREATE_MULTI .Hi,
I think you can search for it or you can create a thread at ABAP section. -
Help on accessing tables available in SAP through Java
Hi All
I want to access some tables available in SAP through my Java program. Do I have to write any code for database connectivity or straightaway I can write SQL statements in my Java code?
Can anyone please suggest the sample code for this?
Thanks in Advance,
Vijay.Hi,
You need JCO(Java Connector)
Check this sample code.
import com.sap.mw.jco.*;
public class JcoTest {
private static JCO.Client theConnection;
private static IRepository theRepository;
public static void main(String[] args) {
createConnection();
retrieveRepository();
try {
JCO.Function function = getFunction("RFC_READ_TABLE");
JCO.ParameterList listParams = function.getImportParameterList();
listParams.setValue("BSAUTHORS", "QUERY_TABLE");
theConnection.execute(function);
JCO.Table tableList = function.getTableParameterList().getTable("DATA");
if (tableList.getNumRows() > 0) {
do {
for (JCO.FieldIterator fI = tableList.fields();
fI.hasMoreElements();)
JCO.Field tabField = fI.nextField();
System.out.println(tabField.getName()
+ ":t" +
tabField.getString());
System.out.println("n");
while (tableList.nextRow() == true);
catch (Exception ex) {
ex.printStackTrace();
private static void createConnection() {
try {
theConnection = JCO.createClient("000", "DDIC", "minisap", "en", "sincgo", "00");
theConnection.connect();
catch (Exception ex) {
System.out.println("Failed to connect to SAP system");
private static void retrieveRepository() {
try {
theRepository = new JCO.Repository("saprep", theConnection);
catch (Exception ex)
System.out.println("failed to retrieve repository");
public static JCO.Function getFunction(String name) {
try {
return theRepository.getFunctionTemplate(name.toUpperCase()).getFunction();
catch (Exception ex) {
ex.printStackTrace();
return null;
Regards
vijay -
How to get the data from mysql database which is being accessed by a PHP application and process the data locally in adobe air application and finally commit the changes back in to mysql database through the PHP application.
If the data is on a remote server (for example, PHP running on a web server, talking to a MySQL server) then you do this in an AIR application the same way you would do it with any Flex application (or ajax application, if you're building your AIR app in HTML/JS).
That's a broad answer, but in fact there are lots of ways to communicate between Flex and PHP. The most common and best in most cases is to use AMFPHP (http://amfphp.org/) or the new ZEND AMF support in the Zend Framework.
This page is a good starting point for learning about Flex and PHP communication:
http://www.adobe.com/devnet/flex/flex_php.html
Also, in Flash Builder 4 they've added a lot of remote-data-connection functionality, including a lot that's designed for PHP. Take a look at the Flash Builder 4 public beta for more on that: http://labs.adobe.com/technologies/flashbuilder4/ -
Class not found Exception when accessing database through java using ASP
I am trying to access the database through ASP via java:
the database is setup as a system database..
the java class works fine if i try to run it as a stand alone.. but as soon as I run it through ASP.. it does not get passed the driver line.. is there anything in particular I need to do ?
JAVA and ASP and the output code looks like as follows:
java code looks like this:
import java.sql.*;
public class testDB{
private Connection connection;
private Statement statement;
public static void main(String[] args){
public String getDriver(){
String x = "start of program ";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
x = x + " Got Driver";
connection = java.sql.DriverManager.getConnection("jdbc:odbc:database", "sunny", "jassal");
x = x + " After connection statement";
statement = connection.createStatement();
x = x + " After statement statement";
statement.execute("Insert into name (name, age) values ('hello', 33)");
x = x + " after insert";
connection.close();
} catch (Exception sqlex){x = x + sqlex.getMessage() + " " ;
x = x + sqlex.toString() + " " ;
x = x + sqlex.getLocalizedMessage();}
return x;
and the asp looks like this:
<html>
<%
set javaobject = GetObject("java:testDB")
response.write "after getting object"
response.write javaobject.getDriver()
set javaobject = nothing
%>
</html>
after getting objectstart of program sun/jdbc/odbc/JdbcOdbcDriver java.lang.ClassNotFoundException: sun/jdbc/odbc/JdbcOdbcDriver sun/jdbc/odbc/JdbcOdbcDriverwhat would I set the classpath to be .. and I am sorry I am new to this.. but how would I be able to check the CLASSPATH .. or even how do I set the CLASSPATH.. to which directory would i need to set the classpath to
I know I can set the classpath in dos by set CLASSPATH=
but I dont know how to set it so it would read the drivers -
PI 7.1 Access to Dynamic Configuration through Java Class
My Current scenario involves IDCO -> FILE communications in PI 7.1 using XSL where the file name is dynamic.
I have attempted calling a Java Class from XSL with the use SAPXMLTOOL kit option set in the adaptor and it works but I need to be able to call the transform method
public void transform(TransformationInput arg0, TransformationOutput arg1)
from XSL so I can access the message and update the File Name via Dynamic Configuration.
Whilst I can call a static class with in the object I can not call transform with the correct arguments (arg0, arg1). I need access to arg0 (payload) to set/figure out the filename. I can calculate the filename in XSL and pass it to the Java but in a static method it is useless as it need to access the arg0 which is a object and obviously non-static context.
Is this possible ? How do I get access to Dynamic Configuration from XSL through Java in 7.1 ?
I have successfully called a static method but that is no help.
Thanks in advance.Suraj,
Unfortunately you link isnt operational but thankyou anyway, I have managed to call as Java class as per my original post, but a static method does not allow me to get a handle to the Dynamic Configuration Variables in the message.
It seems importing the 7.0 LIBS may be an option and Im not entirely sure I have that option.
It certainly isnt possible to use the JDK5 XML implementation to even call a static method on an Java OBJ from XSL (obviously the USE SAPXMLTOOLKIT option is there for a reason).
I think and again I could be wrong but direct access via XSLT..
LINK:http://help.sap.com/saphelp_nwpi71/helpdata/EN/e2/e13fcd80fe47768df001a558ed10b6/frameset.htm
Is what Im looking for, I shall report back success or failure but the doco seems to fit the bill. Im not sure why I wanted to instatiate a sperate Java class when it can all exist in the XSLT. -
Accessing RUN through java programming
Sir,
i need to develop a java application t access "run" in start menu.How can i access the run menu through java programming.?I want to run the program in the run command when we input command through the java program..please help me..if you have the code palese send it tio me please..........But I cant access the drives for eg: I wrote c:\programfiles as input but i got an exception like this
error=3
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
at java.lang.Runtime.exec(Runtime.java:591)
at java.lang.Runtime.exec(Runtime.java:429)
at java.lang.Runtime.exec(Runtime.java:326)
at ex.main(ex.java:10)
how can correct this error... -
How to upload 20MB of file into MySQL through Java
Hi Friends
Anyone let me know how to upload 20MB of file into MySQL through Java programming, is there is any feature available, or any changes to be made in MySQL
Thanks
SellaDon't know. Ask the MySQL folks. This is not a Java issue.
-
Registrykey access through java program
hi,i need help in accessing the registrykey entries made by the any software installed in the system through java program...pls send sample source code to [email protected]
have you tried Runtime.getRuntime.exec("cmd /c start telnet");or someting like that?
Maybe you are looking for
-
Map Viewer SRS Parameter (WMS service)
Hello, In MapViewer WMS documentation it is mentioned, that two SRS parameter values are supported: SDO:8307 and EPSG:4326. We try to access WMS server using MapInfo Professional as client, but it reports that SDO:8307 projection is not supported by
-
HT201335 Apple TV AirPlay to AirPort Express and Still Keep Apple TV Audio Out at Same Time?
I want my TV to keep audio and ALSO send audio to and AirPort Express at the same time. It seems that I can choose either Apple TV audio OR send to AirPlay device. I want both! How can I send audio to both and AirPlay device and still keep audio on t
-
NAC 4.7 CAS web login page url generation
We have had third part certs generated for the CAS and the CAM and these have installed OK, along with the relevant root and intermediate certificates, and the CAS/CAM are communicating fine. However when a user is redirected to the authentication pa
-
I made my apple ID but it says to review account info and it tells me to put a credit card and I dont have one. HELP
-
Insert Billing Block if Contract is Changed
Dear Experts, We have Rental Contract / Service Conract scenario where we create a Contract with BIlling Plan & create Invoice eveny month thru VF04. We now have a requirement to insert Billing Block when the Conract is Created. This is easily achiev