Calling LabView ActiveX Server from TCL?
Does anyone have experience calling a LabView ActiveX server vi from
TCL? I created a simple VI with one control (labeled "A") and one
indicator (labeled "B") and a +1 adder between them. I can load and
open the VI from TCL:
package require tcom
set lv [::tcom::ref createobject "LabView.Application"]
set viPath "D:\\National Instruments\\LabView\\Activity\\a.vi"
set vi [$lv GetVIReference $viPath]
$vi FPWinOpen True
But when I try to send in data:
$vi -namedarg Call A 1
I get the error message "unknown parameter A".
I have also attempted to duplicate the "ActiveX Server" example
from the LabView help file, calling "Frequency Response.vi". This
approach encounters the same error message:
% package require t
com
3.0
% set lv [::tcom::ref createobject "LabView.Application"]
::tcom::handle0x013202F4
% set viPath "D:\\National
Instruments\\LabView\\examples\\apps\\freqresp.llb\\frequency
Response.vi"
D:\National Instruments\LabView\examples\apps\freqresp.llb\frequency
Response.vi
% set vi [$lv GetVIReference $viPath]
::tcom::handle0x01335AE8
% $vi FPWinOpen True
% $vi -namedarg Call Amplitude 10
unknown parameter Amplitude
If anyone can point me in the right direction, or give me an
example of how to do this I would greatly appreciate it.
TIA.
Leslie
In article ,
Leslie Brooks wrote:
>"Bruce Hartweg" wrote in message
>news:...
>> "Chin Huang" wrote in message
>news:[email protected]...
>> >
>> > I don't use LabView, but from the Visual Basic example I saw, it seems
>> > the Call method takes two arguments. The first is an array of parameter
>> > names and the second is an array of parameter values. Try to send in
>> > data with the Tcl command
>> >
>> > $vi Call [list A] [list 1]
>>
>> I'm unable to help the original question (don't know LAbView or VB stuff) but
>> just want to point out that [list A] is equal to A and [list 1] is the
>same as 1.
>>
>> Bruce
>
> I know what is supposed to be passed to the 'Call' method. Doing
>this:
>
>set inst [::tcom::info interface $vi]
>$inst methods
>
> produces (among other things):
>
>{1015 VOID Call {{{in out} {VARIANT *} paramNames} {{in out} {VARIANT
>*} paramVals}}}
>
> So the 'Call' method is expecting two parameters, both pointers
>to variants. TCOM appears to be passing the correct parameter type
>because the TCOM documentation says that a TCL List maps to a
>one-dimensional array of VT_VARIANT. However, the results are
>INvariant (bad pun intended):
>
>% $vi -namedarg Call Amplitude 10
>unknown parameter Amplitude
>% $vi -namedarg Call [list Amplitude] [list 10]
>unknown parameter Amplitude
>% $vi -namedarg Call [list Amplitude] [list [::tcom::na]]
>unknown parameter Amplitude
>% set i 5
>5
>% $vi -namedarg Call [list Amplitude] {incr i}
>unknown parameter Amplitude
>% $vi -namedarg Call [list Amplitude] [list [incr i]]
>unknown parameter Amplitude
>% $vi -namedarg Call Amplitude [incr i]
>unknown parameter Amplitude
>
> Who can help me with this? Who is the LabView Guru?
Try invoking the Call method without the -namedarg option. The
-namedarg option doesn't work the way you seem to think it works. The
-namedarg option provides a way to specify arguments named from the
method's parameter specification. For example, you discovered that the
Call method take two parameters named "paramNames" and "paramVals".
Tcom returns the error "unknown parameter Amplitude" because "Amplitude"
doesn't match either parameter name.
Similar Messages
-
Calling LabVIEW activex application from Matlab
Hi All,
I am having trouble calling a vi and passing parameters to it using ActiveX calls.
I tried 2 methods to call the vi using ActiveX but none of them works. I have described the 2 methods below.
Method 1:
sc = actxserver('LabVIEW.Application');
glob = invoke(sc,'GetVIReference','C:\Program VIs\ControlSC.vi');
SetControlValue(glob,'Command','open')
glob.Run(0);
After running the above code I get the an error
"Source: LabVIEW
Description: LabVIEW: Cannot load front panel."
Method 2:
sc = actxserver('LabVIEW.Application');
glob = invoke(sc,'GetVIReference','C:\Program VIs\ControlSC.vi');
paramNames={'Command'}
paramValues = {'open'}
glob.Call(paramNames, paramValues)
After running the above code I get the an error
"No method 'Call' with matching signature found for class"
Does anyone have any idea how to fix these errors?
Thanks,
RiteshThe owner is not ("LabVIEW.Application"), That is the development enviornment's Active X server.
The server name you want is this one:
Jeff -
How Do I set up a LabView ActiveX server?
Are there any documenation or sample program which is about how to setup a LabView ActiveX server? my C++ program will dynamically call VI and then pass the integer to Labview program via ActiveX and then perform some control of digital oscillscope. Do anyone help me? thanks for help so much......It is in hurry......please help..............
CowCowFrom the NI knowledge base...
Problem: How do I enable LabVIEW as an ActiveX Server?
Solution: Under Edit >> Preferences >> Server: Configuration, select ActiveX as a protocol and enable all server resources. Under Edit >> Preferences >> Server: Exported VIs, list the name of all VIs that can be accessed remotely. You can include the full path to the VI, or just list its name. Wildcard characters are valid. You can explicitly deny access to certain VIs by clicking the Deny Access button. Note that changes to the Server will not take effect until LabVIEW is relaunched. -
Is it possible to call a activeX control from PL/SQL...?
Hi all,
Is it possible to call a activeX control from PL/SQL...? If yes, please give me sample code or any link.
Thanks,
PalThe LoadLibrary() Win32 call is used to find the physical DLL and load it into memory. This API call first look in the current directory for the file, and then uses the PATH environmental variable to try and find the file.
Thus you need to make sure PATH is properly set. A Win32 process runs in a 32bit VM (Virtual Machine). Been a very long time since I did Windows server side development, but as I recall this VM inherits the default o/s environment (unlike Unix where the parent process environment is inherited).
You can set the environment using the Properties menu of the System desktop icon (or via Control Panel).
However.. Oracle does not run as your user. Typically it is installed as the o/s user Oracle and this user owns all the Oracle processes (listener, instance, etc).
So you will need to make sure that this user's environment is correctly configured... Further more than this, I'm out of my depth. Did a lot of Windows stuff back in the 90's, but for many years now I'm only using Unix/Linux professionally - with Windows being my console platform for playing games at home. :-)
On the Linux/Unix side, I configure the environment variable via the Listener. E.g. Under the entry SID_LIST_LISTENER, I configure the external procedure handler as follows:
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME=/tjs-dev/app/oracle/product/10.2.0)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ANY")
)No idea how this applies and works on the Windows side. -
Some errors when calling LabVIEW VIs Interactively from DIAdem
Hi! I'm having some trouble using the "Calling LabVIEW VIs Interactively from DIAdem" found on:
http://zone.ni.com/devzone/conceptd.nsf/webmain/1A98AB48E35D913086256E23004E6A22
Following the troubleshooting section didn't resolve the issue. I
recompiled and built the exe (DIAdemLabVIEW.exe) for version 7.1.1,
which I am developing on. But still I got the same error message, after
a waiting for about a minute, on a diadem popup window:
Error in <MenuAdd...ctDo.vbs (row:1, column: 1)
Error in <addmenuentry.vbs (row:14, column: 3)
ActiveX component can't create object.: 'DIAdemLabWIEV.Application'
Using the llb's and exe's that was included with the installer worked
flawless, with the exception that LV 7.1.1 vi's didn't appear on the
popup window(DIAdemLabWiev.vi). So I tried to recompile and build for
the 7.1.1, with this result.
I'd be very grateful for fixes or solutions for this problem!
Regards
Roger IsakssonBrad, thanks for the reply! Below is my (correct?) modification of your script. Have I got it right?
Dim lvapp, vi, viPath, paramName(1), paramVal(1)
Set lvapp = CreateObject("LabVIEW.Application")
viPath = "C:\TEMP\Test.exe"
Set vi = lvapp.GetVIReference(viPath)
vi.FPWinOpen = True
paramName(0) = "In Name"
paramVal(0) = "In Value"
paramName(1) = "Ut Name"
Call vi.Call(paramName, paramVal)
Call lvapp.Quit()
MsgBox "Parameter1 Value = " & paramVal(1)
I am not sure about the format of the <paramName(0) = "In Name">.
The control name is "In" and is a I32, the name for the indicator is
"Ut" and has the same storage type as the control.
Running the script gives an error in line 4, that is the <Set vi =
lvapp.GetVIReference(viPath)>. I'll attach the exe and the error
message.
I have another question regarding the relatively large amount of RAM
that diadem uses for export from my labview application to diadem. More
than 10 times the size of the data is required for exporting to diadem.
Since our application use relatively large files, actually up to
several GB's, this soon becomes problematic. See the attached picture
of the memory usage after exporting a 10MB segment (contains 42
channels of measurement data). Your help in these matters would be
appreciated!
Regards
Roger Isaksson, Damill AB
Message Edited by Roger Isaksson on 09-09-2005 10:22 AM
Message Edited by Roger Isaksson on 09-09-2005 10:22 AM
Attachments:
VBError.JPG 181 KB
Test1.vi 9 KB -
How to call LabVIEW ActiveX dlls into VB6
I'm jumping in on a project written primarily in VB6. I'd much rather wirte code in LabVIEW so what I am looking for is some example code for calling LabVIEW activeX dlls into VB6. Does anyone have example code? I need to see how the LabVIEW libraries and classes are called and used in VB6.
Hi Drewdafis,
Refer to this link for example code on calling a LabVIEW DLL from Visual Basic.
Hope this helps!
Best Regards,
Jonathan N.
National Instruments -
Calling (VB)activex object from JSP
Hi,
I am trying to call a ActiveX object from JSP using the ActiveXObject method in javascript. I have a dll filed named LPMSFunctions.dll which is registered and is being passed as an argument to the ActiveXObject method. Below is the code i am trying to execute..
<html>
<head>
<title>Script Example</title>
</head>
<body>
<br><br>
<P align="center">
<form action="" method="post">
<script language="JavaScript">
function comEventOccured()
try{
var myobject;
myobject = new ActiveXObject("LPMSFunctions72.LPFunctions72");
alert("Inside LPMSFunction72");
alert(myobject.GetDocPath());
catch(e)
alert("Error");
</script>
</form>
</body>
</html>When i write the above code and save it as an html file it works fine..the activex object is created and the methods are called , but when i copy the same code to a file and save it as jsp file under webapps folder under tomcat it doesnt work and reports a javascript error with the error being:
Automation server cant create the object at line :
var SSOObj = new ActiveXObject("LPMSFunctions72.LPFunctions72");
Please suggest how can I solve the problem. Your help would be sincerely appreciated.
Thanks
shravanYou want to use the Variant to Data node, wiring in an ActiveX constant configured to the interface type you want.
Brian Tyler
http://detritus.blogs.com/lycangeek -
How to call an external server from Webdynpro program?
Hi All,
i have a requirement in which i have to call an external server from Webdynpro ABAP program.
how to imphi ,
do u mean u need to call the external link from ur WD ABAP application ?
if so , u either create
1 a Link to URL ( LTU ) UI element and call the external link using that
2 if u wish to use some other fuctionality and thn wish to call the URL in ur application ,u write this piece of code in ur relevant on Action method :
data: lo_window_manager type ref to if_wd_window_manager.
data: lo_api_component type ref to if_wd_component.
data: lo_window type ref to if_wd_window.
data: ld_url type string.
lo_api_component = wd_comp_controller->wd_get_api( ).
lo_window_manager = lo_api_component->get_window_manager( ).
ld_url = ''. // ur external sever link here
CALL METHOD lo_window_manager->CREATE_EXTERNAL_WINDOW
EXPORTING URL = ld_url
RECEIVING WINDOW = lo_window.
lo_window->open( ).
I hope u wud be able to create URL now .
regards,
amit
Edited by: amit saini on Oct 13, 2009 11:25 AM -
Labview activex server registration incomplete.
I made an ActiveX server using LabVIEW. The server should communicate with Excel. During installation of the server I register the server: "Server.exe /RegServer". When I try to call the server from Excel/VBA, it responds with "Run-time error '429': ActiveX component can't create object". The server is only recognized by Excel after I have started and stopped the server once.
When investigating the registry, it appears that the difference between registering with /RegServer and just starting and stopping the server are the following registry keys:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ServerName.Application
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ServerName.Application.6
To my opinion the /RegServer commandline option does not do the whole job.
Also /UnRegServer does not remove the above mentioned registry keys.
Is this a bug or just normal behaviour?
Has it been solved in newer LabVIEW versions (I use 6.0.2)?Hi,
I've tried to call a with LabVIEW 7.1.1 created activeX server. This works without any errors. I've attached my code.
As for the register keys, this seems to be the default behaviour of ActiveX, each server has a key without version number e.g.
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ServerName.Application
And one or more with a version number:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ServerName.Application.6
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ServerName.Application.7 Kind regards,
Karsten
Applications Engineer
National InstrumentsMessage Edited by KvZ on 07-27-2005 02:37 PM
Attachments:
ActiveX Server.zip 45 KB -
Starting applications remotely using LabView activeX server
I want to
make a program that enables me to start applications on a remote computer. I
made a program that starts applications using either System exec.vi or .NET and
both methods work find on my local computer. I built it with activeX server
enabled and copied it to my remote computer. After struggling with DCOM
settings and Security settings for a couple of days!! I’m now able to start the
program from my local computer. The thing is that I can’t see either the
LabView program or the started application. When opening the Windows Task
Manager, I can see both the programs under the Process tab so they have
started, but obviously as a “background” process and not as an application.
Does anyone
have an idea on how to start the programs as applications?Why not just use PsExec?
http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx -
Labview ActiveX Server PATH if in developmen​t environmen​t
I'm using Labview 2010 to build an ActiveX server. I can access the executable as an activeX sever from both C and LabVIEW clients. No problems there. But now I want to do some debugging in the development environment while accessing the program via an ActiveX client. In such a situation, how do I change how I access the VI's in the project? I tried using the lvproj in place of the EXE, but this was insufficient. Seems a little convoluted with the changes required to do this debugging.
I think that I already have my answer in that I can not generate a LV event through an ActiveX interface regardless of the type of control, but if you want to play with it, here is a Demo which I derived from the previous link given above. Within the attached ZIP file, read the "Readme.txt" file for instructions. Specifically the program assumes that is located in C:\tmp, since LabVIEW doesn't like relative pathes in both the build and reference node paths, (so they are coded with absolute pathes). If you use C:\tmp, the instruction in Readme.txt should work.
What happens is that you click on the button in the ActiveX Client running in the LV development space.
You can see the control value change shade/color in the ActiveX Server EXE application,
but because no event is generated, the Event Handler does nothing.
I know that I can poll the value of the control and then use the Value (Sgnl) property control to generate an event, but this isn't a very clean solution.
All code in the ZIP file is LabVIEW 2010 release1
Attachments:
LV ActiveX Demo.zip 172 KB -
Call LabVIEW Virtual Instrument through ActiveX Server from C/C++
I am trying to access a VI by C/C++ almost identical to the reference example that can be found on this site for Visual Basic. However, somehow, I am unable to succeed to use the ActiveX Call() function. The program always crashes, whatever I try. Because the Visual Basic version works without any problems, I hope someone can point me the error in the code.
Thanks!
#include "stdafx.h"
#import "LabVIEW.tlb"
#define VIPATH "D:\\Program Files\\National Instruments\\LabVIEW 7.0\\examples\\apps\\freqresp.llb\\Frequency Response.vi"
using namespace LabVIEW;
int _tmain(int argc, _TCHAR* argv[])
// Initialization
HRESULT he = NULL;
he = CoInitialize(NULL);
// Create instance of
labview application engine
_ApplicationPtr pLV;
he = pLV.CreateInstance("LabVIEW.Application");
// Create instance of virtual instrument
VirtualInstrumentPtr pVI;
he = pVI.CreateInstance("LabVIEW.VirtualInstrument"); /* ?not? mandatory */
// Get reference to a VI at location VIPATH
_bstr_t viPath(VIPATH);
_bstr_t password("");
VARIANT_BOOL resvForCall = FALSE;
long options = 0;
pVI = pLV->GetVIReference(viPath,password,resvForCall,options);
// Show front panel
pVI->FPWinOpen = TRUE;
// Call the referenced VI as subVI
_variant_t paramNames[5] = {"Amplitude", "Number of Steps", "Low Frequency", "High Frequency", "Response Graph"};
_variant_t paramVals[5] = {}; /* VT_EMPTY */
/* Fill ParamVals with values from VI */
for (int i = 0; i < 5; ++i) paramVals[i] = pVI->GetControlValue(paramNames[i].bstrVal);
/* Call VI -> !!! CRASH !!! :-( */
pVI->Call(paramNames,paramVals);
// Release references and close application
pLV->AutomaticC
lose = TRUE;
pVI.Release();
pLV.Release();
CoUninitialize();
return 0;This may not be the easiest way. Although i have not used _variant_t. But it seems like your VARIANT type is VT_EMPTY for everything. You need to build up an array of variants with correct type, that matches the type of control you are assigning data to like VT_INT for int numeric, VT_BSTR for string control etc
VARIANT paramNamesVarArg, paramValuesVarArg;
SAFEARRAY *paramNames, *paramValues;
::VariantInit(¶mNamesVarArg);
paramNamesVarArg.vt = VT_ARRAY | VT_BYREF | VT_BSTR;
// create safearray of strings
SAFEARRAYBOUND rgsabound[1];
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = 1;
paramNames = SafeArrayCreate(VT_BSTR, 1, rgsabound);
paramNamesVarArg.pparray = ¶mNames;
long index = 0;
_bstr_t paramName = "Numeric";
BSTR *bstrVal;
retVal = SafeArrayPtrOfIndex(paramNames, &index, (void **)&bstrVal);
*bstrVal = paramName.copy();
//do the same method for paramValuesVarArg
::VariantInit(¶mValuesVarArg);
paramValuesVarArg.vt = VT_ARRAY | VT_BYREF | VT_I4;
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = 1;
paramValues = SafeArrayCreate(VT_VARIANT, 1, rgsabound);
paramValuesVarArg.pparray = ¶mValues;
VARIANT *dispVarVal;
VARIANT tempVar;
tempVar.vt = VT_I4;
retVal = SafeArrayPtrOfIndex(paramValues, &index, (void **)&dispVarVal);
*dispVarVal = tempVar;
viPtr->Call(¶mNamesVarArg, ¶mValuesVarArg);
Hope it helps.
A Rafiq -
Getting clusters from LabVIEW ActiveX Server with Excel/VBA
Hello,
my colleague and I are trying to control a LV from Excel (VBA) by ActiveX.
I.E.:
We do something like :
Set LV = createObject("LabVIEW.Application")
Set VI = LV.GetVIReference("Path_to_VI")
ParamNames(0) = "Input1"
ParamNames(1) = "Input2"
ParamNames(2) = "Output"
ParamValues(0) = 1
ParamValues(1) = 3.1415
Call VI.Call(ParamNames,ParamValues)
msgbox("output =" & ParamVals(2))
This works perfectly for simple data types (int, double, float, string, etc )
Now we need to transfer more complex structures, which are originaly LV-clusters.
But we did not find any clue on how do that (especially receive clusters) in the help or on the internet.
Is there any chance to succeed ???
TIA,
ThomasActually, working with clusters is really really easy. Through the magic of - well something - a cluster in LV comes out in the VBA environment as an array of variants. There was an activex example that shipped with V7.1 that showed this very thing. I couldn't find them in V8 so here is the 7.1 stuff.
Check out the macros in the Excel spreadsheet... This show running the VI in the development environment, but if this looks interesting I can fill you in on how to make it work in an executable.
Mike...
Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion
"... after all, He's not a tame lion..."
Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps
Attachments:
freqresp.xls 49 KB
Frequency Response.llb 155 KB -
Calling foreign EJB server from Weblogic
Hi,
I'm trying to invoke an EJB hosted in an old PowerTier EJB Container from an 8.1 SP5 hosted EJB, and I'm running in to problems. (PowerTier is based on the JBroker ORB)
So far the only way I can get it to work is by replacing Weblogic's ORB implementation with the JBroker one:
-Djavax.rmi.CORBA.StubClass=com.sssw.jbroker.rmi.StubDelegate
-Djavax.rmi.CORBA.UtilClass=com.sssw.jbroker.rmi.UtilDelegate
-Djavax.rmi.CORBA.PortableRemoteObjectClass=com.sssw.jbroker.rmi.PortableRemoteObjectDelegate
But I'd like to avoid doing this if possible.
So I'd like to get this to work using the WL RMI-IIOP implementation to integrate with the PowerTier/JBroker server.
After looking at : http://forums.bea.com/bea/message.jspa?messageID=202437541&tstart=0
I tried the following:
Properties config = new Properties();
config.setProperty(
Context.PROVIDER_URL, "<b>iiop</b>://xxx.xxx.xxxxx.xxx:389/cn=Instance1,ou=Development,cn=Xxxx%20Xxxxxxx%20Xxxxx,ou=Components,cn=Xxxxxx%20Xxxx,ou=Applications,o=xxxxxxxx,c=uk");
InitialContext context = new InitialContext(config);
URL changed to protect the innocent - but format maintained.
When the server executes this I get the following exception:
javax.naming.InvalidNameException: url does not contain a port
at weblogic.corba.j2ee.naming.NameParser.parseURL(NameParser.java:419)
at weblogic.corba.j2ee.naming.ORBHelper.parseURL(ORBHelper.java:533)
at weblogic.corba.j2ee.naming.ORBHelper.getORBReference(ORBHelper.java:440)
at weblogic.corba.j2ee.naming.InitialContextFactoryImpl.getInitialContext(InitialContextFactoryImpl.java:97)
at weblogic.corba.j2ee.naming.InitialContextFactoryImpl.getInitialContext(InitialContextFactoryImpl.java:42)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:135)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
at javax.naming.InitialContext.init(InitialContext.java:219)
at javax.naming.InitialContext.<init>(InitialContext.java:195)
Any idea what is causing this exception? If I replace the '%20' with a normal spaces it makes no difference.
Am I going about this the right way?
Thanks!Getting a bit closer now.
The Object retreived from LDAP was a javax.naming.Reference - which contains the IOR for the Home interface.
// Get IOR from LDAP
InitialContext context;
Hashtable config = new Hashtable();
config.put(Context.PROVIDER_URL,"ldap://<host>:389/");
config.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
context = new InitialContext(config);
Reference reference = (Reference)context.lookup("<path to home>");
// Get IOR from reference
String ior = "" + reference.get(0).getContent();
// Get WLS ORB
ORB orb = (ORB)new InitialContext().lookup("java:comp/ORB");
Object object = orb.string_to_object(ior);
FooHome home = (FooHome)PortableRemoteObject.narrow(object, FooHome.class);
Foo foo = home.create();
// Everything works fine up to here.
foo.invokeMethod(); // <-- This fails with the following exception :
java.rmi.RemoteException: ; nested exception is:
org.omg.CORBA.BAD_OPERATION: vmcid: 0x0 minor code: 0 completed: No
at weblogic.iiop.OutboundRequestImpl.sendReceive(OutboundRequestImpl.java:197)
at weblogic.iiop.IIOPRemoteRef.invokeInternal(IIOPRemoteRef.java:205)
at weblogic.iiop.IIOPRemoteRef.invoke(IIOPRemoteRef.java:153)
at ztkt.pl.Foo_IIOP_WLStub.invokeMethod(Unknown Source)
at com.xyz.ezs.wl.ejb.PLProxyBean.invoke(PLProxyBean.java:56)
at com.xyz.ezs.wl.ejb.PLProxy_o3b3ao_EOImpl.invoke(PLProxy_o3b3ao_EOImpl.java:45)
at com.xyz.ezs.wl.ejb.PLProxy_o3b3ao_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:492)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:435)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:430)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:35)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
Caused by: org.omg.CORBA.BAD_OPERATION: vmcid: 0x0 minor code: 0 completed: No
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:306)
at java.lang.Class.newInstance(Class.java:259)
at weblogic.iiop.ReplyMessage.getThrowable(ReplyMessage.java:337)
at weblogic.iiop.InboundResponseImpl.getThrowable(InboundResponseImpl.java:62)
at weblogic.iiop.OutboundRequestImpl.sendReceive(OutboundRequestImpl.java:179)
... 15 more
(Method, class and package names changed.)
Has anyone seen this before? Any idea what might be causing it? -
Getting APPSRV_JNDI_LOOKUP_ERROR while calling CAF Ext Serv from WebDynpro
Hi,
Iam developing a Composite application using CAF External Service & Application Service with a Web Dynpro UI wherein all the business logic is developed and invoked as web services. I do not face any problem in generating project code, building, deploying and running the application in my machine. But when I deploy the relevant .ear files to some other machine, I get APPSRV_JNDI_LOOKUP_ERROR and Iam unable to perform any operation which invokes a web service.
Iam only trying to deploy in some other machine the following .ear files available in my machine available at ...\LocalDevelopment\DCs\sap.com\project\... folder :-
sap.com~project.ear
sap.comprojectmetadata.ear
sap.comprojectpermissions.ear
sap.comprojectwebdynpro.ear
The following is the exception trace that I get :-
===========================================================
Message : APPSRV_JNDI_LOOKUP_ERROR
[EXCEPTION]
com.sap.caf.rt.exception.ServiceException: Object not found in lookup of ZWSD__MATERIAL__SAVEDATA.
at com.sap.pxwebservice.utils.HomeFactory.getLocalHome(HomeFactory.java:60)
at com.sap.pxwebservice.appsrv.materialsavedata.MaterialSaveDataBean.getZWSD__MATERIAL__SAVEDATA(MaterialSaveDataBean.java:341)
at com.sap.pxwebservice.appsrv.materialsavedata.MaterialSaveDataBean.MaterialSaveData(MaterialSaveDataBean.java:315)
at com.sap.pxwebservice.appsrv.materialsavedata.MaterialSaveDataLocalLocalObjectImpl0.MaterialSaveData(MaterialSaveDataLocalLocalObjectImpl0.java:103)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
===========================================================
Please let me know :-
1) I find that always one more file called .ear is created under ...\LocalDevelopment\DCs\sap.com\project\webdynpro\_comp
But Iam unable to deploy this because it always throws invalid ear error. If I need to deploy this also, how do I do it ?
2) Is my deployment approach correct ? Is there any other simpler approach ?
3) If I need to deliver the project binaries to a third party how do I package them to ensure that it can be re-deployed at the other end ?
Thanks in advance,
Regards,
RajkumarLooks like a known issue with missing jar files.
Please refer to Oracle support document - [ID 1332553.1]
Maybe you are looking for
-
Firefox process starts but window doesn't open.
All the suddenly when I start Firefox 11 the window doesn't appear but the process will start in task manager. Yesterday morning everything worked well, but when I came home at evening Microsoft Security Essentials wasn't starting it's protection. I
-
I am getting the SQL error mainly when running a planning function, but sometimes when changing layouts. This is the error: <b>Error in SQL Statement: SAPSQL_INVALID_FIELDNAME D8~</b> At the end it will list a fieldname, but can be a different field
-
Report of discounts availed in POs
HI Friends, Somebody pls let me know the Report / Transaction which will give the list of discounts taken in the POs (the POs in which there is value entered for discount-condition type ) Points will be promply given. Thanks in advance.
-
How to retrieve Notes in background that were created by GOS?
Hello all - I have Notes that were created for DIRs in the GUI (CV02N) using Services for Objects (GOS). I need to retrieve these notes in background. Has anybody done this? (I've read Ram Manohar Tiwari's blog Generic object services (GOS) - In Ba
-
Hello, I am trying to figure out how to call a javaScript function from a JSP page that prompts the user to do one of two things. Depending on the selection, I would like to return to the JSP and continue on with the code. What is the best way to do