Issues faced while setting up SSL for ADS (Java + ABAP)
Hi,
Connection test to test SSL connection to ADS using program FP_PDF_TEST_00 fails with the following exception:
ERROR CODE : 100.101
ERROR MESSAGE : SOAP Runtime Exception: CSoapExceptionTransport : HTTP receive failed with exception communication_failure
SOAP Framework error: SOAP Runtime Exception: CSoapExceptionTransport : HTTP receive failed with exception communication_failure(100.101).
I have exchanged certifcate between Java (ABAP stack client certificate uploaded in trusted CA, also assigned to SSL port socket and is asigned to ADSUSER) and ABAP stacks for authentication.
Using web service navigator to test the ADS web service fails too:
https://cx8.vshodc.lntinfotech.com:50001/AdobeDocumentServicesSec/Config?style=rpc
It displays the page to enter userid password. I have entered correct credentails still the same page is displayed on selecting SUBMIT.
Any help on this would be highly appreciated!
Thanks,
Chitrali
Check the notes and suggestions on this threads,
ADS: ICM_HTTP_CONNECTION_FAILED
Re: Adobe document service error: SOAP Runtime Exception
That might help
Regards
Juan
Similar Messages
-
Error while setting up enviroment for the application
Hi,
Im getting a popup box displaying the error message
C:\WINDOWS\system32\ntvdm.exe
Error while setting up enviroment for the application. Choose 'Close' to terminate the application.
When I try to excute an external exe, why am I getting this error? and is there a way of getting this exe to execute properly without the error?
Here my code for excuting the external exe
String[] cmd = {"C:/gen.exe", "C:/a.zip"};
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor(); "gen.exe" is the program i wish to execute and "a.zip" is the parameter i wish to excute it with.class ExecRuntime {
public static void main(String args[]) throws Exception {
String[] cmd = {"C:\\gen.exe", "C:\\a.zip"};
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor();
} Here we need to use backslashes, because the command is passed to the OS as is.
If you need to be in C:\ to execute from command line, you will also need to use the
exec() version that allows you to specify the 'current directory'
Edited by: baftos on Mar 7, 2008 12:13 PM -
Setting up SSL for Weblogic Server10.3.1
I have read the doc http://download.oracle.com/docs/cd/E15523_01/web.1111/e13707/ssl.htm#i1194343 for Setting up SSL:
1) Obtain Certs and keys: Public Certificates and Private Keys
2) Store the private keys, digital certificates, and trusted CA certificates. Private keys and trusted CA certificates are stored in a keystore.
3) Configure the identity and trust keystores in the Admin console.
4) Set SSL configuration option for private key alias and password in Admin console.
step 1)
for the developement I'd use the demo certs offered by WLS install. I have found 4 certs in WLS_HOME\server\lib
and they are CertGenCAKey, CertGenCA, demo and trusted.
which are the Public Certificates? and the Private Keys? which ones should we use? Can we use them without any modifications ?
Or we should use CertGen to create the certs and keys?
TIA
Z
Edited by: user12220476 on May 12, 2010 4:34 PM2) Store the private keys, digital certificates, and trusted CA certificates. Private keys and trusted CA certificates are stored in a keystore.
3) Configure the identity and trust keystores in the Admin console.
4) Set SSL configuration option for private key alias and password in Admin console.
I have used CertGen created the following key and cert files
natcert.der, natcert.pem, natkey.der and natkey.pem
For creating the keystore from the private key, I use utils.ImportPrivateKey
steps (http://download.oracle.com/docs/cd/E15523_01/web.1111/e13749/utils.htm#ADMRF151)
Convert the certificate from DER format to PEM format.
$ java utils.der2pem CertGenCA.der
Concatenate the certificate and the Certificate Authority (CA).
$ cat natcert.pem CertGenCA.pem >> newnatcerts.pem
Create a new keystore named natkeystore and load the private key located in the natkey.pem file.
$ java utils.ImportPrivateKey -certfile newnatcerts.pem -keyfile natkey.pem -keyfilepass natkey123 -keystore natkeystore.jks -storepass nat123 -alias natalias
Using Admin console to configure SSL
configuration > general > enable ssl port 7002
configuration > keytores > Custom Identity and Java Standard Trust
--- Identity -----------------
Custom Identity Keystore: $WLS_HOME/server/lib/natkeystore.jks
Custom Identity Keystore Type: jks
Custom Identity Keystore Passphrass: nat123
---Trust -----------------------
Java Standard Trust keystore: JDK_HOME/jre/lib/security/cacerts
Java Standard Trust keystore Type: jks
Java Standard Trust keystore PassPhrass: changeit
configuration > SSL
Identity and Trust Locations : Keystores
---- Identity ----------------------
Private key location: from custom identity keystores
Private key alias: natalias
Private key Passphrass: nat123
Certificate Location: from custom identity keystore
---- Trust -------------------------
Trust Certificate Authorities : from Java Standard Trust Keystores
I restarted the WLS and fail to access the SSL port.
Found following error mssages in the Admin server log:
<BEA-090716> <Failed to retrieve identity key/certificate from keystore \...\wlserver_10.3\server\lib\natkeystore.jks under alias natalias on server AdminServer>
<BEA-000297> <Inconsistent security configuration, weblogic.management.configuration.ConfigurationException: Failed to retrieve identity key/certificate from keystore \..\wlserver_10.3\server\lib\natkeystore.jks under alias natalias on server AdminServer>
<BEA-090034> <Not listening for SSL, java.io.IOException: Failed to retrieve identity key/certificate from keystore \..\wlserver_10.3\server\lib\natkeystore.jks under alias natalias on server AdminServer.>
<BEA-090171> <Loading the identity certificate and private key stored under the alias natalias from the jks keystore file \..\wlserver_10.3\server\lib\natkeystore.jks.>
By the way, it works if configured the keystores with the weblogic's demo identity and trusted.
Edited by: user12220476 on May 18, 2010 12:38 AM -
How do I set proxy settings for a Java app behind a corporate server?
I have the source code of a Download Manager program written in Java. It has to be run within my college network in which we use the "Corporate Client" server to access the internet. The HTTP proxy is 172.16.68.6 and Port number is 3128. How do I define these parameters in my java program so that it can download files from the internet?
The source code for the program is:
There are four classes:
1. DownloadManager.java
2. Download.java
3. DownloadTable.java
4. ProgressRenderer.java
/*__DownloadManager.java__*/
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
// The Download Manager.
public class DownloadManager extends JFrame
implements Observer {
// Add download text field.
private JTextField addTextField;
// Download table's data model.
private DownloadsTableModel tableModel;
// Table listing downloads.
private JTable table;
// These are the buttons for managing the selected download.
private JButton pauseButton, resumeButton;
private JButton cancelButton, clearButton;
// Currently selected download.
private Download selectedDownload;
// Flag for whether or not table selection is being cleared.
private boolean clearing;
// Constructor for Download Manager.
public DownloadManager() {
// Set application title.
setTitle("Download Manager");
// Set window size.
setSize(640, 480);
// Handle window closing events.
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
actionExit();
// Set up file menu.
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("File");
fileMenu.setMnemonic(KeyEvent.VK_F);
JMenuItem fileExitMenuItem = new JMenuItem("Exit",
KeyEvent.VK_X);
fileExitMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
actionExit();
fileMenu.add(fileExitMenuItem);
menuBar.add(fileMenu);
setJMenuBar(menuBar);
// Set up add panel.
JPanel addPanel = new JPanel();
addTextField = new JTextField(30);
addPanel.add(addTextField);
JButton addButton = new JButton("Add Download");
addButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
actionAdd();
addPanel.add(addButton);
// Set up Downloads table.
tableModel = new DownloadsTableModel();
table = new JTable(tableModel);
table.getSelectionModel().addListSelectionListener(new
ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
tableSelectionChanged();
// Allow only one row at a time to be selected.
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
// Set up ProgressBar as renderer for progress column.
ProgressRenderer renderer = new ProgressRenderer(0, 100);
renderer.setStringPainted(true); // show progress text
table.setDefaultRenderer(JProgressBar.class, renderer);
// Set table's row height large enough to fit JProgressBar.
table.setRowHeight(
(int) renderer.getPreferredSize().getHeight());
// Set up downloads panel.
JPanel downloadsPanel = new JPanel();
downloadsPanel.setBorder(
BorderFactory.createTitledBorder("Downloads"));
downloadsPanel.setLayout(new BorderLayout());
downloadsPanel.add(new JScrollPane(table),
BorderLayout.CENTER);
// Set up buttons panel.
JPanel buttonsPanel = new JPanel();
pauseButton = new JButton("Pause");
pauseButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
actionPause();
pauseButton.setEnabled(false);
buttonsPanel.add(pauseButton);
resumeButton = new JButton("Resume");
resumeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
actionResume();
resumeButton.setEnabled(false);
buttonsPanel.add(resumeButton);
cancelButton = new JButton("Cancel");
cancelButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
actionCancel();
cancelButton.setEnabled(false);
buttonsPanel.add(cancelButton);
clearButton = new JButton("Clear");
clearButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
actionClear();
clearButton.setEnabled(false);
buttonsPanel.add(clearButton);
// Add panels to display.
getContentPane().setLayout(new BorderLayout());
getContentPane().add(addPanel, BorderLayout.NORTH);
getContentPane().add(downloadsPanel, BorderLayout.CENTER);
getContentPane().add(buttonsPanel, BorderLayout.SOUTH);
// Exit this program.
private void actionExit() {
System.exit(0);
// Add a new download.
private void actionAdd() {
URL verifiedUrl = verifyUrl(addTextField.getText());
if (verifiedUrl != null) {
tableModel.addDownload(new Download(verifiedUrl));
addTextField.setText(""); // reset add text field
} else {
JOptionPane.showMessageDialog(this,
"Invalid Download URL", "Error",
JOptionPane.ERROR_MESSAGE);
// Verify download URL.
private URL verifyUrl(String url) {
// Only allow HTTP URLs.
if (!url.toLowerCase().startsWith("http://"))
return null;
// Verify format of URL.
URL verifiedUrl = null;
try {
verifiedUrl = new URL(url);
} catch (Exception e) {
return null;
// Make sure URL specifies a file.
if (verifiedUrl.getFile().length() < 2)
return null;
return verifiedUrl;
// Called when table row selection changes.
private void tableSelectionChanged() {
/* Unregister from receiving notifications
from the last selected download. */
if (selectedDownload != null)
selectedDownload.deleteObserver(DownloadManager.this);
/* If not in the middle of clearing a download,
set the selected download and register to
receive notifications from it. */
if (!clearing) {
selectedDownload =
tableModel.getDownload(table.getSelectedRow());
selectedDownload.addObserver(DownloadManager.this);
updateButtons();
// Pause the selected download.
private void actionPause() {
selectedDownload.pause();
updateButtons();
// Resume the selected download.
private void actionResume() {
selectedDownload.resume();
updateButtons();
// Cancel the selected download.
private void actionCancel() {
selectedDownload.cancel();
updateButtons();
// Clear the selected download.
private void actionClear() {
clearing = true;
tableModel.clearDownload(table.getSelectedRow());
clearing = false;
selectedDownload = null;
updateButtons();
/* Update each button's state based off of the
currently selected download's status. */
private void updateButtons() {
if (selectedDownload != null) {
int status = selectedDownload.getStatus();
switch (status) {
case Download.DOWNLOADING:
pauseButton.setEnabled(true);
resumeButton.setEnabled(false);
cancelButton.setEnabled(true);
clearButton.setEnabled(false);
break;
case Download.PAUSED:
pauseButton.setEnabled(false);
resumeButton.setEnabled(true);
cancelButton.setEnabled(true);
clearButton.setEnabled(false);
break;
case Download.ERROR:
pauseButton.setEnabled(false);
resumeButton.setEnabled(true);
cancelButton.setEnabled(false);
clearButton.setEnabled(true);
break;
default: // COMPLETE or CANCELLED
pauseButton.setEnabled(false);
resumeButton.setEnabled(false);
cancelButton.setEnabled(false);
clearButton.setEnabled(true);
} else {
// No download is selected in table.
pauseButton.setEnabled(false);
resumeButton.setEnabled(false);
cancelButton.setEnabled(false);
clearButton.setEnabled(false);
/* Update is called when a Download notifies its
observers of any changes. */
public void update(Observable o, Object arg) {
// Update buttons if the selected download has changed.
if (selectedDownload != null && selectedDownload.equals(o))
updateButtons();
// Run the Download Manager.
public static void main(String[] args) {
DownloadManager manager = new DownloadManager();
manager.show();
This example shows how to create a simple download manager in Java. It contains four classes in foru Java source files:
Download.java: Contains Download class which downloads a file from a URL.
DownloadManager.java: Contains the main class for download manager application.
DownloadsTableModel.java: Contains the class which manages the download table's data.
ProgressRenderer.java: Contains the class which is responsible to render a JProgressBar in a table cell.
The contents of the listed files are written below.
/*__Download.java__*/
import java.io.*;
import java.net.*;
import java.util.*;
// This class downloads a file from a URL.
class Download extends Observable implements Runnable {
// Max size of download buffer.
private static final int MAX_BUFFER_SIZE = 1024;
// These are the status names.
public static final String STATUSES[] = {"Downloading",
"Paused", "Complete", "Cancelled", "Error"};
// These are the status codes.
public static final int DOWNLOADING = 0;
public static final int PAUSED = 1;
public static final int COMPLETE = 2;
public static final int CANCELLED = 3;
public static final int ERROR = 4;
private URL url; // download URL
private int size; // size of download in bytes
private int downloaded; // number of bytes downloaded
private int status; // current status of download
// Constructor for Download.
public Download(URL url) {
this.url = url;
size = -1;
downloaded = 0;
status = DOWNLOADING;
// Begin the download.
download();
// Get this download's URL.
public String getUrl() {
return url.toString();
// Get this download's size.
public int getSize() {
return size;
// Get this download's progress.
public float getProgress() {
return ((float) downloaded / size) * 100;
// Get this download's status.
public int getStatus() {
return status;
// Pause this download.
public void pause() {
status = PAUSED;
stateChanged();
// Resume this download.
public void resume() {
status = DOWNLOADING;
stateChanged();
download();
// Cancel this download.
public void cancel() {
status = CANCELLED;
stateChanged();
// Mark this download as having an error.
private void error() {
status = ERROR;
stateChanged();
// Start or resume downloading.
private void download() {
Thread thread = new Thread(this);
thread.start();
// Get file name portion of URL.
private String getFileName(URL url) {
String fileName = url.getFile();
return fileName.substring(fileName.lastIndexOf('/') + 1);
// Download file.
public void run() {
RandomAccessFile file = null;
InputStream stream = null;
try {
// Open connection to URL.
HttpURLConnection connection =
(HttpURLConnection) url.openConnection();
// Specify what portion of file to download.
connection.setRequestProperty("Range",
"bytes=" + downloaded + "-");
// Connect to server.
connection.connect();
// Make sure response code is in the 200 range.
if (connection.getResponseCode() / 100 != 2) {
error();
// Check for valid content length.
int contentLength = connection.getContentLength();
if (contentLength < 1) {
error();
/* Set the size for this download if it
hasn't been already set. */
if (size == -1) {
size = contentLength;
stateChanged();
// Open file and seek to the end of it.
file = new RandomAccessFile(getFileName(url), "rw");
file.seek(downloaded);
stream = connection.getInputStream();
while (status == DOWNLOADING) {
/* Size buffer according to how much of the
file is left to download. */
byte buffer[];
if (size - downloaded > MAX_BUFFER_SIZE) {
buffer = new byte[MAX_BUFFER_SIZE];
} else {
buffer = new byte[size - downloaded];
// Read from server into buffer.
int read = stream.read(buffer);
if (read == -1)
break;
// Write buffer to file.
file.write(buffer, 0, read);
downloaded += read;
stateChanged();
/* Change status to complete if this point was
reached because downloading has finished. */
if (status == DOWNLOADING) {
status = COMPLETE;
stateChanged();
} catch (Exception e) {
error();
} finally {
// Close file.
if (file != null) {
try {
file.close();
} catch (Exception e) {}
// Close connection to server.
if (stream != null) {
try {
stream.close();
} catch (Exception e) {}
// Notify observers that this download's status has changed.
private void stateChanged() {
setChanged();
notifyObservers();
/*__DownloadTableModel.java__*/
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
// This class manages the download table's data.
class DownloadsTableModel extends AbstractTableModel
implements Observer {
// These are the names for the table's columns.
private static final String[] columnNames = {"URL", "Size",
"Progress", "Status"};
// These are the classes for each column's values.
private static final Class[] columnClasses = {String.class,
String.class, JProgressBar.class, String.class};
// The table's list of downloads.
private ArrayList downloadList = new ArrayList();
// Add a new download to the table.
public void addDownload(Download download) {
// Register to be notified when the download changes.
download.addObserver(this);
downloadList.add(download);
// Fire table row insertion notification to table.
fireTableRowsInserted(getRowCount() - 1, getRowCount() - 1);
// Get a download for the specified row.
public Download getDownload(int row) {
return (Download) downloadList.get(row);
// Remove a download from the list.
public void clearDownload(int row) {
downloadList.remove(row);
// Fire table row deletion notification to table.
fireTableRowsDeleted(row, row);
// Get table's column count.
public int getColumnCount() {
return columnNames.length;
// Get a column's name.
public String getColumnName(int col) {
return columnNames[col];
// Get a column's class.
public Class getColumnClass(int col) {
return columnClasses[col];
// Get table's row count.
public int getRowCount() {
return downloadList.size();
// Get value for a specific row and column combination.
public Object getValueAt(int row, int col) {
Download download = (Download) downloadList.get(row);
switch (col) {
case 0: // URL
return download.getUrl();
case 1: // Size
int size = download.getSize();
return (size == -1) ? "" : Integer.toString(size);
case 2: // Progress
return new Float(download.getProgress());
case 3: // Status
return Download.STATUSES[download.getStatus()];
return "";
/* Update is called when a Download notifies its
observers of any changes */
public void update(Observable o, Object arg) {
int index = downloadList.indexOf(o);
// Fire table row update notification to table.
fireTableRowsUpdated(index, index);
/*__ProgressRenderer.java__*/
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
// This class renders a JProgressBar in a table cell.
class ProgressRenderer extends JProgressBar
implements TableCellRenderer {
// Constructor for ProgressRenderer.
public ProgressRenderer(int min, int max) {
super(min, max);
/* Returns this JProgressBar as the renderer
for the given table cell. */
public Component getTableCellRendererComponent(
JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column) {
// Set JProgressBar's percent complete value.
setValue((int) ((Float) value).floatValue());
return this;
}Thank you for the quick reply! But the solution provided by you, it seems, has still not been able to address my issue. I ran the program at command prompt with your said parameters, but the download still gave an error in the App window.
Also, is there some way of defining these parameters in the source code? I am keen in using NetBeans to run the program.
Cheers! -
How to create a set up program for my Java application
Can some one please tell how to create a Setup for my Java Application
Thanks for your reply.
But still if you could have answered my query it would have been of a little more help for me, as I am quite new to any of these kinds of forum.
Still thanks a lot for the reply. -
Problem facing while connecting to GPRS for Nokia ...
When I am connecting to GPRS or while doing switch on of my nokia 3110 it screen goes blank and it automatically switch off and switch on.
Hi
I was facing this problem all of a sudden when i use Sigle sign-on method to connect to SAP.
It throws me from my connection process when i reach the code to connect to the company database.
So i uninstalled all SAP components and reinstalled them again (based on one of the earlier post )... this has sorted my issue.
Thank you for your response
Regards
Mini -
Error while setting input parameter for dynamic process - GP
Hi All,
I am using CAF 7.1 GP.
Here I have to start a process dynamically and it is working fine.
But, when I tried to set value for input parameter of this process by
IGPStructure params = GPStructureFactory.getStructure(process.getInputParameters());
params.setAttributeValue("Val","MyValue");
( <b>Val</b> is the name of grouped input parameter ), it is giving
com.sap.caf.eu.gp.exception.api.GPInvocationException: Structure with name input and namespace http://wwww.sap.com/nw/eup/gp does not have an attribute with name Val and namespace null.
But no where I have mentioned http://wwww.sap.com/nw/eup/gp.
I dont have any structures in my input and output.
Here is my full code
try
IGPProcess process = null;
IUser tl_user =UMFactory.getUserFactory().getUserByLogonID("fahad");
IGPUserContext userContext = GPContextFactory.getContextManager().createUserContext(tl_user);//, user.getLocale());
process =GPProcessFactory.getDesigntimeManager().getActiveTemplate("F5D76840A56F11DC983B001966243CAD",userContext);
wdComponentAPI.getMessageManager().reportSuccess("Title of process is "+process.getTitle());
IGPRuntimeManager rtm = GPProcessFactory.getRuntimeManager();
IGPProcessRoleInstanceList roles = rtm.createProcessRoleInstanceList();
int rolenum = process.getRoleInfoCount();
wdComponentAPI.getMessageManager().reportSuccess("Number is "+rolenum);
IGPProcessRoleInstance roleInstance=null;
IUser ho_User=null;
for (int i = 0; i < rolenum; i++)
wdComponentAPI.getMessageManager().reportWarning("Role Text is "process.getRoleInfo(i).getText()" Role Name is "+process.getRoleInfo(i).getRoleName());
if(i==1)
ho_User = UMFactory.getUserFactory().getUserByLogonID("poornendu");
roleInstance = roles. createProcessRoleInstance(process.getRoleInfo(i).getRoleName());
roleInstance.addRuntimeDefinedUser(ho_User);
roles.addProcessRoleInstance(roleInstance);
if(i==2)
ho_User = UMFactory.getUserFactory().getUserByLogonID("fahad");
roleInstance = roles. createProcessRoleInstance(process.getRoleInfo(i).getRoleName());
roleInstance.addUser(ho_User);
roles.addProcessRoleInstance(roleInstance);
wdComponentAPI.getMessageManager().reportSuccess(""+process.getStructure().getItemCount());
IGPStructure params = GPStructureFactory.getStructure(process.getInputParameters());
wdComponentAPI.getMessageManager().reportSuccess("Title of process is "+process.getTitle());
<b>params.setAttributeValue("Val","MyValue");</b>
String pName=wdContext.currentContextElement().getProcessName();
IGPProcessInstance prInstance = rtm.startProcess(process,pName,"This process has been started using the GP public API",tl_user,roles,params,tl_user);
catch(Exception e)
wdComponentAPI.getMessageManager().reportException(""+e);
Can anyone help me on this.
Thanks,
Fahad HamsaHi Experts,
I solved it myself.
The problem was, I have to make the input parameter as exposed. Thats all
Anyway, thanks for the support.
Regards,
Fahad Hamsa -
Issue facing while opening a Canvas application in Webstart
Hi experts,
Need a help on the issue: issue was like this:
I have created a Canvas application in Swings. And It was running fine. The next day i have compiled again the code and build the class and after jar. Deployed in Tomcat.
Started the webstart and launched the application. Now If I am opening the Canvas which I have required it is giving a error called " Identifier Not found".
For this issue i tried in these ways: I kept the S.O.Ps in the initialize() method and the respective methods like extractConfigurationParameters(), jbInit().
But once the control reach to jbInit() it is not continuing.. Even i can see the S.O.P first control in the java console.
Please help me to fix it.
With Thanks
Kishorealways check in this way - your number of column count for the Jtable, tableInit(), and tableColumnconntent(). these will load at the time of convas initialisation.
Nicky :-) -
Issue in value set Drop down for ALV in Webdynpro with Index
Hi Experts,
We are unable to get the Drop down values in the ALV Table as shown below.
Code:
DATA lo_nd_table TYPE REF TO if_wd_context_node.
DATA lt_table TYPE wd_this->elements_table.
DATA ls_table TYPE wd_this->element_table.
DATA: lr_input TYPE REF TO cl_salv_wd_uie_input_field,
lr_column TYPE REF TO cl_salv_wd_column,
lt_node_info TYPE wdr_context_attr_info_map,
ls_node_info TYPE wdr_context_attribute_info,
lr_dropdown TYPE REF TO cl_salv_wd_uie_dropdown_by_idx,
lr_info TYPE REF TO if_wd_context_node_info.
DATA:lt_columns TYPE salv_wd_t_column_ref,
ls_columns TYPE salv_wd_s_column_ref,
lv_tabix TYPE sy-tabix,
lv_count TYPE c.
DATA: ls_valueset TYPE wdr_context_attr_value,
lt_valueset TYPE wdr_context_attr_value_list.
TYPES:BEGIN OF ty_name,
name TYPE string,
END OF ty_name.
DATA: lt_name TYPE TABLE OF ty_name,
ls_name TYPE ty_name.
* navigate from <CONTEXT> to <TABLE> via lead selection
lo_nd_table = wd_context->get_child_node( name = wd_this->wdctx_table ).
SELECT * FROM zemp_table INTO CORRESPONDING FIELDS OF TABLE lt_table UP TO 10 ROWS.
LOOP AT lt_table INTO ls_table.
lv_tabix = sy-tabix.
CLEAR: ls_table-leave_values.
DO 1 TIMES.
lv_count = lv_count + 1.
CONCATENATE 'Open' lv_count INTO ls_valueset-value.
CONCATENATE 'Open' lv_count INTO ls_valueset-text.
APPEND ls_valueset TO ls_table-leave_values.
CLEAR ls_valueset.
CONCATENATE 'Approved' lv_count INTO ls_valueset-value.
CONCATENATE 'Approved' lv_count INTO ls_valueset-text.
APPEND ls_valueset TO ls_table-leave_values.
CLEAR ls_valueset.
CONCATENATE 'Rejected' lv_count INTO ls_valueset-value.
CONCATENATE 'Rejected' lv_count INTO ls_valueset-text.
APPEND ls_valueset TO ls_table-leave_values.
CLEAR ls_valueset.
ENDDO.
MODIFY lt_table FROM ls_table INDEX lv_tabix TRANSPORTING leave_status leave_values.
ENDLOOP.
DATA lo_cmp_usage TYPE REF TO if_wd_component_usage.
lo_cmp_usage = wd_this->wd_cpuse_alv( ).
IF lo_cmp_usage->has_active_component( ) IS INITIAL.
lo_cmp_usage->create_component( ).
ENDIF.
DATA lo_interfacecontroller TYPE REF TO iwci_salv_wd_table .
lo_interfacecontroller = wd_this->wd_cpifc_alv( ).
DATA lo_value TYPE REF TO cl_salv_wd_config_table.
lo_value = lo_interfacecontroller->get_model(
* lo_interfacecontroller->set_data( r_node_data = lo_nd_value_set ).
**Get the context node information
lr_info = lo_nd_table->get_node_info( ).
lt_node_info = lr_info->get_attributes( ).
LOOP AT lt_node_info INTO ls_node_info.
ls_name-name = ls_node_info-name.
APPEND ls_name TO lt_name.
ENDLOOP.
*Get all the columns to make row editable
CALL METHOD lo_value->if_salv_wd_column_settings~get_columns
RECEIVING
value = lt_columns.
* Make the field dropdown
CALL METHOD lo_value->if_salv_wd_column_settings~get_column
EXPORTING
id = 'LEAVE_STATUS'
RECEIVING
value = lr_column.
* Create Object for dropdown
CREATE OBJECT lr_dropdown
EXPORTING
selected_key_fieldname = 'LEAVE_STATUS'.
CALL METHOD lr_dropdown->set_valueset_fieldname
EXPORTING
value = 'LEAVE_VALUES'.
CALL METHOD lr_dropdown->set_type
EXPORTING
value = if_salv_wd_c_uie_drdn_by_index=>type_key_convert_to_value.
CALL METHOD lr_column->set_cell_editor
EXPORTING
value = lr_dropdown.
*Set the table Editable
lo_value->if_salv_wd_table_settings~set_read_only( value = abap_false ).
lo_nd_table->bind_table( new_items = lt_table ).
Please suggest me where we are going wrong.
Thanks in advance...!!!
Best Regard's,
Shashi KanthHi Shashi,
Your code looks okay. Debug & check if everything goes fine and all the required list of values getting bound to node.
Is any code after this logic, which sets data to table ? if so, that logic is wiping out the drop down list values from context node.
Final check point:
Read the context node 'TABLE' and fetch records into internal table in WDDOMODIFYVIEW( ) method to make sure that, every row of your table contains the drop down list entries in "LEAVE_VALUES" attribute
Hope this helps you.
Regards,
Rama -
Error while setting the SSL with trusted cert -- any help on this?
Connecting to Node Manager ...
<Aug 3, 2010 5:20:17 PM CDT> <Warning> <Security> <BEA-090542> <Certificate chai
n received from localhost - 127.0.0.1 was not trusted causing SSL handshake fail
ure. Check the certificate chain to determine if it should be trusted or not. If
it should be trusted, then update the client trusted CA configuration to trust
the CA certificate that signed the peer certificate chain. If you are connecting
to a WLS server that is using demo certificates (the default WLS server behavio
r), and you want this client to trust demo certificates, then specify -Dweblogic
.security.TrustKeyStore=DemoTrust on the command line for this client.>
This Exception occurred at Tue Aug 03 17:20:18 CDT 2010.
javax.net.ssl.SSLKeyException: [Security:090542]Certificate chain received from
localhost - 127.0.0.1 was not trusted causing SSL handshake failure. Check the c
ertificate chain to determine if it should be trusted or not. If it should be tr
usted, then update the client trusted CA configuration to trust the CA certifica
te that signed the peer certificate chain. If you are connecting to a WLS server
that is using demo certificates (the default WLS server behavior), and you want
this client to trust demo certificates, then specify -Dweblogic.security.TrustK
eyStore=DemoTrust on the command line for this client.
at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireException(Unknow
n Source)
at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertSent(Unknow
n Source)
at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
Source)
at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
Source)
at com.certicom.tls.record.handshake.ClientStateReceivedServerHello.hand
le(Unknown Source)
at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMes
sage(Unknown Source)
at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMes
sages(Unknown Source)
at com.certicom.tls.record.MessageInterpreter.interpretContent(Unknown S
ource)
at com.certicom.tls.record.MessageInterpreter.decryptMessage(Unknown Sou
rce)
at com.certicom.tls.record.ReadHandler.processRecord(Unknown Source)
at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)Go through this link
http://weblogic-wonders.com/weblogic/2010/03/03/ssl-exceptions-in-admin-server-and-node-manager/ -
Problem while setting background color for jsplit pane
Hi ALL,
i am using jsplit frame inside jframe.
i placed jtree inside left jsplit frame.
I am not able to set background clolr to jsplit frame.
when i hide(jtree.setvisible(false)) jtree is shows default background color.it is not showing backgroun color which i set.In the below code,i am adding jtree inside jscrollpane and i am adding jscrollpane inside jsplitpane.
whenever i am setting jtree.setvisible(false),it must show background color which is i am setting for jscrollpane .but its showing default background color.
Please help me.
* Demo.java
* Created on August 19, 2008, 1:44 PM
public class Demo extends javax.swing.JFrame {
/** Creates new form Demo */
public Demo() {
initComponents();
jTree1.setVisible(false);
jScrollPane1.setBackground(new java.awt.Color(136, 194, 252));
jSplitPane1.setBackground(new java.awt.Color(136, 194, 252)); }
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jSplitPane1 = new javax.swing.JSplitPane();
jScrollPane1 = new javax.swing.JScrollPane();
jTree1 = new javax.swing.JTree();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jScrollPane1.setViewportView(jTree1);
jSplitPane1.setLeftComponent(jScrollPane1);
org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jSplitPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 440, Short.MAX_VALUE)
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, jSplitPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 362, Short.MAX_VALUE)
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
pack();
}// </editor-fold>
* @param args the command line arguments
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Demo().setVisible(true);
// Variables declaration - do not modify
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JSplitPane jSplitPane1;
private javax.swing.JTree jTree1;
// End of variables declaration -
Issues occurred while creating DataBase Queue for AQ adapter in SOA
Hi All,
I am new to AQ adapters,I am trying to create database queue with in the custom user but I got ora-01031 insufficient privileges,actually I follow the below two links
http://askmesoa.blogspot.in/2012/09/working-with-aq-adapter-in-soa.html
http://jamessmith73.wordpress.com/oracle-fusion-middleware/oracle-soa-bpm-11g-blogs/soa-10g/soa-hands-on-4/
When I trying to execute the following code I got ora-01031 insufficient privileges.
BEGIN
DBMS_AQADM.CREATE_QUEUE_TABLE (
queue_table => 'aq_user.msg_qt'
, queue_payload_type => 'aq_user.message_type'
DBMS_AQADM.CREATE_QUEUE (
queue_name => 'msg_queue'
, queue_table => 'aq_user.msg_qt'
, queue_type => DBMS_AQADM.NORMAL_QUEUE
, max_retries => 0
, retry_delay => 0
, retention_time => 1209600
, dependency_tracking => FALSE
, comment => 'Test Object Type Queue'
, auto_commit => FALSE
DBMS_AQADM.START_QUEUE ('msg_queue');
END;
Can anybody help me out how to solve the issue
Regards
ManiHi Anuj,
While I execute I had given aq_user1 only still I am geeting the same isssue.
BEGIN
DBMS_AQADM.CREATE_QUEUE_TABLE (
queue_table => 'aq_user1.msg_qt'
, queue_payload_type => 'aq_user1.message_type1'
DBMS_AQADM.CREATE_QUEUE (
queue_name => 'msg_queue'
, queue_table => 'aq_user1.msg_qt'
, queue_type => DBMS_AQADM.NORMAL_QUEUE
, max_retries => 0
, retry_delay => 0
, retention_time => 1209600
, dependency_tracking => FALSE
, comment => 'Test Object Type Queue'
, auto_commit => FALSE
DBMS_AQADM.START_QUEUE('msg_queue');
END;
Regards
Mani -
Facing Problem in Deploying EAR for Client Java Proxy.
Hi All,
I am facing problems in deploying EAR in PI/XI server.
The scenario is Client Java Proxy to SAP
. I have followed the the pdf-how to create java proxies in 3.0. Using that I have created the EJB module and it archive.
Finally created the EAR without errors. But while deploying the same in PI server, it throws the following error. Please do help me out in providing any inputs on the same.
Deploy trace is seen below:-
Deploy of the ear has errors :
java.rmi.RemoteException: Cannot deploy application sap.com/BusPartnerEAR..
Reason: Errors while compiling:
D:/usr/sap/ECD/DVEBMGS03/j2ee/cluster/server0/apps/sap.com/BusPartnerEAR/EJBContainer/temp/temp1175887267437/com/mud/sAPFICA/businessPartner/_MIOSBusinessPartner_PortTypeRemoteObjectImpl0_0_Tie.java:91: illegal escape character
if (method.equals("U0024descriptor")) {
^
D:/usr/sap/ECD/DVEBMGS03/j2ee/cluster/server0/apps/sap.com/BusPartnerEAR/EJBContainer/temp/temp1175887267437/com/mud/sAPFICA/businessPartner/_MIOSBusinessPartner_PortTypeRemoteObjectImpl0_0_Tie.java:98: illegal escape character
if (method.equals("U0024jcoRuntimeMetaData")) {
^
D:/usr/sap/ECD/DVEBMGS03/j2ee/cluster/server0/apps/sap.com/BusPartnerEAR/EJBContainer/temp/temp1175887267437/com/mud/sAPFICA/businessPartner/_MIOSBusinessPartner_PortTypeRemoteObjectImpl0_0_Tie.java:112: illegal escape character
if (method.equals("U0024generationInfo")) {
^
D:/usr/sap/ECD/DVEBMGS03/j2ee/cluster/server0/apps/sap.com/BusPartnerEAR/EJBContainer/temp/temp1175887267437/com/mud/sAPFICA/businessPartner/_MIOSBusinessPartner_PortTypeRemoteObjectImpl0_0_Tie.java:119: illegal escape character
if (method.equals("U0024messageSpecifier")) {
^
D:/usr/sap/ECD/DVEBMGS03/j2ee/cluster/server0/apps/sap.com/BusPartnerEAR/EJBContainer/temp/temp1175887267437/com/mud/sAPFICA/businessPartner/_MIOSBusinessPartner_PortTypeRemoteObjectImpl0_0_Tie.java:152: illegal escape character
if (method.equals("U0024runtime")) {
^
D:/usr/sap/ECD/DVEBMGS03/j2ee/cluster/server0/apps/sap.com/BusPartnerEAR/EJBContainer/temp/temp1175887267437/com/mud/sAPFICA/businessPartner/_MIOSBusinessPartner_PortTypeRemoteObjectImpl0_0_Tie.java:195: illegal escape character
if (method.equals("U0024messageSpecifierRead")) {
^
D:/usr/sap/ECD/DVEBMGS03/j2ee/cluster/server0/apps/sap.com/BusPartnerEAR/EJBContainer/temp/temp1175887267437/com/mud/sAPFICA/businessPartner/_MIOSBusinessPartner_PortTypeRemoteObjectImpl0_0_Tie.java:202: illegal escape character
if (method.equals("U0024messageSpecifier__")) {
^
D:/usr/sap/ECD/DVEBMGS03/j2ee/cluster/server0/apps/sap.com/BusPartnerEAR/EJBContainer/temp/temp1175887267437/com/mud/sAPFICA/businessPartner/_MIOSBusinessPartner_PortTypeRemote_Stub.java:93: illegal escape character
org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream)_request("U0024descriptor", true);
^
D:/usr/sap/ECD/DVEBMGS03/j2ee/cluster/server0/apps/sap.com/BusPartnerEAR/EJBContainer/temp/temp1175887267437/com/mud/sAPFICA/businessPartner/_MIOSBusinessPartner_PortTypeRemote_Stub.java:112: illegal escape character
ServantObject so = servantpreinvoke("U0024descriptor", MIOSBusinessPartner_PortTypeRemote.class);
^
D:/usr/sap/ECD/DVEBMGS03/j2ee/cluster/server0/apps/sap.com/BusPartnerEAR/EJBContainer/temp/temp1175887267437/com/mud/sAPFICA/businessPartner/_MIOSBusinessPartner_PortTypeRemote_Stub.java:134: illegal escape character
org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream)_request("U0024jcoRuntimeMetaData", true);
^
D:/usr/sap/ECD/DVEBMGS03/j2ee/cluster/server0/apps/sap.com/BusPartnerEAR/EJBContainer/temp/temp1175887267437/com/mud/sAPFICA/businessPartner/_MIOSBusinessPartner_PortTypeRemote_Stub.java:153: illegal escape character
ServantObject so = servantpreinvoke("U0024jcoRuntimeMetaData", MIOSBusinessPartner_PortTypeRemote.class);
^
D:/usr/sap/ECD/DVEBMGS03/j2ee/cluster/server0/apps/sap.com/BusPartnerEAR/EJBContainer/temp/temp1175887267437/com/mud/sAPFICA/businessPartner/_MIOSBusinessPartner_PortTypeRemote_Stub.java:216: illegal escape character
org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream)_request("U0024generationInfo", true);
^
D:/usr/sap/ECD/DVEBMGS03/j2ee/cluster/server0/apps/sap.com/BusPartnerEAR/EJBContainer/temp/temp1175887267437/com/mud/sAPFICA/businessPartner/_MIOSBusinessPartner_PortTypeRemote_Stub.java:235: illegal escape character
ServantObject so = servantpreinvoke("U0024generationInfo", MIOSBusinessPartner_PortTypeRemote.class);
^
D:/usr/sap/ECD/DVEBMGS03/j2ee/cluster/server0/apps/sap.com/BusPartnerEAR/EJBContainer/temp/temp1175887267437/com/mud/sAPFICA/businessPartner/_MIOSBusinessPartner_PortTypeRemote_Stub.java:257: illegal escape character
org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream)_request("U0024messageSpecifier", true);
21 errors
Awaiting for your replies...
Regards,
DhanaHi,
Thanks for your input..
I have also opend the EAR as ZIP file and deleted the existing listing libaries
apart from the actual implementing Jar and META-INF folder.
I have tried deploying the Jar for the second time, it is throwing the same error.
What I did is...Once the EAR is created, I went to Resource perspective in NWDS and copied the EAR from the EAR project and used the same for deployment.
Is there is anything else to be modified or deleted before deployement?
Regards,
Dhana -
Setting cipher suites for ssl sockets
Hi
While setting cipher suites for ssl serversocket and socket, there may be lot of stream ciphers and block ciphers in the list. (also there may or may not be anonymous cipher suites).
How does the ssl socket decide which cipher suite to use?
Sorry for this newbie question.
Thank you.Have you read the JSSE Reference Guide? It has a really good description of how the SSL handshake works. Part of the "Client Hello" step includes sending all the cipher-suites the client has enabled. The server picks the "best" of that set, that the server also supports, and sends it back as part of the "Server Hello". Both sides switch to that set.
Now, what "best" means isn't defined. I'm not sure what criteria the server uses to determine that. Maybe someone else reading the thread can chime in.
Grant -
Setting up mail for exchange for rediffmailpro acc...
can anyone guide me how to configure mail for exchange in E5 model. Presently my mails are through pop.rediffmailpro.com
Ahhh after some research and trail and error.. (hours of it)... I got a work around!!! I tried it for gmail and it works fine now!! Below is what you do:-
On inital stage please type dont type correct yahoo, gmail, hotmail or other email ID "
for example if ur id is ****@hotmail.com that type ****@abc.com insted of hotmail. and correct it on second stage.
Go to Mail on your phone - Options - Settings - scroll down to email - Options - New Mailbox
Click - start and then NO to allow connections (that stops Nokia Messaging swinging into control)
Now enter your hotmail address except do not put @hotmail.com at the end. Put @abc.com
e..g. if you email is *****@hotmail.com then enter mailto:*****@abc.com
Now enter your password - press OK
Now you will get an OPTION to define settings and it will allow you to manually set the POP3 or IMAP
Now put in your correct email id and passwd while setting the IMAP. for gmail use the following >
Enter 'imap.gmail.com' as the incoming mail server, Select 'SSL/TLS' for your security (ports) and define your port as '993.'
Enter 'smtp.gmail.com' as the outgoing mail server,Select 'StartTLS' for your security (ports) and define your port as '587.'
Save it... and you will say Wow!!! that worked!!!
Atleast it worked for me!!!
Try this out... hope this helps!!!
Ahhh after some research and trail and error.. (hours of it)... I got a work around!!! I tried it for gmail and it works fine now!! Below is what you do:-
On inital stage please type dont type correct yahoo, gmail, hotmail or other email ID "for example if ur id is ****@hotmail.com that type ****@abc.com insted of hotmail. and correct it on second stage.
Go to Mail on your phone - Options - Settings - scroll down to email - Options - New Mailbox Click - start and then NO to allow connections (that stops Nokia Messaging swinging into control) Now enter your hotmail address except do not put @hotmail.com at the end. Put @abc.com e..g. if you email is *****@hotmail.com then enter mailto:*****@abc.com Now enter your password - press OK
Now you will get an OPTION to define settings and it will allow you to manually set the POP3 or IMAP
Now put in your correct email id and passwd while setting the IMAP. for gmail use the following >
Enter 'imap.gmail.com' as the incoming mail server, Select 'SSL/TLS' for your security (ports) and define your port as '993.'
Enter 'smtp.gmail.com' as the outgoing mail server,Select 'StartTLS' for your security (ports) and define your port as '587.'
Save it... and you will say Wow!!! that worked!!! Atleast it worked for me!!! Try this out... hope this helps!!!
Maybe you are looking for
-
When I assign new Item created to single org it is not shown on PO.
One item is created and assigned to single org but not able to view on PO. While I do assign all it is seen on PO. Setup>Organization>finantial option>supplier purchesing>inv org --> is NOT item master but other org. Is this problem is becoz of this.
-
For Purchase order, is any Smartform available
Hi, for Purhcase order Medruck Script is available but I want a smart form for purchase is there smart form available for purchase order if exists plz. give me the name. it is very urgent. Ganesh
-
ADF Tree setting focus back to parent node after deletion of child node
Hi, Is there a way to get the focus back to the parent node (or rather any particular node) in a tree? I have a use case where we need to get the focus back to the parent node after a child node is deleted. Currently the focus is shifted to the next
-
Noticed a pretty obvious bug in 5.0 ctrl+shift+d will bookmark all sites open but there is NO reference in any of the file menus, where is it located if you didn't know the shortcut from a previous version?
-
Passing Select-option to Function Module
Hi , I want to pass a select-option directly to the function Module tables parameter . Can anyone highlight on how i can declare the table in Function module side . Thanks & Regards, Raj