FMS Admin APIs help
Hi,
I am building an FMS admin application. I have one application at FMS server "ChatManager". Clients (swf) connect to this ChatManager application (FMS) and Chat, video Audio conference. All applications are fine and working perfect.
Now I need to build a admin application, to overview and maintain the chat sessions. In this application, one will view the chats and particular video streams, disconnect the users, send a message to a particular user.
ChatManager : A custom FMS server side application developed by us.
I don't want to write any code in FMS server side application "ChatManager". Just want to implement every functionality by using FMS Admin APIs.
So, can anyone tell me the FMS admin apis for
>> Disconnect a particular user,
>> Call a function at FMS server side application (as defined in "chatManager")
>> Call a function defined at user end (in connected users swf).
>> Send message to a particular user.
>> Access the server side sharedObjects.
Looking forward for your help.
Thanks,
Amit
The admin console uses debug connections to the app instances to read shared object data... that feature doesn't use methods of the admin service to actually fetch the data.
As for invoking an SSAS method via the admin service, I don't know of any way to do it. Is there any particular reason why you can't connect directly to the application to invoke the method?
Similar Messages
-
How to use: getNetStreamStats() Flash Media Server 3.5
actionscript 3 with an example thanks,
my application name is : liveVideo
livefeed name is: livefeedLive
please one example how to make a call for this application
my English is not goodAs of now I will give you example with http and later will try to post AS3 example
Take your example: You are publishing with name "livefeedLive" to application called "liveVideo" (assuming admin/admin as userid/password for Admin)
Run this command in browser: http://<server-ip>:1111/admin/getNetStreams?auser=admin&apswd=admin&appInst= liveVideo/_definst_
This will give you below result: (just a sample result)
<?xml version="1.0" encoding="utf-8" ?>
- <result>
<level>status</level>
<code>NetConnection.Call.Success</code>
<timestamp>11/13/2009 1:27:11 PM</timestamp>
<name>_defaultRoot_:_defaultVHost_:::_0</name>
- <data>
<_0>ABACAAAA</_0>
</data>
</result>
Now use streamid returned make your getNetStreamStats call as follows:
http://10.192.22.82:1111/admin/getNetStreamStats?auser=admin&apswd=admin&appInst=liveVideo /_definst_&streamids=ABACAAAA - you will get result as below: (again sample result)
<?xml version="1.0" encoding="utf-8" ?>
- <result>
<level>status</level>
<code>NetConnection.Call.Success</code>
<timestamp>11/13/2009 1:32:19 PM</timestamp>
- <data>
- <_0>
<name>livefeedLive</name>
<time>11/13/2009 1:26:06 PM</time>
<type>publishing</type>
<client>oAACAAAA</client>
<stream_id>ABACAAAA</stream_id>
<client_type>normal</client_type>
</_0>
</data>
</result>
Will try to post AS3 code soon -
Hi,
i've never had to do this before so i guess i didn't realize that it's this hard, but is true that you can't call the admin api from the server-side?
even from the Client object??
also, i have objects in my cache from two different applications on my server and yet my info.data object in the result is coming back
without any values.
can someone explain how this is supposed to work...below is my code
nc_admin.connect("rtmp://localhost/admin:1111/", "admin", "admin");
onStatus(info){
function onGetCacheStats(){
this.onResult = function(info){
if(info.code == "NetConnection.Call.Success"){
for(var prop in info.data.objects){
trace("data object props: "+ info.data.objects[prop] + " prop: " + prop );
for(var dat in info.data.objects[prop] ){
trace("data pbj value: "+ info.data.objects[prop][dat] + " dat: "+ dat);
}//onGetCacheStats
if(info.code == "NetConnection.Connect.Success"){
this.call("getFileCacheStats", new onGetCacheStats, true);
thanks much!You can try this code (wrote is fast so please check for errors if any)
admin_nc = new NetConnection();
admin_nc.onStatus = function(info) {
if (info.code == "NetConnection.Connect.Success")
admin_nc.call("getServerStats", new Result());
function Result() {
this.onResult = function(info) {
if (info.code == "NetConnection.Call.Success" ){
//your code
admin_nc.connect("rtmp://<serveruri>:1111/admin","admin","admin"); -
Admin api - getLiveStreams showing duplicate streams.
I'm calling the FMS 4.5.2 admin api method getLiveStreams for an application instance but it seems to return a duplicate entry for each stream.
Is this normal behavior or a bug? My results from the call are below. I'm encoding and pushing 4 streams to the server but it shows 8 streams.
<?xml version="1.0" encoding="utf-8" ?>
- <result>
<level>status</level>
<code>NetConnection.Call.Success</code>
<timestamp>8/8/2013 10:39:12 AM</timestamp>
<name>_defaultRoot_:_defaultVHost_:::_0</name>
- <data>
<_0>mbhsstream1</_0>
<_1>mbhsstream2</_1>
<_2>mbhsstream3</_2>
<_3>mbhsstream4</_3>
<_4>mbhsstream1</_4>
<_5>mbhsstream2</_5>
<_6>mbhsstream3</_6>
<_7>mbhsstream4</_7>
</data>
</result>I am not sure how your linked post should help me. I have no problem connecting as an administrator to our own service.
My question is can I play streams through this administrator connection on port 1111, or like now, I have to keep a separate connection to the application in order to play application's streams?
I do NOT want to connect to the application, because I then am forced to become one of its "users", even though I am not - I am an admin. Even though I have implemented roles with my application server side script, whereas users connect with a bunch of parameters, I can connect with another role - as an admin, without parameters (because they do not apply to me since I only use the service for playing streams). Another reason is actually pretty annoying - even though I explicitly specify video sample access permission for both myself and any user that connects (in order to be able to take snapshots of the videos) using the "videoSampleAccess = '/'" expression, occasionally I STILL get security errors. I imagine if I somehow can bypass the security altogether. After all it is our server, and our users know that we need to monitor for unsuitable content. FMS makes it pretty hard to do so with the error listed above. The error is sporadic.
So I will ask again - can I play any stream I want of any application on my server, without connecting to the application instance as a regular user bound to security rules? I need some form of video administration, and I am NOT using Administration console, but a custom admin. application which does more than Admin console does, in particular kick out bad people. -
I am trying to locate an FMS Admin to educate our team on the
full functionality of FMS and validate our installation. I need
someone for about 2 weeks in Louisville, KY. Any ideas on where to
find this person? I'm coming up empty at every turn.Hi Carlos,
1. Call getAppStats() or getInstanceStats() to get the
processID number. It's returned here: result.data.cores.pid.
2. You can use configuration files to assign applications to
core processes in varying ways. But to assign an app to a specific
core process, you have to use the Access plug-in:
http://help.adobe.com/en_US/FlashMediaServer/3.5_Plugin/WS5b3ccc516d4fbf351e63e3d11a0d6624 34-7fed.html#WS47C96BDA-C00C-4205-BFA5-C7EDE9000D13
The above link provides more information, but essentially,
you're using the Administration APIs to monitor QoS, then calling
setValue() in the Access plug-in (in C++) to assign the app to a
core.
For information about using the config files to assign apps
to cores, see:
http://help.adobe.com/en_US/FlashMediaServer/3.5_AdminGuide/WS5b3ccc516d4fbf351e63e3d119f2 925e64-7ff0.html#WS5b3ccc516d4fbf351e63e3d119f2926bcf-7dca
Hope that helps,
Jody -
Hi Everyone,
I am having some issues accessing the methods in the datasource.cfc in the adminAPI.
I can successfully load the administrator CFC and am told that I have successsfuly logged in;
But when I try to subsequently load the datasource.cfc I get an error that the current user is unable to access the method.
/* Create an Admin API object and call the login method */
var local = {};
local.adminObj = createObject("component", "cfide.adminapi.administrator");
/* Enter your password for the CF Admin */
/* if you dump this - TRUE is returned */
local.adminObj.login(adminPassword="my_admin_user_password");
/* Create an object of datasource component */
local.dsnObj = createObject("component", "cfide.adminapi.datasource");
writeDump(local.dsnObj.getDataSources());
I tried creating separate admin users and passwords - yhinking that perhaps a revent hotfix had stopped the "admin" user from being allowed to use the adminAPI - but changing to a new adminuser yielded the same results.
I could login to the admin API with the new username and passsword - but could not access the datasource.cfc after that.
Here is the debug output from the error...
The current user is not authorized to invoke this method.
The error occurred in accessmanager.cfc: line 48
Called from datasource.cfc: line 52
Called from C:/inetpub/wwwroot/projectDir/trunk/Application.cfc: line 155
Called from C:/inetpub/wwwroot/projectDir/trunk/Application.cfc: line 52
Called from C:/inetpub/wwwroot/projectDir/trunk/Application.cfc: line 45
Called from C:/inetpub/wwwroot/projectDir/trunk/Application.cfc: line 1
-1 : Unable to display error's location in a CFML template.
Resources:
Check the ColdFusion documentation to verify that you are using the correct syntax.
Search the Knowledge Base to find a solution to your problem.
Browser
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31
Remote Address
127.0.0.1
Referrer
Date/Time
22-Apr-13 01:09 PM
Stack Trace
at cfaccessmanager2ecfc974154242$funcCHECKADMINROLES.runFunction(E:/cf10_final/cfusion/wwwro ot/CFIDE/adminapi/accessmanager.cfc:48) at cfdatasource2ecfc1679861966$funcGETDATASOURCES.runFunction(E:/cf10_final/cfusion/wwwroot/ CFIDE/adminapi/datasource.cfc:52) at cfApplication2ecfc498167235$funcPREREQUISITESTART.runFunction(C:/inetpub/wwwroot/projectD ir/trunk/Application.cfc:155) at cfApplication2ecfc498167235$funcINIT.runFunction(C:/inetpub/wwwroot/projectDir/trunk/Appl ication.cfc:52) at cfApplication2ecfc498167235._factor5(C:/inetpub/wwwroot/projectDir/trunk/Application.cfc: 45) at cfApplication2ecfc498167235.runPage(C:/inetpub/wwwroot/projectDir/trunk/Application.cfc:1 )
coldfusion.runtime.CustomException: The current user is not authorized to invoke this method. at coldfusion.tagext.lang.ThrowTag.doStartTag(ThrowTag.java:142) at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2799) at cfaccessmanager2ecfc974154242$funcCHECKADMINROLES.runFunction(E:\cf10_final\cfusion\wwwroot\CFIDE\adminapi\accessmanager.cfc:48) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472) at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:655) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:444) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:414) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2432) at cfdatasource2ecfc1679861966$funcGETDATASOURCES.runFunction(E:\cf10_final\cfusion\wwwroot\CFIDE\adminapi\datasource.cfc:52) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472) at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:655) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:444) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:414) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2432) at cfApplication2ecfc498167235$funcPREREQUISITESTART.runFunction(C:\inetpub\wwwroot\projectDir\trunk\Application.cfc:155) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220) at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2659) at cfApplication2ecfc498167235$funcINIT.runFunction(C:\inetpub\wwwroot\projectDir\trunk\Application.cfc:52) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220) at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2659) at cfApplication2ecfc498167235._factor5(C:\inetpub\wwwroot\projectDir\trunk\Application.cfc:45) at cfApplication2ecfc498167235.runPage(C:\inetpub\wwwroot\projectDir\trunk\Application.cfc:1) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:244) at coldfusion.runtime.TemplateProxyFactory.resolveComponentHelper(TemplateProxyFactory.java:538) at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:234) at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:159) at coldfusion.runtime.TemplateProxyFactory.resolveFile(TemplateProxyFactory.java:120) at coldfusion.cfc.CFCProxy.<init>(CFCProxy.java:138) at coldfusion.cfc.CFCProxy.<init>(CFCProxy.java:84) at coldfusion.runtime.AppEventInvoker.<init>(AppEventInvoker.java:64) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:232) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:112) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94) at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:79) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46) at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62) at coldfusion.CfmServlet.service(CfmServlet.java:219) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:414) at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:204) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662)
And here is the listed exceptions, beneath the stack trace;
13:09:56.056 - cfadminapiSecurityError Exception - in E:/cf10_final/cfusion/wwwroot/CFIDE/adminapi/accessmanager.cfc : line 48
The current user is not authorized to invoke this method.
13:09:56.056 - cfadminapiSecurityError Exception - in E:/cf10_final/cfusion/wwwroot/CFIDE/adminapi/accessmanager.cfc : line 48
The current user is not authorized to invoke this method.
13:09:56.056 - java.io.FileNotFoundException - in C:/ColdFusion10/cfusion/wwwroot/WEB-INF/exception/errorcontext.cfm : line 44
E:/cf10_final/cfusion/wwwroot/CFIDE/adminapi/accessmanager.cfc (The system cannot find the path specified)
This perspn seems to be having the same issue;
http://forums.adobe.com/message/5051892
and I agree I don't have "E" drive either!I've found a solution to my plight - I don't know if it'll work for you or help you try something that MAY fix it.
I use a common code set which includes the Application.cfc from a CF Mapping - So, in the application.cfc in the actual website I do this:-
<cfinclude template="/UberDirectory/Application.cfc">
Then, in the /UberDirectory/Application.cfc, I was initialising a CFC which checks if the datasource was created for the website. The datasource checking code attempts to log into the Admin API and check & create if necessary the datasource.
This has previously worked without fail for me - But in this instance it failed!! I was doing two things wrong - Firstly, the CFC should only be called in the Application.cfc in the onRequestStart section as the Application had to be initialised first - This is maybe because I've invoked the application.cfc in a "non-standard" manner.
Secondly, once I'd moved the CFC invocation into oNRequestStart I saw the following error:-
The string COOKIE.CFAUTHORIZATION_uber-directory is not a valid ColdFusion variable name.
I had this as the app name .... <cfset this.name = 'uber-directory'>
Changedthe dash to an underscore and I was away and could once again check the datasources
Hope it helps
Martin -
Where can I find Consolidator Admin API samples ?
I want to use Consolidator Admin API and read in the Docs the following sentence:
The Java source files samples_o8.java and samples_08ex.java contain samples that demonstrate the use of the Consolidator API.
Can anybody tell me where the are located ?I am knew to the Oracle world, and I am strugling with the very scanty, and often misleading or inaccurate documentation. So I understnd your frustration.
Recently I have posted some sample code, and statements on the OracleLite forum under the name Thomas G. Matney, that should be of help to you. The code is not bullet proof yet, but it is improving each day as I discover how the ConsolidatorManager, and ResourceManager functions work the hard way, by trial and error. It sure woul be nice if the documnetation was not so laconic.
Good luck. I hope the code I have posted helps. Look first at the code at the download site http://Yggdrasill.cfr.msstate.edu:7778/SyncProblem.htm. Also look for my statement that the MGP must be running, I think, for replication to work correctly.
I should have a significantly improved version of my Publish.java code in a few daya. I am also working an Unpublish.java program to programatically delete a publication created by the Publish.java program. The Unpublish.java code will be available next week (September 3) after I return to Mississippi from Utah.
I hope the code helps. Let me know if it does. The publication wizard is confusing, and does not work for me.
The download also contains an Embedded VC++ program for initiating replication from a Windows CE device.
Thomas G. Matney
[email protected]
(662)325-2791 -
Is there a reference of MDM ADMIN APIs
Hello.
I'm looking for the documents and HTML references of MDM ADMIN APIs
to understand mdm-admin.jar, mdm-common.jar, mdm-core.jar, mdm-protocol.jar.
Regards.
Koji.Hi ,
Have a look on this weblog .
/people/andreas.seifried/blog/2006/04/11/mdm-java-admin-api-remote-control-for-mdm
or download from here
https://websmp209.sap-ag.de/~sapidb/011000358700003071272006E.ZIP
Hope this helps
- Annika . -
Admin api - correct url syntax to getUsers for an event instance.
I'm trying to use the admin api to call the function getUsers() and I'm not sure of the correct URL syntax. I want to return the number of users currently connected to an event instance. Could someone provide an example of what the URL connection string would look like?
I tried the following syntax
http://localhost:1111/admin/getUsers?auser=USER&apswd=PASSWORD&appInst=livepkgr/_definst_/ myEvent
but it returns this error message.
<?xml version="1.0" encoding="UTF-8"?>
-<result>
<level>error</level>
<code>NetConnection.Admin.CommandFailed</code>
<timestamp>10/26/2012 8:06:23 AM</timestamp>
</result>
>>>>>>>>>>>>>>>>>>>>>>>>
I can successfully use the ping command: http://localhost:1111/admin/ping?auser=USER&apswd=PASSWORD
<?xml version="1.0" encoding="UTF-8"?>
-<result>
<level>status</level>
<code>NetConnection.Call.Success</code>
<timestamp>10/26/2012 8:12:51 AM</timestamp>
</result>
In my FMS.ini file I do have USERS.HTTPCOMMAND_ALLOW = true
In my USERS.xml file I have
<HTTPCommands>
<Enable>${USERS.HTTPCOMMAND_ALLOW}</Enable>
<Allow>ping,getUsers,getUserStats,getServerStats</Allow>
<Deny></Deny>
<Order>Deny,Allow</Order>
</HTTPCommands>
Thanks!I found the problem. I wasn't putting quotes around the application/instance name value.
http://localhost:1111/admin/getUsers?auser=USER&apswd=PASSWORD&appInst ="livepkgr/_definst_""
Did the trick. Question though will this identify the number of client connections over http in addition to rtmp?
Thanks Again! -
Logging settings via CF Admin API
G'day
I've never needed to use the CF Administrator API before
today. Strange
but true.
So I'm taking a look at it. The implementation seems
incomplete, unless
I'm missing something (entirely likely: the docs are a bit
light-weight).
Is there any way to access the functionality of the "Log
Files" page via
the API?
Also, is there any way of persisting the authenticated
administrator object
(CFIDE.adminapi.administrator), rather than having to
recreate it each... I
presume... session? I'd like to have the authentication done
once at
application start-up, then persisted for subsequent usage by
Admin
API-calling code.
I'm tying to avoid storing the pwd in a template, and the
nature of what I
want to do is such that I cannot have someone enter the pwd
every time I
need the code to run.
I was kind of expecting to ceeate an authentication object
that I then pass
to methods needing authentication. Not having it session
based (which
seems wrong for API-driven access to the Administrator).
Basically what I'm trying to do is to have a scheduled task
archive a log
file (as per pressing the "Archive log file" button on the
logfile listing)
should certain circumstances occur. I could mess around with
CFFILE and
what not and DIY easily enough, but I was kind of expecting
not to have to
reinvent the wheel.
Any guidance, thoughts or observations welcomed.
Cheers.
AdamHi,
If it were me, I'd write a remote proxy CFC that marshals
calls to the admin API. This way you could easily add a security
layer to this proxy CFC.
Although the API way is probably cleanest, from an admin
point of view, you might prefer to work with exporting the
configuration XML files?
This could avoid a) writing the AIR app and b) tracking when
a remote service isn't available to call the CFIDE API? This could
cause you major headaches!
Good luck.
D -
Creating sandboxes with the admin api
I'm trying to write some code that creates sandboxes through
the admin api. For these sandboxes, I want to only enable a
specific set of functions. Unfortunately, when you create a sandbox
with getSecuritySandboxes, it enables all functions by default. I
therefore need to disable all the securable functions before
enabling the ones I trust. I've run into two problems in doing
this, and wondered if anyone had any advice.
1) The api provides a function called
getSecurableCFFunctions, which is meant to return all the functions
that can be secured. Unfortunately, the function list returned by
this function is not complete - it is missing createobject(com),
createobject(corba), createobject(java), createobject(webservice),
getgatewayhelper and sendgatewaymessage. There's no way of finding
out the enabled functions for a sandbox, so I've currently had to
resort to disabling all the functions returned by
getSecurableCFFunctions and then adding in the ones that I know are
missing. This approach is likely to be broken when future releases
of CF add new securable functions.
2) I use setDisabledCFFunction to disable functions, but can
find no way of disabling createobject(com), createobject(corba),
createobject(java) or createobject(webservice) with this function.
When I try, it throws an exception with this message: "This
function can not be added to the restricted function list.". These
functions are in the function list in the administrator, and I can
add them there. Is there any way of securing them through the api?
Any advice appreciated!
Thanks,
MaxSet up a "template" sandbox that has the permissions you
want, say E:\template. Then I think this will work:
obSandbox =
createObject("component","cfide.adminapi.security");
arDefaultSandbox = obSandbox.getSecuritySandboxes (
"E:\template" );
obSandbox.setSecuritySandbox ( directory = SandboxDirectory,
sandbox = arDefaultSandbox["E:\template"] ); -
I have just downloaded Buddy API for Director 11 (windows)
and it is not working for me. I have downloaded the file and place
'Buddy API Help.chm', 'Buddy API Xtra.x32' and 'Read me.txt into
'C:\Program Files\Adobe\Adobe Director 11\Configuration\Xtras'. I
have also added #namePPC:"Buddy API Xtra", #nameW32:"Buddy API
Xtra.x32" to the bottom of the xtrainfo.txt file.
I made a new project and named it 'test.dir' and saved this
in a filder called 'test' on the desktop. I placed one button on a
frame and added the code:
'on mouseUp me
baOpenFile( the moviePath & "test.txt" , "normal" )
end
I created a text file and named it 'test.txt' and saved this
into the test folder on the desktop.
I then saved a projector of the project into the same folder.
When I click on the button, nothing happens???? WHAT AM I
DOING WRONG?????In the Modify, Movies, Xtras list, it will likely be called
'Buddy API
Xtra'.
When you say that you push the button and "nothing happens".
Do you
mean that literally? Or do you get an error message of some
sort? If
you have not added BuddyAPI into the projector, you should
get an error
stating that baOpenFile is not available (or perhaps a less
useful
"script error").
If you are not even getting that, then I assume you are using
a
#flashComponent button and you need to go into the Property
Inspector's
Flash Component tab and change the 'eventPassMode' to
#passAlways in
order to make the button work. -
hi ,
i want to search api help for oracle.adf.view.faces.component.core.data.CoreTable.
where can i get that>
i want to search api help for oracle.adf.view.faces.component.core.data.CoreTable.
where can i get that
>
Not here.
This is the APEX forum.
Possibly you want {forum:id=83} -
Accessing the Admin API via Linux (and hopefully Python)
I have been looking through the available documentation and past forum
entries but I see nothing really on point.
It is possible to have a complete GW system on Linux, from server to
client. So if it is possible to administer a GW system from Linux using
Console One, it should be possible to access the API from Linux.
Can anyone point me towards the appropriate documentaion? Thanks
BobBob Brandt wrote:
> Michael Bell wrote:
>> Yes, but there is no admin API exposed for Linux. Period.
>>
>> SOAP can do message store or address book related stuff. And some client
>> option stuff. It cannot create/delete/rename users, or do most things
>> Admin API (Win32 only) can do.
>
> That is very disappointing. So even though I can have a completely
> non-M$ system, pride myself on not sending a cent to Redmond; Novell is
> forcing me to use their competitor's (M$) inferior OS. Even the GW API
> Gateway is not really supported anymore!
>
> Thats seems stupid and udderly backwards, in other words typically Novell!
>
> Bob
All a matter of resources, Bob. They've had an admin api under
development for years, just didn't have time to make it ready for Bonsai.
You are correct, however you must have a win32 box (or try wine, but I
doubt that's worth it). One friend of mine then wrappered the whole
thing in a SOAP service, so he could mostly avoid thinking about windows. -
Forms API help/examples - where can I find any?
Where can I find Forms 6i C API help or examples? It seems to be very difficult to find examples of how to use many of the functions or to figure out why they may not be working. I am experiencing many problems and would like to know where I can go to find answers.
I think it's an amazing move on Oracle's part to have exposed this type of API, but it seems rather silly not to have any public support for it.
Thanks,
Matt.Thanks,
I have seen both that application and document before. The application doesn't do much for you and the documentation is sparse.. I ended up digging through all of the C header files in the api directory and figured everything out from there. It took quite some time to do, but seeing as there are no examples other than those in the pdf that you mentioned, there was no other way.
Matt.
Maybe you are looking for
-
Printing an ABAP report does not work
I am starting to learn ABAP programming, i have a simple report: REPORT Z_ABAP. NEW-PAGE PRINT ON IMMEDIATELY `X'. WRITE: /'Test printing'. FORMAT COLOR OFF INTENSIFIED OFF. WRITE: /. WRITE: 'Hello World' NO-GAP. WRITE: /. I defined an output device
-
A family member has Parkinson's disease so we bought an iPad. Any tips?
We bought our aunt an iPad the otherday and tought her how to use it for the first time. 24 hours later, she is expressing difficulty using it, especially with Siri and audio support. She is in a care center and contributes the audio difficulty to
-
Only SSL in web AS 6.40
Hi everyone! How do I prohibit access to the webAS6.40 through any other socket than SSL? I.e. I do only want users to access my webAS through port 5<instanceNo>001 ? I have looked in the HTTP Provider and updated the value from Ports = (Port:58100,T
-
General conditions of purchase
Hello all! We have the requirement to enter the general conditions of purchase, on which the supplier and our company agreed, anywhere within the vendor master data. But this should not be just a textfield. It's necessary to make reports on that. Any
-
In my email auto fill it lists addresses I haven't used in 2 years as "recent others". What causes this, the contact information for these people was deleted some time ago.