Dynamically Calling a built-in API Class
Ok...
Scenario:
I'd like to pick between an internal pdf viewer and an external using the java.awt.Desktop class.
Unfortunately, for development purposes, I need the code to compile on Java 1.5 (1.5 doesn't have java.awt.Desktop)
Eventually we'll move to 1.6, but until we do, the other contributors don't want to be bothered with commenting out the 1.6 code.
I figured I could dynamically load the class with:
Class.forName("java.awt.Desktop")or perhaps
Class.forName("java.awt.Desktop").newInstance()The Desktop class complains about modifiers "private".
I tried calling the Desktop.open method directly with:
Class.forName("java.awt.Desktop").getDeclaredMethod("open", new Class[]{java.io.File.class};).invoke(null, pdfFile);With no luck either.
I'm compiling on Java 1.6, with the hopes that the 1.5 compilers won't complain. Is this possible, or am I trying to do something outside the scope of Java?
-FBL
Hey guys, this WORKS! Infact, the compiled Java 1.5 version flawlessly opens the application with our 1.6 clients!
I'm pretty impressed that java has this flexibility! Thanks all!
Here's my exact code. I had to remove a few nulls to supress warnings.
try {
desktopCall("open", new File("C:\samplefile.pdf"));
catch (Exception e) {
// Open w/ internal viewer
public static void desktopCall(String call, Object o) throws Exception {
Class[] f = new Class[]{java.io.File.class};
Object obj = Class.forName("java.awt.Desktop").getDeclaredMethod("getDesktop").invoke(null);
Class.forName("java.awt.Desktop").getDeclaredMethod(call,f).invoke(obj,o);
}-FBL
Message was edited by:
FBL
Similar Messages
-
Binding parameters to dynamic VO with PL/SQL API call with no where clause
Hi all,
I am required to change exisiting queries to queries with "bind" parameters. Some of our VOs are dynamic and with PL/SQL api calls like below:
String stmtStr = "selectXXX_API_UTILS.chk_urg_since_last_prg("
+ projectId + "," + PPCId + ",'XYZ_TASKS'," + taskId+ ")"
+" from dual ";
ViewObject tmpVO = transaction.createViewObjectFromQueryStmt(stmtStr);
In this regard, I am unsure how to bind the PPCId and taskId parameters to the VO. setWhereClauseParams() would not work here as there is now where clause.
Thanks in advance,
SriniIn case of preparedStatement, we mention bind parameters to be passed using "?". Then we pass paramters sequencially.
But in the your case following is enough:
int projectId = 100 ; (hardcoding values for example)
int taskId = 500 ;
String stmtStr = "selectXXX_API_UTILS.chk_urg_since_last_prg("
+ projectId + "," + PPCId + ",'XYZ_TASKS'," + taskId+ ")"
+" from dual ";
-Anand -
Calling Portal event from ABAP class
Hi Experts,
I need a following clarificatrion, Please help,
1. Is it possible to call a webdynpro method from a normal ABAP class?
2. If no, we need a functionality of a class 'CL_WDR_HTTP_EXT_MIME_HANDLER' having method 'DO_DOMAIN_RELAX_HTML'.
Is there any alternative method which can be used in ABAP having the same functionality.
3. Is there any ways with which we can call portal event from ABAP class?
Thanks,
Shabir>1. Is it possible to call a webdynpro method from a normal ABAP class?
I wouldn't necessarily recommend this approach. You shouldn't try to trigger events or any of the standard WDDO* methods from outside the WD Component itself. That said, you can pass the object reference (like the WD_COMP_CONTROLLER object reference or the View Object Reference) into methods of normal classes. Be careful if you are finding yourself calling a lot of your added methods from outside WD. This is probably a sign that these methods should be in the Assistance Class or some other Class functioning as a Model Object.
>2. If no, we need a functionality of a class 'CL_WDR_HTTP_EXT_MIME_HANDLER' having method 'DO_DOMAIN_RELAX_HTML'.
Is there any alternative method which can be used in ABAP having the same functionality.
What exactly do you want to do here? Do you just want to get the relaxation script? For what purpose? You should never need to inject the relaxation script into WDA.
>3. Is there any ways with which we can call portal event from ABAP class?
To what purpose. Do you just want to delegate the triggering of the event that is inside WD Component to be called from a class? If so you can pass the portal API object reference into a class from the WD Component. However this only works while running within WD.
How is this class used? Are you running in WD? Are you trying to generate some HTML code that runs in the portal independent of WD? -
Dynamic call of a static method of an static attribute
Hi all,
is it possible to call dynamically a static method of a static attribute of a class.
The statement without dynamic call would look like this:
cl_test_class=>static_attribute=>static_method( ).
I would like to do it like this:
('CL_TEST_CLASS')=>static_attribute=>static_method( ).
Netiher the one nor the other way works for me - I'm getting the error "The notation used is reserved for business object classes".
Regards, StefanI guess, it is not possible to call method using the short form (parameters in brackets) is not possible in Dynamic Access. You may need to get the attribute first and then call the method.
CLASS lcl_main DEFINITION.
PUBLIC SECTION.
CLASS-DATA: o_same TYPE REF TO lcl_main.
METHODS: run.
ENDCLASS. "lcl_main DEFINITION
CLASS lcl_main IMPLEMENTATION.
METHOD run.
WRITE: 'success'.
ENDMETHOD. "run
ENDCLASS. "lcl_main IMPLEMENTATION
START-OF-SELECTION.
DATA: lo_same TYPE REF TO lcl_main.
CREATE OBJECT lcl_main=>o_same.
* lcl_main=>o_same=>run( ).
TRY.
FIELD-SYMBOLS: <fs> TYPE REF TO lcl_main.
ASSIGN ('LCL_MAIN')=>('O_SAME') TO <fs>.
CALL METHOD <fs>->('RUN').
CATCH cx_root.
ENDTRY.
Regards,
Naimesh Patel -
Message zclass not found in Programs (possibly dynamic calls!)
Hi Experts,
When we are running MIRO transaction, Zmessage error is triggering. when i double-click on error message it is showing
"Message ZFI 002(Class) not found in Programs (possibly dynamic calls!)"
Please provide your solutions to resolve the issue.
Regards,
Bharat
Moderator message: please do some research before asking.
Edited by: Thomas Zloch on Mar 15, 2011 9:21 AMDear Miciuli,
I found the definition for the circle in the canvas class and used it to creates circles ! Thank you for jaring my brain into thinking !
Stan
Ellipse2D.Double circle = new Ellipse2D.Double(xPos, 70, 30 , 30); -
Hi,
I need to parse,in CVP 7.0(1), the BAAccountNumber variable passed by the ICM dialer. Is there a built-in java class or other function that would help me do this?
Our BAAccountNumber variable looks something like this: 321|XXX12345678|1901|M. In IP IVR I use the "Get ICM Data" object to read the BAAccountNumber variable from ICM and then I use the "token index" feature to parse the variable (picture below).
Alternately, IP IVR also has a Java class that allows me to do this; the class is "java.lang.String" and the method is "public int indexOf(String,int)"
Is there something equivalent in CVP 7.0(1)?
thanksThanks again for your help. This is what I ended up doing:
This configurable action element takes a string seperated by two "|" (123|123456789|12)
and returns 3 string variables.
you can add more output variables by adding to the Setting array below.
// These classes are used by custom configurable elements.
import com.audium.server.session.ActionElementData;
import com.audium.server.voiceElement.ActionElementBase;
import com.audium.server.voiceElement.ElementData;
import com.audium.server.voiceElement.ElementException;
import com.audium.server.voiceElement.ElementInterface;
import com.audium.server.voiceElement.Setting;
import com.audium.server.xml.ActionElementConfig;
public class SOMENAMEHERE extends ActionElementBase implements ElementInterface
* This method is run when the action is visited. From the ActionElementData
* object, the configuration can be obtained.
public void doAction(String name, ActionElementData actionData) throws ElementException
try {
// Get the configuration
ActionElementConfig config = actionData.getActionElementConfig();
//now retrieve each setting value using its 'real' name as defined in the getSettings method above
//each setting is returned as a String type, but can be converted.
String input = config.getSettingValue("input",actionData);
String resultType = config.getSettingValue("resultType",actionData);
String resultEntityID = config.getSettingValue("resultEntityID",actionData);
String resultMemberID = config.getSettingValue("resultMemberID",actionData);
String resultTFNType = config.getSettingValue("resultTFNType",actionData);
//get the substring
//String sub = input.substring(startPos,startPos+numChars);
String[] BAAcctresults = input.split("\\|");
//Now store the substring into either Element or Session data as requested
//and store it into the variable name requested by the Studio developer
if(resultType.equals("Element")){
actionData.setElementData(resultEntityID,BAAcctresults[0]);
actionData.setElementData(resultMemberID,BAAcctresults[1]);
actionData.setElementData(resultTFNType,BAAcctresults[2]);
} else {
actionData.setSessionData(resultEntityID,BAAcctresults[0]);
actionData.setSessionData(resultMemberID,BAAcctresults[1]);
actionData.setSessionData(resultTFNType,BAAcctresults[2]);
actionData.setElementData("status","success");
} catch (Exception e) {
//If anything goes wrong, create Element data 'status' with the value 'failure'
//and return an empty string into the variable requested by the caller
e.printStackTrace();
actionData.setElementData("status","failure");
public String getElementName()
return "MEDDOC PARSER";
public String getDisplayFolderName()
return "SSC Custom";
public String getDescription()
return "This class breaks down the BAAccountNumber";
public Setting[] getSettings() throws ElementException
//You must define the number of settings here
Setting[] settingArray = new Setting[5];
//each setting must specify: real name, display name, description,
//is it required?, can it only appear once?, does it allow substitution?,
//and the type of entry allowed
settingArray[0] = new Setting("input", "Original String",
"This is the string from which to grab a substring.",
true, // It is required
true, // It appears only once
true, // It allows substitution
Setting.STRING);
settingArray[1] = new Setting("resultType", "Result Type",
"Choose where to store result \n" +
"into Element or Session data",
true, // It is required
true, // It appears only once
false, // It does NOT allow substitution
new String[]{"Element","Session"});//pull-down menu
settingArray[1].setDefaultValue("Session");
settingArray[2] = new Setting("resultEntityID", "EntityID",
"Name of variable to hold the result.",
true, // It is required
true, // It appears only once
true, // It allows substitution
Setting.STRING);
settingArray[2].setDefaultValue("EntityID");
settingArray[3] = new Setting("resultMemberID", "MemberID",
"Name of variable to hold the result.",
true, // It is required
true, // It appears only once
true, // It allows substitution
Setting.STRING);
settingArray[3].setDefaultValue("MemberID");
settingArray[4] = new Setting("resultTFNType", "TFNType",
"Name of variable to hold the result.",
true, // It is required
true, // It appears only once
true, // It allows substitution
Setting.STRING);
settingArray[4].setDefaultValue("TFNType");
return settingArray;
public ElementData[] getElementData() throws ElementException
return null; -
Runtime error OBJECTS_OBJREF_NOT_ASSIGNED when calling any standard GRC API's
Hello colleagues,
I always get the runtime error OBJECTS_OBJREF_NOT_ASSIGNED when calling any standard GRC API's
For instance, lets take Function Modules:
I tried almost any of them but in particular:
GRPC_API_CONTROL_QUERY Load the list of controls
GRPC_API_ISSUE_QUERY Retrieve issues of the case
GRPC_API_ORGUNIT_QUERY Load list of Organizations
GRPC_API_RMPLAN_QUERY Retrieve remediation plans of case
GRPC_API_RISK_CONTROLS Retrieve the controls of the risk
and etc.
All of them return the runtime error OBJECTS_OBJREF_NOT_ASSIGNED, however I've provided Object ID's in the right format,
The same is for corresponding classes,
Does anyone have such problem before?
Appreciate your responses,
Thank you,
Best Regards,
AntonHi Anton,
We need to pass value for I_SESSION_ID. Because, when i execute FM: GRPC_API_RMPLAN_QUERY by giving correct I_OBJECT_ID as shown below, i'm also getting the same error.
On executing..
Getting following dump.
And attached is the dump analysis .
Thanks
KH -
Calling BO(Business Objects API ) from my J2EE Application
We have an application which contains a module that handles
User Creation and Maintenance.
Right now we have New and Authorize screens.
Basically these users can access reports in BO.
But this user creation in BO(Bussiness Objects) is done manually in BO.
Now I need to automate this user creation in BO from my UserMaintenance Module.
BO has exposed an API thru which we can call functions to create an User in BO.
My problem is where to call this API from ?We call a stored procedure for authorizing a new user in UserMaintenace Module.
We use Struts Framework.
Action class--->ServiceClass-----> DAOClass
In this DAO class we call this stored procedure to authorize the user creation.
My question is where to call this API from .
That is ,it should be called from DAO or ACtion class or Service class.
How to call an external API and what are the issues that are generally involved in calling an external API.
Fortunately both my weblogic and BO servers reside on the same unix server.
While calling an API should I have to take care about Portnumbers,external machine location i.e host address,
How to handle database connection.
Can someone throw an answer to these questions.
Thanks in advanceAs I understand, your user management is through database, so when a user is created in your application, the parameters pass through the Action Handler -> service class-> DAO. So a better way would be write an additional class with the user management implementation of BO with a constructor or a method which would take the required user creation parameters and call it in the service class just under the user creation method of your DAO.
As the user in your system passes some information from the front end, the same can be used to create user in BO. -
Dynamical Call of ALV - No data update
Hi,
I tried to use use the ALV dynamically. With dynamically I mean that I that I have diffrent data structures, depending what was selected by the user. The first call of the program is always correct. The data is displayed correctly. But when the data structure is changing, the ALV display is not updated. For a better understanding I post a extract of my coding:
<b>1. Creation of Container</b>
CREATE OBJECT g_custom_container
EXPORTING
container_name = 'PARENT_CONT'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
IF sy-subrc <> 0.
ASSERT 1 = 2.
ENDIF.
<b>2.Creation of splitter container</b>
CREATE OBJECT splitter
EXPORTING
parent = g_custom_container
rows = 2
columns = 2
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
ASSERT 1 = 2.
ENDIF.
container_2 = splitter->get_container(
row = 1
column = 2 ).
<b>3.Dynamic Creation of alv object</b>
CREATE OBJECT go_grid
EXPORTING
i_parent = container_2.
<b>4. Get Fieldcatalogue</b>
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = lv_structure_name
CHANGING
ct_fieldcat = lt_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
ASSERT 1 = 2.
ENDIF.
<b>5. Set table for first display</b>
CALL METHOD go_grid->set_table_for_first_display
* EXPORTING
* i_structure_name = lv_structure_name
CHANGING
it_fieldcatalog = lt_fieldcat
it_outtab = <lt_out_data>.
CALL METHOD ls_alv_ref-alv_ref->refresh_table_display.
CALL METHOD cl_gui_cfw=>flush.
Perhaps someone could help.....
Best Regards, EdgarHello Edgar
The following sample report <b>ZUS_SDN_TWO_ALV_GRIDS_8</b> shows how to solve your problem. Please note that for the sake of simplicity I replaced the tree containing the structure names with an ALV list. However, the switch between the different structures is triggered by the <b>DOUBLE_CLICK</b> event.
I like to add that the integration of the first displayed ALV list (DD02L) into GT_OUTTAB is not really elegant. In addition, with <b>$TMP</b> I marked a problematic part of the coding with respect to your requirement to have the right layout for each displayed ALV list:
If you have a <b>fixed </b>assignment of <i>tabname -> 4-digit handle</i> then it is ok. I my sample report the layouts only work if you select the tabnames in the very same order.
Before showing the entire coding I describe crucial parts of the coding:
[code]TYPES: BEGIN OF ty_s_outtab.
TYPES: tabname TYPE tabname.
TYPES: layout TYPE lvc_s_layo.
TYPES: variant TYPE disvariant.
TYPES: fcat TYPE lvc_t_fcat.
TYPES: data TYPE REF TO data.
TYPES: END OF ty_s_outtab.[/code]
Every time a new structure is selected the corresponding ALV data are stored as new record in GT_OUTTAB which is of line type TY_S_OUTTAB.
[code] READ TABLE gt_outtab INTO gs_outtab INDEX 2.
ASSIGN gs_outtab-fcat TO <gt_fcat>.
ASSIGN gs_outtab-data->* TO <gt_outtab>.[/code]
Since the ALV list data and the fieldcatalog are fully dynamic I use global field-symbols for these data.
[code]&----
*& Module STATUS_0100 OUTPUT
text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS_0100'. " contains push button "DETAIL"
SET TITLEBAR 'xxx'.
CALL METHOD go_grid2->set_table_for_first_display
EXPORTING
i_structure_name = gs_outtab-tabname
is_layout = gs_outtab-layout
is_variant = gs_outtab-variant
i_save = 'A'
CHANGING
it_outtab = <gt_outtab>
it_fieldcatalog = <gt_fcat>
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT[/code]
The second ALV list which displays the table records is always newly displayed in the PBO module.
In the event handler method <b>HANDLE_DOUBLE_CLICK</b> we need to do two things:
- store the current fieldcatalog back to GT_OUTTAB
- store the name of the new selected table/structure -> trigger PAI
In routine <b>HANDLE_DB_CLICK</b> we create a new entry for GT_OUTTAB if it does not yet exist. Next we select this entry and display it again as second ALV list.
[code]
*& Report ZUS_SDN_TWO_ALV_GRIDS_8
*& Description: Display two ALV lists in splitter container (left/right)
*& Left ALV list contains DB table names,
*& right ALV list displays entries of selected DB table
*& SDN thread: Dynamical Call of ALV - No data update
*& Link: https:||Dynamical Call of ALV - No data update
*& Screen '0100' contains no elements.
*& ok_code -> assigned to GD_OKCODE
*& Flow logic:
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
REPORT zus_sdn_two_alv_grids_8.
TYPE-POOLS: abap.
DATA:
gd_repid TYPE syst-repid,
gd_okcode TYPE ui_func,
go_docking TYPE REF TO cl_gui_docking_container,
go_splitter TYPE REF TO cl_gui_splitter_container,
go_cell_left TYPE REF TO cl_gui_container,
go_cell_right TYPE REF TO cl_gui_container,
go_grid1 TYPE REF TO cl_gui_alv_grid,
go_grid2 TYPE REF TO cl_gui_alv_grid,
gs_layout TYPE lvc_s_layo.
TYPES: BEGIN OF ty_s_outtab.
TYPES: tabname TYPE tabname.
TYPES: layout TYPE lvc_s_layo.
TYPES: variant TYPE disvariant.
TYPES: fcat TYPE lvc_t_fcat.
TYPES: data TYPE REF TO data.
TYPES: END OF ty_s_outtab.
TYPES: ty_t_outtab TYPE STANDARD TABLE OF ty_s_outtab
WITH DEFAULT KEY.
DATA:
gt_dd02l TYPE STANDARD TABLE OF dd02l,
gs_outtab TYPE ty_s_outtab,
gt_outtab TYPE ty_t_outtab.
FIELD-SYMBOLS:
<gt_fcat> TYPE lvc_t_fcat,
<gt_outtab> TYPE table.
CLASS lcl_eventhandler DEFINITION
CLASS lcl_eventhandler DEFINITION.
PUBLIC SECTION.
CLASS-DATA:
md_tabname_selected TYPE tabname READ-ONLY.
CLASS-METHODS:
handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING
e_row
e_column
es_row_no
sender.
ENDCLASS. "lcl_eventhandler DEFINITION
CLASS lcl_eventhandler IMPLEMENTATION
CLASS lcl_eventhandler IMPLEMENTATION.
METHOD handle_double_click.
define local data
DATA:
ls_dd02l TYPE dd02l,
ls_outtab TYPE ty_s_outtab.
CHECK ( sender = go_grid1 ).
READ TABLE gt_dd02l INTO ls_dd02l INDEX e_row-index.
" Store data of currently displayed ALV list (except for DD02L)
IF ( md_tabname_selected = space ).
ELSE.
READ TABLE gt_outtab INTO ls_outtab
WITH KEY tabname = md_tabname_selected. " old
CALL METHOD go_grid2->get_frontend_fieldcatalog
IMPORTING
et_fieldcatalog = ls_outtab-fcat.
MODIFY gt_outtab FROM ls_outtab INDEX syst-tabix.
ENDIF.
md_tabname_selected = ls_dd02l-tabname. " new selected DB table
Triggers PAI of the dynpro with the specified ok-code
cl_gui_cfw=>set_new_ok_code( 'HANDLE_DB_CLICK' ). " not 4.6c
CALL METHOD cl_gui_cfw=>set_new_ok_code
EXPORTING
new_code = 'HANDLE_DB_CLICK'
IMPORTING
RC =
ENDMETHOD. "handle_double_click
ENDCLASS. "lcl_eventhandler IMPLEMENTATION
START-OF-SELECTION.
gd_repid = syst-repid.
SELECT * FROM dd02l INTO TABLE gt_dd02l
WHERE tabname LIKE 'KN%1' OR
tabname LIKE 'LF%1' OR
tabname LIKE 'VB%' OR
tabname LIKE 'MAR%' OR
tabname LIKE 'E07%'
AND tabclass = 'TRANSP'. " transparent table
SORT gt_dd02l BY tabname.
PERFORM init_controls.
PERFORM add_first_table.
Set event handler
SET HANDLER:
lcl_eventhandler=>handle_double_click FOR go_grid1.
READ TABLE gt_outtab INTO gs_outtab INDEX 1.
Display data
CALL METHOD go_grid1->set_table_for_first_display
EXPORTING
i_structure_name = gs_outtab-tabname
is_layout = gs_outtab-layout
CHANGING
it_outtab = gt_dd02l
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
READ TABLE gt_outtab INTO gs_outtab INDEX 2.
ASSIGN gs_outtab-fcat TO <gt_fcat>.
ASSIGN gs_outtab-data->* TO <gt_outtab>.
NOTE: method called in PBO module
CALL METHOD go_grid2->set_table_for_first_display
EXPORTING
i_structure_name = gs_outtab-tabname
is_layout = gs_outtab-layout
is_variant = gs_outtab-variant
i_save = 'A'
CHANGING
it_outtab = <gt_outtab>
it_fieldcatalog = <gt_fcat>
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Link the docking container to the target dynpro
CALL METHOD go_docking->link
EXPORTING
repid = gd_repid
dynnr = '0100'
CONTAINER =
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
NOTE: dynpro does not contain any elements
CALL SCREEN '0100'.
Flow logic of dynpro (does not contain any dynpro elements):
*PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
*PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
END-OF-SELECTION.
*& Module STATUS_0100 OUTPUT
text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS_0100'. " contains push button "DETAIL"
SET TITLEBAR 'xxx'.
CALL METHOD go_grid2->set_table_for_first_display
EXPORTING
i_structure_name = gs_outtab-tabname
is_layout = gs_outtab-layout
is_variant = gs_outtab-variant
i_save = 'A'
CHANGING
it_outtab = <gt_outtab>
it_fieldcatalog = <gt_fcat>
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
text
MODULE user_command_0100 INPUT.
CASE gd_okcode.
WHEN 'BACK' OR
'END' OR
'CANC'.
SET SCREEN 0. LEAVE SCREEN.
User has pushed button "Display Details"
WHEN 'HANDLE_DB_CLICK'.
PERFORM handle_db_click.
WHEN OTHERS.
ENDCASE.
CLEAR: gd_okcode.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form HANDLE_DB_CLICK
text
--> p1 text
<-- p2 text
FORM handle_db_click.
define local data
DATA:
ld_handle(4) TYPE n,
ls_outtab TYPE ty_s_outtab.
READ TABLE gt_outtab INTO ls_outtab
WITH KEY tabname = lcl_eventhandler=>md_tabname_selected.
IF ( syst-subrc NE 0 ).
CLEAR: ls_outtab.
ls_outtab-tabname = lcl_eventhandler=>md_tabname_selected.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
I_BUFFER_ACTIVE =
i_structure_name = ls_outtab-tabname
I_CLIENT_NEVER_DISPLAY = 'X'
I_BYPASSING_BUFFER =
I_INTERNAL_TABNAME =
CHANGING
ct_fieldcat = ls_outtab-fcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE DATA ls_outtab-data TYPE TABLE OF (ls_outtab-tabname).
ASSIGN ls_outtab-data->* TO <gt_outtab>.
SELECT * FROM (ls_outtab-tabname) UP TO 50 ROWS
INTO TABLE <gt_outtab>.
ls_outtab-layout-no_toolbar = abap_false.
ls_outtab-layout-zebra = abap_true.
ls_outtab-layout-smalltitle = abap_true.
CONCATENATE ls_outtab-tabname ':'
INTO ls_outtab-layout-grid_title.
CONCATENATE ls_outtab-layout-grid_title 'Table Records'
INTO ls_outtab-layout-grid_title
SEPARATED BY space.
ls_outtab-variant-report = gd_repid.
DESCRIBE TABLE gt_outtab.
ld_handle = syst-tfill + 1.
WRITE ld_handle TO ls_outtab-variant-handle. " $TMP: Problem!!!
APPEND ls_outtab TO gt_outtab.
ENDIF.
" NOTE: read into GLOBAL variable gs_outtab !!!!
READ TABLE gt_outtab INTO gs_outtab
WITH KEY tabname = lcl_eventhandler=>md_tabname_selected.
ASSIGN gs_outtab-fcat TO <gt_fcat>.
ASSIGN gs_outtab-data->* TO <gt_outtab>.
ENDFORM. " HANDLE_DB_CLICK
*& Form INIT_CONTROLS
text
--> p1 text
<-- p2 text
FORM init_controls .
Create docking container
CREATE OBJECT go_docking
EXPORTING
parent = cl_gui_container=>screen0
ratio = 90
EXCEPTIONS
OTHERS = 6.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL METHOD go_docking->set_extension
EXPORTING
extension = 99999 " full-size screen
EXCEPTIONS
cntl_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Create splitter container
CREATE OBJECT go_splitter
EXPORTING
parent = go_docking
rows = 1
columns = 2
NO_AUTODEF_PROGID_DYNNR =
NAME =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Get cell container
CALL METHOD go_splitter->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = go_cell_left.
CALL METHOD go_splitter->get_container
EXPORTING
row = 1
column = 2
RECEIVING
container = go_cell_right.
CALL METHOD go_splitter->set_column_mode
EXPORTING
mode = cl_gui_splitter_container=>mode_relative
IMPORTING
RESULT =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL METHOD go_splitter->set_column_width
EXPORTING
id = 1
width = 25
IMPORTING
RESULT =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL METHOD go_splitter->set_column_sash
EXPORTING
id = 1
type = cl_gui_splitter_container=>type_movable
value = cl_gui_splitter_container=>false
IMPORTING
RESULT =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Create ALV grids
CREATE OBJECT go_grid1
EXPORTING
i_parent = go_cell_left
EXCEPTIONS
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT go_grid2
EXPORTING
i_parent = go_cell_right
EXCEPTIONS
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " INIT_CONTROLS
*& Form ADD_FIRST_TABLE
text
--> p1 text
<-- p2 text
FORM add_first_table .
define local data
DATA:
ls_outtab TYPE ty_s_outtab.
ls_outtab-tabname = 'DD02L'.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
I_BUFFER_ACTIVE =
i_structure_name = ls_outtab-tabname
I_CLIENT_NEVER_DISPLAY = 'X'
I_BYPASSING_BUFFER =
I_INTERNAL_TABNAME =
CHANGING
ct_fieldcat = ls_outtab-fcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
*MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
GET REFERENCE OF gt_dd02l INTO ls_outtab-data.
ls_outtab-layout-no_toolbar = abap_false.
ls_outtab-layout-zebra = abap_true.
ls_outtab-layout-smalltitle = abap_true.
CONCATENATE ls_outtab-tabname ':'
INTO ls_outtab-layout-grid_title.
CONCATENATE ls_outtab-layout-grid_title 'Table Records'
INTO ls_outtab-layout-grid_title
SEPARATED BY space.
ls_outtab-variant-report = gd_repid.
ls_outtab-variant-handle = '0002'.
INSERT ls_outtab INTO gt_outtab INDEX 1.
ls_outtab-layout-no_toolbar = abap_true.
ls_outtab-layout-zebra = abap_true.
ls_outtab-layout-smalltitle = abap_true.
ls_outtab-layout-grid_title = 'DB Tables'.
ls_outtab-variant-report = gd_repid.
ls_outtab-variant-handle = '0001'.
DELETE ls_outtab-fcat WHERE ( fieldname NE 'TABNAME' ).
INSERT ls_outtab INTO gt_outtab INDEX 1.
ENDFORM. " ADD_FIRST_TABLE[/code]
Regards,
Uwe -
Hello,
I'm reasonably new to working with EJBs so perhaps this isnt possible... Can you dynamically call an EJB at runtime ie like reflection.
I know once the bean has been created I can use reflection to call the method but how can I create the bean from the beans remote home interface?
Many thanks
MichaelGot it
EJBMetaData md = theHome.getEJBMetaData();
Class homeClass = md.getHomeInterfaceClass();
EJBObject theRemote = (EJBObject)invoke(homeClass,theHome,"create");
static Object invoke(Class c,Object obj,String mname){
Method[] methods = c.getMethods();
String name=null;
Object r= null;
try {
for(int i = 0; i<methods.length ;i++) {
name = methods.getName();
if(name.startsWith(mname)) {
r = methods[i].invoke(obj,null);
} catch(Exception e){
e.printStackTrace();
return r; -
Unable to find OSB API classes while submitting the resources to OER
Hi,
i had installed weblogic 11gR1 and installed OSB and OER on top of it.
when i try to submit any xsd or WSDL file from eclipse to Oracle Enterprise Repository it will work fine.
But when i try to submit any .biz or .proxy file (from osb project) i am getting the following error.
can anybody please help
0 [main] WARN com.oracle.oer.sync.framework.impl.DefaultPluginManager - Unable to initialize harvester plugin: D:\OSBOracleMiddleware\repository111\core\tools\solutions\11.1.1.5.0-OER-Harvester\harvester\.\plugins\osb10.productReader
218 [main] INFO com.oracle.oer.sync.framework.MetadataManager - Oracle Enterprise_Repository_Harvester version: v11.1.1.5.0-110414_0001-1399976
562 [main] WARN com.oracle.oer.sync.framework.impl.DefaultPluginManager - Unable to initialize harvester plugin: D:\OSBOracleMiddleware\repository111\core\tools\solutions\11.1.1.5.0-OER-Harvester\harvester\.\plugins\osb10.productReader
968 [main] ERROR com.oracle.oer.sync.plugin.artifact.osb10.OSBServiceIntrospectorBase - Unable to find OSB API classes. Make sure that the BEA_HOME environment variable points to an installation of OSB Server version 10.3.1
com.oracle.oer.sync.framework.MetadataIntrospectionException: Unable to find OSB API classes. Make sure that the BEA_HOME environment variable points to an installation of OSB Server version 10.3.1
at com.oracle.oer.sync.plugin.artifact.osb10.OSBServiceIntrospectorBase.introspect(OSBServiceIntrospectorBase.java:96)
at com.oracle.oer.sync.plugin.reader.file.FileReader.introspectFile(FileReader.java:414)
at com.oracle.oer.sync.plugin.reader.file.FileReader.readFromFileArray(FileReader.java:286)
at com.oracle.oer.sync.plugin.reader.file.FileReader.read(FileReader.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.flashline.util.classloader.ContextClassLoaderHandler.invoke(ContextClassLoaderHandler.java:39)
at $Proxy24.read(Unknown Source)
at com.oracle.oer.sync.framework.MetadataManager.start(MetadataManager.java:630)
at com.oracle.oer.sync.framework.Introspector.<init>(Introspector.java:204)
at com.oracle.oer.sync.framework.Introspector.main(Introspector.java:428)
Caused by: java.lang.NoClassDefFoundError: com/bea/wli/sb/services/bindings/config/ServiceTypeChoice
at com.oracle.oer.sync.plugin.artifact.osb10.OSBServiceIntrospectorBase.processInterface(OSBServiceIntrospectorBase.java:429)
at com.oracle.oer.sync.plugin.artifact.osb10.BusinessServiceIntrospector.processServiceAsset(BusinessServiceIntrospector.java:70)
at com.oracle.oer.sync.plugin.artifact.osb10.OSBServiceIntrospectorBase.processService(OSBServiceIntrospectorBase.java:154)
at com.oracle.oer.sync.plugin.artifact.osb10.OSBServiceIntrospectorBase.introspect(OSBServiceIntrospectorBase.java:90)
... 12 more
Caused by: java.lang.ClassNotFoundException: com.bea.wli.sb.services.bindings.config.ServiceTypeChoice
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 16 more
968 [main] ERROR com.oracle.oer.sync.plugin.reader.file.FileReader - Introspection failed due to: Unable to find OSB API classes. Make sure that the BEA_HOME environment variable points to an installation of OSB Server version 10.3.1
968 [main] ERROR com.oracle.oer.sync.framework.MetadataManager - Artifact harvest failed due to: Unable to find OSB API classes. Make sure that the BEA_HOME environment variable points to an installation of OSB Server version 10.3.1
com.oracle.oer.sync.framework.MetadataIntrospectionException: Unable to find OSB API classes. Make sure that the BEA_HOME environment variable points to an installation of OSB Server version 10.3.1
at com.oracle.oer.sync.plugin.artifact.osb10.OSBServiceIntrospectorBase.introspect(OSBServiceIntrospectorBase.java:96)
at com.oracle.oer.sync.plugin.reader.file.FileReader.introspectFile(FileReader.java:414)
at com.oracle.oer.sync.plugin.reader.file.FileReader.readFromFileArray(FileReader.java:286)
at com.oracle.oer.sync.plugin.reader.file.FileReader.read(FileReader.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.flashline.util.classloader.ContextClassLoaderHandler.invoke(ContextClassLoaderHandler.java:39)
at $Proxy24.read(Unknown Source)
at com.oracle.oer.sync.framework.MetadataManager.start(MetadataManager.java:630)
at com.oracle.oer.sync.framework.Introspector.<init>(Introspector.java:204)
at com.oracle.oer.sync.framework.Introspector.main(Introspector.java:428)
Caused by: java.lang.NoClassDefFoundError: com/bea/wli/sb/services/bindings/config/ServiceTypeChoice
at com.oracle.oer.sync.plugin.artifact.osb10.OSBServiceIntrospectorBase.processInterface(OSBServiceIntrospectorBase.java:429)
at com.oracle.oer.sync.plugin.artifact.osb10.BusinessServiceIntrospector.processServiceAsset(BusinessServiceIntrospector.java:70)
at com.oracle.oer.sync.plugin.artifact.osb10.OSBServiceIntrospectorBase.processService(OSBServiceIntrospectorBase.java:154)
at com.oracle.oer.sync.plugin.artifact.osb10.OSBServiceIntrospectorBase.introspect(OSBServiceIntrospectorBase.java:90)
... 12 more
Caused by: java.lang.ClassNotFoundException: com.bea.wli.sb.services.bindings.config.ServiceTypeChoice
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 16 more
com.oracle.oer.sync.framework.MetadataIntrospectionException: Artifact harvest failed due to: Unable to find OSB API classes. Make sure that the BEA_HOME environment variable points to an installation of OSB Server version 10.3.1
at com.oracle.oer.sync.framework.MetadataManager.start(MetadataManager.java:655)
at com.oracle.oer.sync.framework.Introspector.<init>(Introspector.java:204)
at com.oracle.oer.sync.framework.Introspector.main(Introspector.java:428)
Caused by: com.oracle.oer.sync.framework.MetadataIntrospectionException: Unable to find OSB API classes. Make sure that the BEA_HOME environment variable points to an installation of OSB Server version 10.3.1
at com.oracle.oer.sync.plugin.artifact.osb10.OSBServiceIntrospectorBase.introspect(OSBServiceIntrospectorBase.java:96)
at com.oracle.oer.sync.plugin.reader.file.FileReader.introspectFile(FileReader.java:414)
at com.oracle.oer.sync.plugin.reader.file.FileReader.readFromFileArray(FileReader.java:286)
at com.oracle.oer.sync.plugin.reader.file.FileReader.read(FileReader.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.flashline.util.classloader.ContextClassLoaderHandler.invoke(ContextClassLoaderHandler.java:39)
at $Proxy24.read(Unknown Source)
at com.oracle.oer.sync.framework.MetadataManager.start(MetadataManager.java:630)
... 2 more
Caused by: java.lang.NoClassDefFoundError: com/bea/wli/sb/services/bindings/config/ServiceTypeChoice
at com.oracle.oer.sync.plugin.artifact.osb10.OSBServiceIntrospectorBase.processInterface(OSBServiceIntrospectorBase.java:429)
at com.oracle.oer.sync.plugin.artifact.osb10.BusinessServiceIntrospector.processServiceAsset(BusinessServiceIntrospector.java:70)
at com.oracle.oer.sync.plugin.artifact.osb10.OSBServiceIntrospectorBase.processService(OSBServiceIntrospectorBase.java:154)
at com.oracle.oer.sync.plugin.artifact.osb10.OSBServiceIntrospectorBase.introspect(OSBServiceIntrospectorBase.java:90)
... 12 more
Caused by: java.lang.ClassNotFoundException: com.bea.wli.sb.services.bindings.config.ServiceTypeChoice
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 16 morehi,
hey i overcome the yesterday's error,
in my osb11g-harvest.bat file 'call setenv.bat' this line was missing.
when i added this line it works fine.
but still i am facing another issue
8332 [Main Thread] INFO com.bea.alsb.harvester.plugin.reader.OSBReader - OSB Config Jar Import / Validation starting.
<Mar 13, 2012 10:28:16 AM IST> <Warning> <ConfigFwk> <BEA-000000> <Setting transaction '6' as rollback only. Rollback reason:
java.io.IOException: Invalid jar file
at com.bea.wli.config.importexport.ConfigJar$LogicalJarForm.<init>(ConfigJar.java:1341)
at com.bea.wli.config.task.impl.UploadJarTask._execute(UploadJarTask.java:46)
at com.bea.wli.config.task.impl.SessionedTask$1.execute(SessionedTask.java:233)
at com.bea.wli.config.transaction.TransactionalTask._doExecute(TransactionalTask.java:217)
at com.bea.wli.config.transaction.TransactionalTask._doExecuteWithRetry(TransactionalTask.java:162)
at com.bea.wli.config.transaction.TransactionalTask.doExecute(TransactionalTask.java:142)
at com.bea.wli.config.task.impl.SessionedTask.doExecute(SessionedTask.java:236)
at com.bea.wli.config.task.impl.SessionedTask.doExecute(SessionedTask.java:191)
at com.bea.wli.config.task.impl.UploadJarTask.uploadJar(UploadJarTask.java:36)
at com.bea.wli.config.mbeans.Config.uploadJarFile(Config.java:442)
at com.bea.alsb.harvester.utils.ConfigJarUtils.importConfigJar(ConfigJarUtils.java:79)
at com.bea.alsb.harvester.plugin.reader.OSBReader.readQuery(OSBReader.java:196)
at com.bea.alsb.harvester.plugin.reader.OSBReader.readQueries(OSBReader.java:112)
at com.bea.alsb.harvester.plugin.reader.OSBReader.read(OSBReader.java:87)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.flashline.util.classloader.ContextClassLoaderHandler.invoke(ContextClassLoaderHandler.java:39)
at $Proxy0.read(Unknown Source)
at com.oracle.oer.sync.framework.MetadataManager.start(MetadataManager.java:630)
at com.oracle.oer.sync.framework.Introspector.<init>(Introspector.java:204)
at com.oracle.oer.sync.framework.Introspector.main(Introspector.java:430)
>
8426 [Main Thread] ERROR com.oracle.oer.sync.framework.MetadataManager - Artifact harvest failed due to: Unexpected error import: Invalid jar file
com.oracle.oer.sync.framework.MetadataIntrospectionException: Unexpected error import: Invalid jar file
at com.bea.alsb.harvester.utils.ConfigJarUtils.importConfigJar(ConfigJarUtils.java:97)
at com.bea.alsb.harvester.plugin.reader.OSBReader.readQuery(OSBReader.java:194)
at com.bea.alsb.harvester.plugin.reader.OSBReader.readQueries(OSBReader.java:112)
at com.bea.alsb.harvester.plugin.reader.OSBReader.read(OSBReader.java:87)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.flashline.util.classloader.ContextClassLoaderHandler.invoke(ContextClassLoaderHandler.java:39)
at $Proxy0.read(Unknown Source)
at com.oracle.oer.sync.framework.MetadataManager.start(MetadataManager.java:630)
at com.oracle.oer.sync.framework.Introspector.<init>(Introspector.java:204)
at com.oracle.oer.sync.framework.Introspector.main(Introspector.java:430)
Caused by: java.io.IOException: Invalid jar file
at com.bea.wli.config.importexport.ConfigJar$LogicalJarForm.<init>(ConfigJar.java:1341)
at com.bea.wli.config.task.impl.UploadJarTask._execute(UploadJarTask.java:46)
at com.bea.wli.config.task.impl.SessionedTask$1.execute(SessionedTask.java:233)
at com.bea.wli.config.transaction.TransactionalTask._doExecute(TransactionalTask.java:217)
at com.bea.wli.config.transaction.TransactionalTask._doExecuteWithRetry(TransactionalTask.java:162)
at com.bea.wli.config.transaction.TransactionalTask.doExecute(TransactionalTask.java:142)
at com.bea.wli.config.task.impl.SessionedTask.doExecute(SessionedTask.java:236)
at com.bea.wli.config.task.impl.SessionedTask.doExecute(SessionedTask.java:191)
at com.bea.wli.config.task.impl.UploadJarTask.uploadJar(UploadJarTask.java:36)
at com.bea.wli.config.mbeans.Config.uploadJarFile(Config.java:442)
at com.bea.alsb.harvester.utils.ConfigJarUtils.importConfigJar(ConfigJarUtils.java:79)
at com.bea.alsb.harvester.plugin.reader.OSBReader.readQuery(OSBReader.java:196)
... 11 more
seems that some invalid jar file is there.
can please take a look in to it,
Sorry for inconvinience
anyways thanks a lot for your kind help
Regards,
Yogesh -
Hi all,
I used to have LabVIEW application, as executable, which does dynamic calls to any VI. Until now it was done and built with LV2009 and worked fine as long as the vi.lib folder was copied to same of folder than the executable (this was needed for dependencies).
I've now moved to LV2012 and my application does not work anymore. It seems that dynamically loading any VI in vi.lib which calls an LLB is not possible and leads to an error. Is this known ? Is it a bug or a new limitation in LV2012 ?
Thanks,
AlexHere is how to reproduce this issue :
First, open the attached GetVIDependencies.vi in the LV2012 development environment. In the "VI Patch" field, enter the path of the attached "Test.vi" and then execute the VI.
You should get 38 found dependencies and 0 missing. Then do the same with the exe version of GetVIDependencies. You should get 1 dependency which is missing. This is normal because the runtime does not know where <vilib> is placed. If you place the exe in the LabVIEW.exe directory (where vilib stands), you will get the same result.
Then, if you have LV2009, try the same with the 2009 executable version and "Test_LV2009.vi". It will work as soon as you place the executable in the LabVIEW.exe (2009) folder, no matter where "Test_LV2009.vi" is placed.
Attachments:
GetVIDependencies.vi 24 KB
Test.vi 7 KB
GetVIDependencies_LV2009.vi 23 KB -
Hi Gurus,
Can any one tell me how to debug dynamic calls?
The scenario is:
I know the message that is getting fired from a message class.
I didnot find its usage from the where-used list, as it says - possible dynamic calls.
How do i know, from where this message is getting fired?
Pls suggest.
Thanks, RashmiHi,
Just try this
In the new debugger Breakpoints --> Breakpoint at --> Breakpoint at Statement
give MESSAGE
This will set break point at all message statement. Execute till you get the message
Regards -
Return data is null while calling Exchange Online rest api using jquery on Chrome and Mozilla
Hi,
I am developing a SharePoint hosted app in which I am calling Exchange online rest api using basic authentication to get mail for the user. This works fine in IE but returns null data when opening in Chrome or Mozilla.
Is there something I am missing while making rest call to api?
Please remember to mark your question as answered &Vote helpful,if this solves/helps your problem. Thanks, AjeetHi,
This forum is to discuss problems of Office development such as VBA, VSTO, Apps for Office .etc. But I think your question is related to app for SharePoint. I suggest you posting it in
App for SharePoint forum for more efficient responses.
Thanks.
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
Two remote objects calls on the same php class
Hi to all,
I've encountered a strange issue while developing with remote objects.
I've a mxml component with an init() method inside which is called by a menu.
When the init() method is called it makes 7 remote object calls which are bound to some components' dataprovider.
Among this calls I've got 2 remote object which refer to the same remote class. This because I have to call the class twice and the bind the result to two different combobox. Below you find the code:
<mx:RemoteObject id="myFile" source="myRemoteClass" destination="amfphp" showBusyCursor="true" makeObjectsBindable="true" fault="traceFault(event)"/>
<mx:RemoteObject id="myXls" source="myRemoteClass" destination="amfphp" showBusyCursor="true" makeObjectsBindable="true" fault="traceFault(event)"/>
in the init function I make this calls:
myFile.listDir("dir_1")
myXls.listDir("dir_2")
then in the mxml code I bound the result of myFile to combobox1 and the result of myXls on combobox2.
The problem arise when I call the myXls' listDir method. When I call it I receive the following error:
code:
Client.Error.DeliveryInDoubt
Message:
Channel disconnected
Detail:
Channel disconnected before an acknowledgement was received
The strange thing is that not only the myXls object returns this error, but also all the other 6 remote object return the same error above.
I'm not sure, but I guess that the error could be caused by the two remote object which call the same php remote class. If I comment one of the two calls everything works fine.
Do you have any suggestion about?
Thanks!!
Bye
LukeHi Jan.
1) We have the 2 VO, each with 3 rows to fill in data. What I mean is that when i just fill in all the fields for the first row of the first VO, and the value of one of these fields is bigger than 50, then after the exception is thrown and the message is displayed, the fields for the first VO are duplicated and shown in the second VO as if the user had inserted them.
2) We tried yesterday the validateEntity and a Method and Atributte Validator approaches after reading that white paper with the same results.
The validation is correctly done using any of the those methods.
I will try to reproduce this issue with the HR schema.
Thanks in advance once again.
Maybe you are looking for
-
Where to type the activation code for Viber?
I just downloaded Viber on my iPhone 4. I typed in my phone number and received the SMS with the activation code. Now I'm stuck. Where do I put the code? I clicked "OK" after receiving the SMS, and I was directed to he page where I had to put my
-
'PICK' and User commands in reports
I'm a bit confused about 'PICK' in PF_STATUS. I fI define it, does that mean It can only be recognised in LINE-SELECTION , and not in AT USER-COMMAND. I've defined a small program and thats what seems to be happening?
-
Bengali language support for pearl 9105
Hi, I am using a factory unlocked blackberry pearl 9105 in Bangladesh. Regardless of my satisfaction with the device, it has become necessary for me to have my native language (Bengali) font for the device. How can I have my device display Bengali f
-
Can't auto-retrieve MMS with iOS 4.0.1
My phone-number are provisioned for MMS and i can send without problems. But it refuses to auto-retrieve MMS. In stead i now get an SMS with info on how i can view the MMS "via web". Prior to my upgrade to 4.0.1 (directly from 3.(something)) it worke
-
Error in extracting ExpressNitroXTrialInstall-405.zip
I have tried 3 times to download the tiral product ExpressNitroXTrialInstall-405.zip. Everything i've got is message from winzip : bad CRC e5d34d11 (should be 3b3b6ac6). Please take a look to fix it. Thanks