Publishing Methodology Description

Trying to troubleshoot a problem where we cannot publish (or upload) to a slide library.  It returns that either the site doesn't exist or I don't have permissions to it.  I know it's a dummy error, so I'm trying to find out what the Publishing
mechanism is documented at to see what is different about it from the browser logins that is causing it to fail.  Does anyone have any information on the difference between a regular upload and publishing from Word/Powerpoint?
Thanks in advance!

Hello,
Try to use "LinkFieldValue" class which will return properties of Publishing Hyperlink column.
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.fields.linkfieldvalue%28v=office.14%29.aspx
Hemendra:Yesterday is just a memory,Tomorrow we may never see
Please remember to mark the replies as answers if they help and unmark them if they provide no help

Similar Messages

  • Error activating publishing feature

    Hello... im having a problem while i try to activate the publishing feature, i get this error
    The field {51d39414-03dc-4bd0-b777-d3e20cb350f7} defined in feature {aebc918d-b20f-4a11-a1db-9ed84d79c87e} is founded in site collection or in a subsite
    I maked a program to read all the guid of fields in the sites and list,, and dont found {51d39414-03dc-4bd0-b777-d3e20cb350f7}, thanks in advance

    Hi Diego,
    If you have already activated the Site Collection feature SharePoint Server Publishing Infrastructure prior to activating the Site Feature SharePoint Server Publishing then run: stsadm -o activatefeature -id
    AEBC918D-B20F-4a11-A1DB-9ED84D79C87E -url
    http://YourWebApp.com -force.. This will force the feature to be installed..
    The field PublishingStartDate is an element of the feature Asset Library 
                <Field ID="{51d39414-03dc-4bd0-b777-d3e20cb350f7}"
                    Name="PublishingStartDate"
                    StaticName="PublishingStartDate"
                    SourceID="http://schemas.microsoft.com/sharepoint/v3"
                    Group="$Resources:cmscore,group_publishingcolumns;"
                    DisplayName="$Resources:cmscore,column_startdate_displayname;"
                    Type="PublishingScheduleStartDateFieldType"
                    Required="FALSE" CanToggleHidden="TRUE"
                    Sealed="TRUE"
                    StorageTZ="UTC">
                </Field>
    The Asset Library is an element of the the feature Publishing Resources and a prequisite of the feature Publishing Site
    <Feature  Id="AEBC918D-B20F-4a11-A1DB-9ED84D79C87E"
              Title="Publishing Resources"
              Description="Enable Publishing for site collection."
              Version="14.0.3.0"
              Scope="Site"
              Hidden="TRUE"
              DefaultResourceFile="core"
              ReceiverAssembly="Microsoft.SharePoint.Publishing, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
              ReceiverClass="Microsoft.SharePoint.Publishing.PublishingResourcesFeatureHandler"
              xmlns="http://schemas.microsoft.com/sharepoint/">
    -Ivan
    Ivan Sanders My LinkedIn Profile,
    My Blog,
    @iasanders.

  • IPhoto not publishing titles to Facebook

    Running Mavricks 10.9 (13A603) and iPhoto 9.5 (90237)
    When I try to pubish an album of photos taken in October to Facebook from iPhoto the following happens.  The photos publish to FB.  But instead of the title of the photo (from iPhoto) pubishing to FB, it publishes the description instead.  i.e. Ray and Chris take a walk  I get Men's Retreat 2013.

    http://support.apple.com/kb/HT5885
    Not that it helps much, but it is documented...

  • Any way to control FMLE publishing?

    Is there any way to stop FMLE (3.0.1) from publishing a stream?
    I have seen code before where you send "NetStream.Publish.BadName" back to onFCPublish - example:
    Client.prototype.FCPublish = function( streamname )
       // Reject the stream
       this.call("onFCPublish", null, {code:"NetStream.Publish.BadName", description:streamname});
    The encoding log on my FMLE reads:
    Mon Mar 15 2010 14:33:09 : Primary - Network Command: onFCPublish
    Mon Mar 15 2010 14:33:09 : Primary - Stream[testStream] Status: Success
    Mon Mar 15 2010 14:33:10 : Primary - Stream[testStream] Status: NetStream.Publish.Start
    Mon Mar 15 2010 14:33:10 : Session Started
    Mon Mar 15 2010 14:33:12 : Video Encoding Started
    Mon Mar 15 2010 14:33:12 : Audio Encoding Started
    I can see where onFCPublish was called, but the stream still published.
    Any thoughts?

    What is your use case at first place? What you are seeing is expected behaviour. So you can let me know your use case and then we can go ahead and try to find solution for it.

  • Error when publishing WF containing custom code activity to workflow manager 1.0

    Hello:
    Workflow manager sounds every exciting to me, I am trying it out to see if it will work for me.
    I downloaded "CustomCodeActivitySample" of workflow manager 1.0, and when I ran, I got following exception:
    Workflow XAML failed validation due to the following errors:
    Cannot create unknown type '{clr-namespace:HashActivity;assembly=HashActivity}ComputeHash'. HTTP headers received from the server - ActivityId: 2a1e4d9d-90bd-4f59-a1fc-d3673194dd54. NodeId: NDL0714. Scope: /CustomCodeActivitiesSample. Client ActivityId : 235d66c1-bbe6-4982-8242-833a6bc1f6b1.
    more details:
    Microsoft.Workflow.Client.ActivityValidationException was unhandled
      HResult=-2146233088
      Message=Workflow XAML failed validation due to the following errors:
    Cannot create unknown type '{clr-namespace:HashActivity;assembly=HashActivity}ComputeHash'. HTTP headers received from the server - ActivityId: efe2c3cb-e6fd-4124-88a1-6c8e72aecb06. NodeId: NDL0714. Scope: /CustomCodeActivitiesSample. Client ActivityId : 73d7b773-be53-4a7b-b2d8-ba687e60a4f4.
      Source=Microsoft.Workflow.Client
      ActivityName=ProcessMovies
      ScopePath=/CustomCodeActivitiesSample
      StackTrace:
           at Microsoft.Workflow.Client.ClientHelpers.SendRequest[T](HttpWebRequest request, T content)
           at Microsoft.Workflow.Client.WorkflowManagementClient.SendRequest[T](HttpWebRequest request, T content)
           at Microsoft.Workflow.Client.ActivityManager.Publish(ActivityDescription description, Boolean overwriteXClassName, Boolean terminateDependentInstances)
           at Microsoft.Workflow.Client.ActivityManager.Publish(ActivityDescription description)
           at Microsoft.Workflow.Samples.Common.WorkflowManagementClientExtensions.PublishWorkflow(WorkflowManagementClient client, String workflowName, String xamlFilePath, Collection`1 externalVariables, IDictionary`2 configValues,
    SubscriptionFilter activationFilter) in c:\WFM_C\C\Microsoft.Workflow.Samples.Common\WorkflowManagementClientExtensions.cs:line 45
           at Microsoft.Workflow.Samples.Common.WorkflowManagementClientExtensions.PublishWorkflow(WorkflowManagementClient client, String workflowName, String xamlFilePath, SubscriptionFilter activationFilter) in c:\WFM_C\C\Microsoft.Workflow.Samples.Common\WorkflowManagementClientExtensions.cs:line
    29
           at CustomCodeActivitySample.Program.Main(String[] args) in c:\WFM_C\C\CustomCodeActivitySample\Program.cs:line 39
           at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
           at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
           at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
           at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
           at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
           at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
           at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           at System.Threading.ThreadHelper.ThreadStart()
      InnerException: System.Net.WebException
           HResult=-2146233079
           Message=The remote server returned an error: (400) Bad Request.
           Source=Microsoft.Workflow.Common
           StackTrace:
                at Microsoft.Workflow.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
                at Microsoft.Workflow.Client.HttpGetResponseAsyncResult`1.End(IAsyncResult result)
                at Microsoft.Workflow.Client.ClientHelpers.SendRequest[T](HttpWebRequest request, T content)
           InnerException:
    Thanks
    ahorse

    Hi
    We had to update following in assemblyinfo.cs file.
    assembly: XmlnsDefinition("wf://workflow.windows.net/$Current/$Activities", "YourProjectNamespace")]
    to 
    assembly: XmlnsDefinition("wf://{WorkflowManagerServerName}:12291/$Current/$Activities", "YourProjectNamespace")]for e.g.assembly: XmlnsDefinition("wf://workflowmanagerserver:12291/$Current/$Activities", "YourProjectNamespace")]
    Only then custom code activity started working. However, this means, when we want to deploy in other environment with different URL, we need to re-build the assembly. 
    Is there any way by which we have this configurable?
    Regards,
    RK
    Radhakrishna

  • Workflow manager IIS site throws a 403 Forbidden error and published workflows throw an error 400 bad request

    Hello All , Request your help on the below issue ,
    We have a single server farm SP 2013 where workflow was working as expected but its broken now , Not sure
    what caused this. Workflow manager is installed alongside Service Bus. Workflow Manager client is installed on the same SP server.
    We are able to create and publish the workflows from SP Designer without errors but when we start the workflow from SharePoint list we get an error " Sorry something went wrong". We have tried creating new workflows but the same problem.
    We receive the below error in event viewer.
    Error processing management request. Method: PUT, RequestUri: http://server URL:12291/$Workflows/89c767d2-82d2-4bd9-8e5e-dcace81d844f, Error: System.ArgumentException: The remote server returned an error: (400) Bad Request. ---> System.Net.WebException:
    The remote server returned an error: (400) Bad Request.
       at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
       at Microsoft.ServiceBus.Messaging.ServiceBusResourceOperations.GetAsyncResult`1.EndGetResponse(GetAsyncResult`1 thisPtr, IAsyncResult ar)
       at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)
       --- End of inner exception stack trace ---
    Server stack trace: 
    Exception rethrown at [0]: 
       at Microsoft.Workflow.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
       at Microsoft.Workflow.Gateway.HttpAsyncResult.End[TAsyncResult](IAsyncResult result)
       at Microsoft.Workflow.Gateway.WorkflowServiceGateway.<>c__DisplayClass6a.<EndCreateOrUpdateWorkflow>b__69()
       at Microsoft.Workflow.Gateway.WorkflowServiceGateway.ExceptionFilter[T](Func`1 body)
       at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
    ULS logs give below error 
    Error 1 - Microsoft.Workflow.Client.InternalServerException: An internal error occured. For more details, please see the server logs. HTTP headers received from the server - ActivityId: ba6e77cb-aaae-41a0-9cc8-1ea817d0045e. NodeId: Servername.
    Scope: /SharePoint/default/bc694777-7bbb-473e-ab2d-20087221a97a/5229793b-31a1-44b1-9b0b-374f38b762fd. Client ActivityId : a6daec9c-7139-7034-b4ee-edeb1f96ec2a. ---> System.Net.WebException: The remote server returned an error: (500) Internal Server Error.
     at Microsoft.Workflow.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)    
     at Microsoft.Workflow.Client.HttpGetResponseAsyncResult`1.End(IAsyncResult result)    
     at Microsoft.Workflow.Client.ClientHelpers.SendRequest[T](HttpWebRequest request, T content)     -
     -- End of inner exception stack trace ---    
     at Microsoft.Workflow.Client.ClientHelpers.SendRequest[T](HttpWebRequest request, T content)    
     at Microsoft.Workflow.Client.WorkflowManagementClient.SendRequest[T](HttpWebRequest request, T content)    
     at Microsoft.Workflow.Client.WorkflowManager.Publish(WorkflowDescription description, Boolean terminateActiveInstances)    
     at Microsoft.SharePoint.WorkflowServices.FabricWorkflowManagementClient.PublishWorkflow(String serviceGroupName, WorkflowDescription workflow)    
     at Microsoft.SharePoint.WorkflowServices.WorkflowProxy.CreateDefinitionSubscription(String subscriptionName, String eventSource, List`1 eventTypes, String definitionName, IDictionary`2 metadata, WorkflowEventContext eventContext) StackTrace: 
     at Microsoft.Office.Server.Native.dll: (sig=35339f9c-8871-4ef1-9118-9c1bd0cb6598|2|microsoft.office.server.native.pdb, offset=131CE)
     at Microsoft.Office.Server.Native.dll: (offset=21B4D)
    Error 2 - Error publishing workflow subscription (republish or retry publish) information: Microsoft.Workflow.Client.InternalServerException: An internal error occured. For more details, please see the server logs. HTTP headers received
    from the server - ActivityId: ba6e77cb-aaae-41a0-9cc8-1ea817d0045e. NodeId:
    ServerName. Scope: /SharePoint/default/bc694777-7bbb-473e-ab2d-20087221a97a/5229793b-31a1-44b1-9b0b-374f38b762fd. Client ActivityId : a6daec9c-7139-7034-b4ee-edeb1f96ec2a. ---> System.Net.WebException: The remote server returned an error: (500)
    Internal Server Error.    
     at Microsoft.Workflow.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)    
     at Microsoft.Workflow.Client.HttpGetResponseAsyncResult`1.End(IAsyncResult result)    
     at Microsoft.Workflow.Client.ClientHelpers.SendRequest[T](HttpWebRequest request, T content)     -
     -- End of inner exception stack trace ---    
     at Microsoft.Workflow.Client.ClientHelpers.SendRequest[T](HttpWebRequest request, T content)    
     at Microsoft.Workflow.Client.WorkflowManagementClient.SendRequest[T](HttpWebRequest request, T content)    
     at Microsoft.Workflow.Client.WorkflowManager.Publish(WorkflowDescription description, Boolean terminateActiveInstances)    
     at Microsoft.SharePoint.WorkflowServices.FabricWorkflowManagementClient.PublishWorkflow(String serviceGroupName, WorkflowDescription workflow)    
     at Microsoft.SharePoint.WorkflowServices.WorkflowProxy.CreateDefinitionSubscription(String subscriptionName, String eventSource, List`1 eventTypes, String definitionName, IDictionary`2 metadata, WorkflowEventContext eventContext)    
     at Microsoft.SharePoint.WorkflowServices.FabricSubscriptionService.<>c__DisplayClass1.<CreateDefinitionSubscription>b__0()    
     at Microsoft.SharePoint.WorkflowServices.WorkflowServiceContextExtensions.InvokeWithEcosystemRetry(WorkflowServicesContext context, EcosystemRequiredMethod method)    
     at Microsoft.SharePoint.WorkflowServices.FabricSubscriptionService.CreateDefinitionSubscription(String subscriptionName, Guid eventSourceId, String eventSource, List`1 eventNames, String definitionName, IDictionary`2 metadata, WorkflowEventContext eventContext)
     at Microsoft.SharePoint.WorkflowServices.WorkflowSubscriptionStorageEventReceiver.ItemUpdating(SPItemEventProperties properties)
    Error3 - Microsoft.Workflow.Client.InternalServerException: An internal error occured. For more details, please see the server logs. HTTP headers received from the server - ActivityId: ba6e77cb-aaae-41a0-9cc8-1ea817d0045e. NodeId: ServerName.
    Scope: /SharePoint/default/bc694777-7bbb-473e-ab2d-20087221a97a/5229793b-31a1-44b1-9b0b-374f38b762fd. Client ActivityId : a6daec9c-7139-7034-b4ee-edeb1f96ec2a. ---> System.Net.WebException: The remote server returned an error: (500) Internal Server Error.
     at  SPRequest.AddOrUpdateItem: UserPrincipalName=i:0).w|s-1-5-21-182846760-3036401646-508972453-351846, AppPrincipalName= ,bstrUrl=http://sharepointsite ,bstrListName={48A21758-9123-48F0-9BDE-9EB632B07BC6} ,bAdd=False ,bSystemUpdate=False ,bPreserveItemVersion=False
    ,bPreserveItemUIVersion=False ,bUpdateNoVersion=False ,pbstrNewDocId=00000000-0000-0000-0000-000000000000 ,bHasNewDocId=False ,bstrVersion=16 ,bCheckOut=False ,bCheckin=False ,bUnRestrictedUpdateInProgress=True ,bMigration=False ,bPublish=False ,bstrFileName=<null>
    Any help appreciated. Thanks in advance.

    Hi,
    As I understand, you encountered the issue when you published a workflow on SharePoint 2013 workflow platform.
    I wonder does it work well before when using 2013 workflow platform? If it works before, did you install any updates or change the configuration to the workflow related settings?
    If this is the first time after you installed workflow manager 2013, then I’d recommend you try re-registering workflow service per the link below and post the result:
    http://technet.microsoft.com/en-us/library/jj663115(v=office.15).aspx
    http://technet.microsoft.com/en-us/library/jj658588(v=office.15).aspx
    From the message you accessed workflow host uri, please make sure the account to wfsetup and wfservice account are both in wfadmins group.
    http://blogs.msdn.com/b/briangre/archive/2013/02/20/least-privilege-configuration-for-windows-azure-workflow-with-sharepoint-2013.aspx
    Regards,
    Rebecca Tu
    TechNet Community Support

  • Problem refering to a custom activity in a SharePoint 2013 workflow

    I have created a few custom activities to handle common tasks in a workflow. The activities are deployed in a separate sandbox solution from the workflows referencing them.
    This has been working fine for a couple of months now, but suddenly I get an error when trying to activate the feature that provisions the workflow that refers to the custom activity (WriteMessage). The error is:
    Error 1
    Error occurred in deployment step 'Activate Features': Microsoft.Workflow.Client.ActivityValidationException: Workflow XAML failed validation due to the following errors:
    Cannot create unknown type '{wf://workflow.windows.net/default/f0b36ec0-d40f-4df8-a99b-39f6dc4854a8/09e1bc2d-1cc8-4cff-ae22-32a52f54b685/$Activities}WriteMessage'. HTTP headers received from the server - ActivityId: ac291077-6536-4c63-b7b0-7701b6d29268. NodeId:
    DKRDSSP15DEV03. Scope: /SharePoint/default/f0b36ec0-d40f-4df8-a99b-39f6dc4854a8/09e1bc2d-1cc8-4cff-ae22-32a52f54b685. Client ActivityId : e9d2bfd0-bb0e-4c28-bf55-8748368feb5b. ---> System.Net.WebException: The remote server returned an error: (400) Bad
    Request.
       at Microsoft.Workflow.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
       at Microsoft.Workflow.Client.HttpGetResponseAsyncResult`1.End(IAsyncResult result)
       at Microsoft.Workflow.Client.ClientHelpers.SendRequest[T](HttpWebRequest request, T content)
       --- End of inner exception stack trace ---
       at Microsoft.Workflow.Client.ClientHelpers.SendRequest[T](HttpWebRequest request, T content)
       at Microsoft.Workflow.Client.WorkflowManagementClient.SendRequest[T](HttpWebRequest request, T content)
       at Microsoft.Workflow.Client.ActivityManager.Publish(ActivityDescription description, Boolean overwriteXClassName, Boolean terminateDependentInstances)
       at Microsoft.SharePoint.WorkflowServices.FabricWorkflowManagementClient.PublishActivity(String serviceGroupName, ActivityDescription activity, Boolean overwriteXClass, Nullable`1 terminateInstances)
       at Microsoft.SharePoint.WorkflowServices.FabricWorkflowDeploymentProvider.PublishActivity(FabricWorkflowManagementClient client, ActivityDescription activityDefinition, String serviceGroupName)
       at Microsoft.SharePoint.WorkflowServices.FabricWorkflowDeploymentProvider.<>c__DisplayClass5.<PublishDefinition>b__4()
       at Microsoft.SharePoint.WorkflowServices.WorkflowServiceContextExtensions.InvokeWithEcosystemRetry(WorkflowServicesContext context, EcosystemRequiredMethod method)
       at Microsoft.SharePoint.WorkflowServices.FabricWorkflowDeploymentProvider.PublishDefinition(WorkflowDefinition workflowDefinition)
       at Microsoft.SharePoint.WorkflowServices.WorkflowDefinitionStorageEventReceiver.PublishDefinition(SPItemEventProperties properties)
    0 0
    Vestas.SP.CMS.AlarmReports
    I have tried creating a simple workflow using the custom activity, by referencing the sandbox solution. This works fine, if I create the simple workflow in a new project and deploys it and activate the workflow feature. However, if I create a similar simple
    workflow in the original solution and omit the original workflows. Then I still get the above error when deploying / activating the workflow feature. 
    How do I clean up my original project so it does not give me this error when deploying and activating the workflow feature?
    best regards
    Lars Kohsel
    Best regards Lars Kohsel

    Hi,
    As the error still occur when you create a simple workflow in the original project, maybe some configurations have been changed in the project.
    You can check with the new created project whether there are some difference configurations in the project.
    There is a similar article for your reference.
    http://blogs.msdn.com/b/cliffgreen/archive/2013/03/11/sharepoint-2013-workflow-deployment-errors.aspx
    What’s more, you can also copy your original project code to the new project, then check whether it works.
    If it works, the we can use the new project instead of the original project.
    Thanks,
    Jason
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Jason Guo
    TechNet Community Support

  • When FMLE stopped,Remote RTMP stream to FMS 4.5 with rtmfp?

    When FMLE stopped,Remote RTMP stream to FMS 4.5 with rtmfp?
    edit  "applications/multicast/main.asc" ?
    HELP ME !!! THANKS!!!
    * File: main.asc
    * The server-side portion of the multicast sample application.
    * This app accepts publish and unpublish requests from FMLE, and republishes
    * the live stream from FMLE into a target Flash Group.
    // General Constants
    // "Constants" representing multicast event types.
    var TYPE_FUSION = 1;
    var TYPE_IP = 2;
    var TYPE_P2P = 3;
    // StreamContext Description, Constants and Functions
    * Type: StreamContext
    * This application tracks the context for live streams published to the server
    * that are being republished into a Flash Group. The StreamContext "type" used
    * for this is just an Object containing the following members:
    *   client         - The encoding/publishing client.
    *   streamName     - The source Stream name as published by the client.
    *   type           - The multicast event type.
    *   groupspec      - The groupspec identifying the Flash Group and capabilities.
    *   address        - IP multicast address (optional for pure P2P events).
    *   netConnection  - A loopback NetConnection used for the mcastNetStream.
    *   mcastNetStream - The NetStream used to republish the source Stream into
    *                    the Flash Group.
    *   netGroup       - An (optional) NetGroup handle for the target Group.
    *                    Only present for Fusion or P2P events.
    *   state          - One of the state constants defined immediately below
    *                    this comment.
    var STATE_INIT            = 0; // Starting state for a StreamContext.
    var STATE_CONNECTING      = 1; // Establishing loop-back connection.
    var STATE_CONNECTED       = 2; // Connection established.
    var STATE_PUBLISH_PENDING = 3; // Attempting to publish.
    var STATE_REPUBLISHING    = 4; // Actively republishing to multicast.
    var STATE_UNPUBLISHING    = 5; // Shutting down multicast republish.
    var STATE_UNPUBLISHED     = 6; // Unpublished successfully.
    var STATE_DISCONNECTING   = 7; // Shutting down loopback connection.
    var STATE_DISCONNECTED    = 8; // Connection shut down. Done.
    * Registers a source Stream published by the specified client, along with the
    * context for the multicast event, as a StreamContext Object.
    * @param client - The Client publishing the stream.
    * @param streamName - The source Stream name.
    * @param params - The parameters resulting from parsing the source Stream's
    *                 query string.
    * @return The new StreamContext Object for the registered Stream.
    function registerStream(client, streamName, params)
        var streamContext = { "client": client,
                              "streamName": streamName,
                              "type": params["fms.multicast.type"],
                              "groupspec": params["fms.multicast.groupspec"] };
    if (params["fms.multicast.interface"])
      streamContext["interfaceAddress"] = params["fms.multicast.interface"];
        if (params["fms.multicast.address"])
            streamContext["address"] = params["fms.multicast.address"],
        streamContext.state = STATE_INIT;
        updateStreamContextLookups(streamContext);
        trace("Registered multicast context for source stream: " + streamName);
        return streamContext;
    * Updates the indexed lookups installed for the passed StreamContext Object
    * with the application.
    * @param streamContext - The StreamContext Object to (re)index.
    function updateStreamContextLookups(streamContext)
        application.streamTable[streamContext.streamName] = streamContext;
        if (streamContext.netConnection)
            application.netConnTable[streamContext.netConnection] = streamContext;
        if (streamContext.mcastNetStream)
            application.mcastNetStreamTable[streamContext.mcastNetStream] = streamContext;
        if (streamContext.netGroup)
            application.netGroupTable[streamContext.netGroup] = streamContext;
    * Provides access to the StreamContext Object for a registered source Stream
    * by name.
    * @param streamName - A registered source Stream name.
    * @return The associated StreamContext Object; undefined if the source Stream
    *         name is not registered.
    function getStreamContextForSourceStream(streamName)
        return application.streamTable[streamName];
    * Provides access to the StreamContext Object for a given server-side
    * NetConnection hosting a multicast NetStream.
    * @param netConnection - A server-side NetConnection.
    * @return The associated StreamContext Object; undefined if the passed
    *         NetConnection is not indexed to a StreamContext.
    function getStreamContextForNetConnection(netConnection)
        return application.netConnTable[netConnection];
    * Provides access to the StreamContext Object for a given multicast NetStream.
    * @param netStream - A multicast NetStream.
    * @return The associated StreamContext Object; undefined if the passed
    *         NetStream is not indexed to a StreamContext.
    function getStreamContextForMulticastNetStream(netStream)
        return application.mcastNetStreamTable[netStream];
    * Provides access to the StreamContext Object for a given NetGroup associated
    * with a multicast NetStream.
    * @param netGroup - A NetGroup.
    * @return The associated StreamContext Object; undefined if the passed
    *         NetGroup is not indexed to a StreamContext.
    function getStreamContextForNetGroup(netGroup)
        return application.netGroupTable[netGroup];
    * Unregisters the StreamContext from the application.
    * @param streamContext - The StreamContext Object to unregister.
    function unregisterStreamContext(streamContext)
        if (streamContext.netConnection)
            delete application.netConnTable[streamContext.netConnection];
        if (streamContext.mcastNetStream)
            delete application.mcastNetStreamTable[streamContext.mcastNetStream];
        if (streamContext.netGroup)
            delete application.netGroupTable[streamContext.netGroup];
        trace("Unregistered multicast context for source stream: " +
              streamContext.streamName);
    // Application callback functions
    * Initializes global StreamContext lookup tables.
    application.onAppStart = function()
        application.streamTable = {};
        application.netConnTable = {};
        application.mcastNetStreamTable = {};
        application.netGroupTable = {};
    * Handles a publish event for the application by validating the request
    * and bridging the published stream into a target Flash Group. Invalid
    * publish requests are ignored and the publishing client's connection
    * is closed.
    * @param client - The publishing client.
    * @param stream - The published stream.
    application.onPublish = function(client, stream)
        //trace("Handling publish request for source stream: " + stream.name);
        var params = parseQueryString(stream.publishQueryString);
        if (!validateStreamParams(params))
            application.disconnect(client);
            return;
        var prevContext = getStreamContextForSourceStream(stream.name);
        if (prevContext)
            forceCloseStreamContext(prevContext);
        // Register source Stream, and kick off the async process that will
        // eventually wire-up the associated multicast NetStream.
        var streamContext = registerStream(client, stream.name, params);
        openMulticastConnection(streamContext);
    * Handles an unpublish event for the application by shutting down
    * any associated multicast NetStream.
    * @param client - The unpublishing client.
    * @param stream - The source stream being unpublished.
    application.onUnpublish = function(client, stream)
        trace("Handling unpublish request for source stream: " + stream.name);
        var streamContext = getStreamContextForSourceStream(stream.name);
        if (streamContext && (streamContext.state <= STATE_REPUBLISHING))
            destroyStreamContext(streamContext);
    // Callback functions for NetConnection and multicast NetStream/NetGroup wiring.
    * First step in setting up a republished multicast NetStream; open the loopback
    * connection it requires.
    * @param streamContext - The StreamContext Object for the publish event.
    function openMulticastConnection(streamContext)
        var nc = new NetConnection();
        nc.onStatus = netConnectionStatusHandler;
        streamContext.netConnection = nc;
        updateStreamContextLookups(streamContext);
        streamContext.state = STATE_CONNECTING;
        nc.connect(resetUriProtocol(streamContext.client.uri, "rtmfp"));
    * Status event handler for the loopback NetConnection used by the multicast
    * NetStream. Advances setup upon successful connection, or triggers or advances
    * tear-down as a result of connection loss or an unpublish and clean shutdown.
    * @param info - The status info Object.
    function netConnectionStatusHandler(info)
        var streamContext = getStreamContextForNetConnection(this);
        trace("Multicast NetConnection Status: " + info.code +
              (streamContext ? ", Source stream: " + streamContext.streamName : ", Not associated with a source stream."));
        if (streamContext)
            switch (info.code)
            case "NetConnection.Connect.Success":
                streamContext.state = STATE_CONNECTED;
                // If event type is Fusion or P2p, wire up a NetGroup for neighbor
                // bootstrapping and maintenance ahead of (re)publishing the stream.
                var type = streamContext.type;
                if (type == TYPE_FUSION || type == TYPE_P2P)
                    initNetGroup(streamContext);
                else
                    initMulticastNetStream(streamContext);
                break;
            case "NetConnection.Connect.Failed":
            case "NetConnection.Connect.Rejected":
            case "NetConnection.Connect.AppShutdown":
                trace("MULTICAST PUBLISH ERROR: Failed to establish server-side NetConnection for use by multicast NetStream. " +
                      "Status code: " + info.code + ", description: " + info.description + ", Source stream: " +
                      streamContext.streamName);
                streamContext.state = STATE_DISCONNECTED;
                destroyStreamContext(streamContext);
                break;
            case "NetConnection.Connect.Closed":
                if (streamContext.state < STATE_DISCONNECTING)
                    trace("MULTICAST PUBLISH ERROR: Unexpected server-side NetConnection close. " +
                         "Status code: " + info.code + ", description: " + info.description + ", Source stream: " +
                         streamContext.streamName);
                streamContext.state = STATE_DISCONNECTED;
                destroyStreamContext(streamContext);
                break;
            default:
                // Ignore.
    * Initializes the multicast NetGroup following a successful connection of its
    * underlying loopback NetConnection. This hook is optional and only runs for
    * event types of Fusion and pure P2P.
    * @param streamContext - The StreamContext Object for the multicast publish.
    function initNetGroup(streamContext)
        var ng = null;
        try
            ng = new NetGroup(streamContext.netConnection, streamContext.groupspec);
        catch (e)
            trace("MULTICAST PUBLISH ERROR: Failed to construct NetGroup. Error: "
                  + e.name + (e.message ? " " + e.message : "") +
                  ", Source stream: " + streamContext.streamName);
            destroyStreamContext(streamContext);
            return;
        ng.onStatus = netGroupStatusHandler;
        streamContext.netGroup = ng;
        updateStreamContextLookups(streamContext);
    * Status event handler for the multicast NetGroup. Advances to initializing the
    * multicast NetStream upon successful NetGroup connect. Otherwise, triggers
    * shut down.
    * @param info - The status info Object.
    function netGroupStatusHandler(info)
        var streamContext = getStreamContextForNetGroup(this);
        trace("Multicast NetGroup Status: " + info.code +
              (streamContext ? ", Source stream: " + streamContext.streamName : ", Not associated with a source stream."))
        if (streamContext)
            switch (info.code)
            case "NetGroup.Connect.Success":
                initMulticastNetStream(streamContext);
                break;
            case "NetGroup.Connect.Failed":
            case "NetGroup.Connect.Rejected":
                trace("MULTICAST PUBLISH ERROR: Failed to connect multicast NetGroup. " +
                      "Status code: " + info.code + ", description: " + info.description +
                      ", Source stream: " + streamContext.streamName);
                destroyStreamContext(streamContext);
                break;
            case "NetGroup.MulticastStream.UnpublishNotify":
                // At this point, multicast publishers will be notified;
                // continue shut down.
                destroyStreamContext(streamContext);
                break;
            default:
                // Ignore.
    * Initializes the multicast NetStream following a successful connection of its
    * underlying loopback NetConnection.
    * @param streamContext - The StreamContext Object for the multicast publish.
    function initMulticastNetStream(streamContext)
        var ns = null;
        try
            ns = new NetStream(streamContext.netConnection, streamContext.groupspec);
        catch (e)
            trace("MULTICAST PUBLISH ERROR: Failed to construct multicast NetStream. Error: " +
                  e.name + (e.message ? " " + e.message : "") +
                  ", Source stream: " + streamContext.streamName);
            destroyStreamContext(streamContext);
            return;
        var type = streamContext.type;
        if (type == TYPE_FUSION || type == TYPE_IP)
      var iAddr = (streamContext.interfaceAddress) ? streamContext.interfaceAddress : null;
            try
                trace("Multicast NetStream will publish to IP address: " + streamContext.address +
          " on interface address: " + ((iAddr) ? iAddr : "default") +
                      ", Source stream: " + streamContext.streamName);
                ns.setIPMulticastPublishAddress(streamContext.address, iAddr);
            catch (e2)
                trace("MULTICAST PUBLISH ERROR: Failed to assign IP multicast address and port for publishing. Address: "
                      + streamContext.address + " on interface address: " + ((iAddr) ? iAddr : "default") +
          ", Source stream: " + streamContext.streamName);
                destroyStreamContext(streamContext);
                return;
        ns.onStatus = netStreamStatusHandler;
        streamContext.mcastNetStream = ns;
        updateStreamContextLookups(streamContext);
        streamContext.state = STATE_PUBLISH_PENDING;
    * Status event handler for the multicast NetStream. Advances state upon successful
    * connect and publish, or upon successful unpublish. Triggers tear-down if we fail
    * to attach to a source Stream to republish.
    * @param info - The status info Object.
    function netStreamStatusHandler(info)
        var streamContext = getStreamContextForMulticastNetStream(this);
        trace("Multicast NetStream Status: " + info.code +
              (streamContext ? ", Source stream: " + streamContext.streamName : ", Not associated with a source stream."))
        if (streamContext)
            switch (info.code)
            case "NetStream.Connect.Success":
                if (!this.attach(Stream.get(streamContext.streamName)))
                    trace("MULTICAST PUBLISH ERROR: Failed to attach multicast NetStream to source. Source stream: " +
                          streamContext.streamName);
                    destroyStreamContext(streamContext);
        //var stream;
                //stream = Stream.get("liveStream");
                    //return;
                }else{
                this.publish(streamContext.streamName, "live");
                break;
            case "NetStream.Publish.Start":
                streamContext.state = STATE_REPUBLISHING;
                break;
            case "NetStream.Unpublish.Success":
                streamContext.state = STATE_UNPUBLISHED;
                // Wait for unpublish notify event if the context has a NetGroup;
                // otherwise continue shut down now.
                if (!streamContext.netGroup)
                    destroyStreamContext(streamContext);
                    break;
            default:
                // Ignore.
    * The common tear-down hook. Other functions that manage or shut down
    * the StreamContext Object delegate to this function upon detecting a fatal
    * error or during shut down.
    * @param streamContext - The StreamContext Object for the source Stream and
    *                        (potentially wired-up) multicast NetStream.
    function destroyStreamContext(streamContext)
        // Unregister by Stream name immediately; lookups by NetConnection, NetGroup
        // and multicast NetStream remain in place until tear-down is complete.
        delete application.streamTable[streamContext.streamName];
        switch (streamContext.state)
        case STATE_REPUBLISHING:
            streamContext.mcastNetStream.attach(false);
            streamContext.mcastNetStream.publish(false);
            streamContext.state = STATE_UNPUBLISHING;
            return;
        case STATE_CONNECTING:
        case STATE_CONNECTED:
        case STATE_PUBLISH_PENDING:
        case STATE_UNPUBLISHED:
            // Delete status handler callbacks and cleanup in case we arrived here
            // as a result of a force close.
            if (streamContext.netGroup)
                delete streamContext.netGroup.onStatus;
            if (streamContext.mcastNetStream)
                streamContext.mcastNetStream.attach(false);
                delete streamContext.mcastNetStream.onStatus;
            streamContext.netConnection.close();
            streamContext.state = STATE_DISCONNECTING;
            return;
        default:
            // Fall-through.
        // At this point, we either never got to the republishing state or we've
        // proceeded through the clean shut down steps above. Everything for this
        // StreamContext can go away.
        unregisterStreamContext(streamContext);
    * Utility function used to force close a StreamContext in the event that we
    * start handling a republish of a Source stream before the context for its
    * prior incarnation has been torn down.
    * @param streamContext - The StreamContext Object for the source Stream.
    function forceCloseStreamContext(streamContext)
        trace("Force closing previous multicast context for source stream: " + stream.name);
        prevContext.state = STATE_UNPUBLISHED;
        destroyStreamContext(prevContext);
    // Client callback functions
    * A no-op. Answers the RPC in the fashion expected by encoders, but the real
    * work happens in application.onPublish.
    * @param streamName - The name of the stream being published.
    Client.prototype.FCPublish = function(streamName)
        this.call("onFCPublish",
                  null,
                  {code:"NetStream.Publish.Start", description:streamName});
    * A no-op. Answers the RPC in the fashion expected by encoders, but the real
    * work happens in application.onUnpublish.
    * @param streamName - The name of the stream being unpublished.
    Client.prototype.FCUnpublish = function(streamName)
        this.call("onFCUnpublish",
                  null,
                  {code:"NetStream.Unpublish.Success", description:streamName});
    * If the client invoker's ip matches what was captured for a currently publishing
    * stream, assume it's the same client and reset the stream. Otherwise, ignore.
    * @param streamName - The name of the stream being released.
    Client.prototype.releaseStream = function(streamName)
        var streamContext = getStreamContextForSourceStream(streamName);
        if (streamContext &&
            (streamContext.client.ip == this.ip) &&
            (streamContext.state <= STATE_REPUBLISHING))
            // Only tear-down an orphaned stream if it's not
            // already shutting down (see state check above).
            destroyStreamContext(streamContext);
    // Helper functions
    * Validates that a newly published stream has correct metadata (e.g. query
    * string parameters) to republish into a Flash Group. This function also
    * writes a message to the application log for any validation failures.
    * @param params - The quiery string parameters for the source Stream.
    * @return true if valid; otherwise false.
    function validateStreamParams(params)
        var empty = true;
        for (var param in params)
           empty = false;
           break;
        if (empty)
            trace("MULTICAST PUBLISH ERROR: Stream query string is empty.");
            return false;
        if (!params["fms.multicast.type"])
    trace("MULTICAST PUBLISH ERROR: Stream query string does not specify a 'fms.multicast.type'.");
            return false;
        var type = params["fms.multicast.type"];
        if (type != 1 && type != 2 && type != 3)
            trace("MULTICAST PUBLISH ERROR: 'fms.multicast.type' has invalid value: " + type);
            return false;
        if (!params["fms.multicast.groupspec"])
            trace("MULTICAST PUBLISH ERROR: Stream query string does not specify a 'fms.multicast.groupspec'.");
            return false;
        // Fusion and IP require an address:port.
        if ((type == 1 || type == 2) &&
            !params["fms.multicast.address"])
            trace("MULTICAST PUBLISH ERROR: Stream query string does not specify a 'fms.multicast.address'.");
            return false;
        // No obvious validation issues.
        return true;
    * Parses the supplied query string, and if valid, returns an Object populated
    * with the name-value pairs contained in the query string. The simple processing
    * here does not preserve multiple name-value pairings having the same name; the
    * last value seen wins. Parameters with no value are mapped to "" (empty String)
    * in the returned Object.
    * @param queryString - A query string portion of a URI, not including the leading
    *                     '?' character.
    * @return An Object containing a key-value mapping for each name-value parameter
    *         defined in the query string; Object is empty if the query string is
    *         invalid.
    function parseQueryString(queryString)
        var result = {};
        var decoded = "";
        try
            decoded = decodeURIComponent(queryString);
        catch (e) // Invalid URI component; return empty result.
            return result;
        if (decoded.length)
            var params = decoded.split('&');
            for (var i in params)
                var pair = params[i];
         var sepIndex = pair.indexOf('=');
                if (sepIndex != -1)
                    var name = pair.substr(0, sepIndex);
                    result[name] = pair.substr(sepIndex + 1);
                else
                    result[pair] = "";
        return result;
    * Utility function used to swap out the protocol (scheme) portion
    * of a given URI with an alternate.
    * @param uri - The full URI.
    * @param desiredProtocol - The replacement protocol.
    * @return The URI with its protocol replaced.
    function resetUriProtocol(uri, desiredProtocol)
        var sepIndex = uri.indexOf("://");
        return desiredProtocol + uri.substr(sepIndex);

    HELP ME !!! THANKS!!!

  • Issue with allowedHTMLdomains.txt in Live App

    Hi,
    My Purpose is to record live streams on server side and play recorded files later.
    What i have done is -
    1. Copied All files of applications/live in some safe location.
    2. Copied all files from samples/applications/live to applications/live folder. (Deleted main.far from live folder)
    3. Restricted SWF and HTML to mydomain in these files - allowedHTMLdomains.txt and allowedSWFdomains.txt
    4. In main.asc i added these line in the end
    var mystream;
    var intervalID;
    application.onConnect = function(clientobj)
      return true;
    application.onPublish = function(clientObj,streamObj){
    trace("In app pub:");
    mystream = Stream.get(streamObj.name);
    mystream.onStatus = function(info)
         trace("mystream onstatus:"+ info.code);
    mystream.record();
    trace("Got it via FMLE = " + streamObj.name);
    application.onUnpublish = function(clientObj,streamObj){
    mystream.record(false);
    5. Then i restarted FMS and tried streaming using FLash Media Encoder. I was able to live stream and then i stopped it.
    6. A FLV File was recorded in application/live folder with the stream name that i used in encoder.
    Now the issues i have, i am able to view live video on my domain as well as some other domain, that means allowedHTMLdomains.txt and allowedSWFdomains.txt did not worked. Another issue is that i am not able to view recorded video after i stopped encoder but i was able see live video before stopping. i am using jwplayer to view the video and using flashvars streamer(rtmp://xx.xx.xx.xxx/live) and file(abc) to view the live and recorded video.

    I am getting another issue now.
    i was able to record with this app when i changed fms.ini
    i added this line in fms.ini
    LIVE2_DIR = /opt/adobe/fms/applications/webroot/live_recorded
    also changed Application.xml in new app and changed this line <Streams>/;${LIVE2_DIR}</Streams>
    After this i was able to record files using my previously mentioned code. But i want to record live videos in same app in streams/intancename/ folder or streams/_definst_ folder 
    i also created streams/_definst_ folder in inside myapp folder with 777 permissions
    after this i changed fms.ini again and changed LIVE2_DIR = /opt/adobe/fms/applications/webroot/live_recorded to LIVE2_DIR = /opt/adobe/fms/applications/myapp
    But now there is no recording. Please help me what i am doing wrong.
    Again i am pasting my code of main.asc here with was a copy of samples/appplications/live folder-
    * application.onAppStart:
    *                    is called when application load. It contains Live (out of the box)
    * application specific initializations.
    application.onAppStart = function()
        // Logging
        trace("Starting Live Service...");
        //  Turning on the Authentication by default
        this.HTMLDomainsAuth =    true;
        this.SWFDomainsAuth =    true;
        // Populating the list of domains which are allowed to host HTML file
        // which in turn may embed a SWF that connects to this application
        this.allowedHTMLDomains = this.readValidDomains("allowedHTMLdomains.txt","HTMLDomains");
        // Populating the list of domains which are allowed to host a SWF file
        // which may connect to this application
        this.allowedSWFDomains = this.readValidDomains("allowedSWFdomains.txt","SWFDomains");
        // Logging
        if(this.HTMLDomainsAuth){
            trace("Authentication of HTML page URL domains is enabled");
        if(this.SWFDomainsAuth){
            trace("Authentication of SWF URL domains is enabled");
        trace("...loading completed.");
    *  application.validate:
    *                 function to validate a given URL by matching through a list of
    * allowed patterns.
    * Parameters:
    *     url:        contains the input url string.
    *     patterns:    Array; an array of permmited url patterns.
    * return value:
    *             true; when 'url domain" contains a listed domains as a suffix.
    *              false; otherwise.
    application.validate = function( url, patterns )
        // Convert to lower case
        url = url.toLowerCase();
        var domainStartPos = 0; // domain start position in the URL
        var domainEndPos = 0; // domain end position in the URL
        switch (url.indexOf( "://" ))
            case 4:
                if(url.indexOf( "http://" ) ==0)
                    domainStartPos = 7;
                break;
            case 5:
                if(url.indexOf( "https://" ) ==0)
                    domainStartPos = 8;
                break;
        if(domainStartPos == 0)
            // URL must be HTTP or HTTPS protocol based
            return false;
        domainEndPos = url.indexOf("/", domainStartPos);
        if(domainEndPos>0)
            colonPos = url.indexOf(":", domainStartPos);
            if( (colonPos>0) && (domainEndPos > colonPos))
                // probably URL contains a port number
                domainEndPos = colonPos; // truncate the port number in the URL
        for ( var i = 0; i < patterns.length; i++ )
            var pos = url.lastIndexOf( patterns[i]);
            if ( (pos > 0) && (pos  < domainEndPos) && (domainEndPos == (pos + patterns[i].length)) )
                return true;
        return false;
    *     application.onConnect:
    *                 Implementation of the onConnect interface function (optional).
    *  it is invoked whenever a client connection request connection. Live app uses this
    *  function to authenticate the domain of connection and authorizes only
    *  for a subscriber request.
    application.onConnect = function( p_client, p_autoSenseBW )
        // Check if pageUrl is from a domain we know.   
        // Check pageurl
        // A request from Flash Media Encoder is not checked for authentication
        if( (p_client.agent.indexOf("FME")==-1) && (p_client.agent.indexOf("FMLE")==-1))
            // Authenticating HTML file's domain for the request :
            // Don't call validate() when the request is from localhost
            // or HTML Domains Authentication is off.
            if ((p_client.ip != "127.0.0.1") && application.HTMLDomainsAuth
                    &&  !this.validate( p_client.pageUrl, this.allowedHTMLDomains ) )
                trace("Authentication failed for pageurl: " + p_client.pageUrl + ", rejecting connection from "+p_client.ip);
                return false;
            // Authenticating the SWF file's domain for the request :
            // Don't call validate() when the request is from localhost
            // or SWF Domains Authentication is off.
            if ((p_client.ip != "127.0.0.1") && application.SWFDomainsAuth
                    &&  !this.validate( p_client.referrer, this.allowedSWFDomains ) )
                trace("Authentication failed for referrer: " + p_client.referrer + ", rejecting connection from "+p_client.ip);
                return false;
                // Logging
            trace("Accepted a connection from IP:"+ p_client.ip
                            + ", referrer: "+ p_client.referrer
                            + ", pageurl: "+ p_client.pageUrl);
        }else{
            // Logging
            trace("Adobe Flash Media Encoder connected from "+p_client.ip);
        // As default, all clients are disabled to access raw audio and video and data bytes in a stream
        // through the use of BitmapData.draw() and SoundMixer.computeSpectrum()., Please refer
        // Stream Data Access doccumentations to know flash player version requirement to support this restriction
        // Access permissions can be allowed for all by uncommenting the following statements
        //p_client.audioSampleAccess = "/";
         //p_client.videoSampleAccess = "/";  
        this.acceptConnection(p_client);
        // A connection from Flash 8 & 9 FLV Playback component based client
        // requires the following code.
        if (p_autoSenseBW)
            p_client.checkBandwidth();
        else
            p_client.call("onBWDone");
        p_client.setBandwidthLimit(74000, 74000);
            application.acceptConnection(p_client);
    * Client.prototype.getPageUrl
    *                 Public API to return URL of the HTML page.               
    Client.prototype.getPageUrl = function() {
        return this.pageUrl;
    * Client.prototype.getReferrer
    *                 Public API to return Domain URL of the client SWF file.               
    Client.prototype.getReferrer = function() {
        return this.referrer;
    * FCPublish :
    * FME calls FCPublish with the name of the stream whenever a new stream
    * is published. This notification can be used by server-side action script
    * to maintain list of all streams or also to force FME to stop publishing.
    * To stop publishing, call "onFCPublish" with an info object with status
    * code set to "NetStream.Publish.BadName".
    Client.prototype.FCPublish = function( streamname )
        // setup your stream and check if you want to allow this stream to be published
        if ( true) // do some validation here
        {      // this is optional.
            this.call("onFCPublish", null, {code:"NetStream.Publish.Start", description:streamname});
        else
            this.call("onFCPublish", null, {code:"NetStream.Publish.BadName", description:streamname});
    * FCUnpublish :
    * FME notifies server script when a stream is unpublished.
    Client.prototype.FCUnpublish = function( streamname )
        // perform your clean  up
        this.call("onFCUnpublish", null, {code:"NetStream.Unpublish.Success", description:streamname});
    * releaseStream :
    * When FME connection to FMS drops during a publishing session it will
    * try and republish the stream when connection is restored. On certain
    * occasions FMS will reject the new stream because server is still
    * unaware of the connection drop, sometimes this can take a few minutes.
    * FME calls "releaseStream" method with the stream name and this can be
    * used to forcibly clear the stream.
    Client.prototype.releaseStream = function(streamname)
         s = Stream.get(streamname);
         s.play(false);
    * application.readValidDomains
    *             Function to read Allowed domain file
    * Parameters:
    *         fileName:
    *             name of the file in the application directory
    * which contains one valid domain name per line. This file can contain
    * comments followed by a '#' as the very first charector in that line.
    * a non-comment entry with a space is considered as an error case.
    * returns
    *         an array in which each entry contains a domain name
    * listed in the file.
    application.readValidDomains = function( fileName , domainsType )
        var domainFile = new File(fileName);
        var domainsArray = new Array();
        var index = 0;
        var lineCount = 0;
        var tempLine;
        domainFile.open("text", "read");
        // Read the file line-by-line and fill the domainsArray
        // with valid entries
        while (domainFile.isOpen && ! domainFile.eof() )
            tempLine = domainFile.readln();
            lineCount++;
            if( !tempLine  || tempLine.indexOf("#") == 0)
                continue;
            tempLine = tempLine.trim();
            if(tempLine.indexOf(" ")!=-1)
                trace("undesired <space>, domain entry ignored. "+fileName+":"+(lineCount+1));
            else
                domainsArray[index] =  tempLine.toLowerCase();
                index++;
                if(tempLine == "*")
                    switch (domainsType){
                        case "HTMLDomains":
                            trace ("Found wildcard (*) entry: disabling authentication for HTML file domains ")    ;
                            application.HTMLDomainsAuth =    false;       
                            break;
                        case "SWFDomains":
                            trace ("Found wildcard (*) entry: disabling authentication for SWF file domains ")    ;
                            this.SWFDomainsAuth =    false;       
                            break;
                        default:
                            // Do nothing
                            break;   
        } // End while
        // Something is wrong! the domains file must be accessible.
        if( !domainFile.isOpen){
            trace("Error: could not open '"+fileName+"', rejecting all clients except localhost. ");
        else
            domainFile.close();
        return domainsArray;
    * String.prototype.trim:
    *             Function to trim spaces in start an end of an input string.
    * returns:
    *         a trimmed string without any leading & ending spaces.
    String.prototype.trim = function () {
        return this.replace(/^\s*/, "").replace(/\s*$/, "");
    var mystream;
    application.onPublish = function(clientObj,streamObj){
    mystream = Stream.get("mp4:"+streamObj.name+".f4v");
        if (mystream)
                    mystream.record("record",600);
                    mystream.play(streamObj.name,-2,-1);
    application.onUnpublish = function(clientObj,streamObj){
    mystream.record(false);

  • Problem with JMS from session bean

     

    My guess is that in your effort to work around the
    clustering/ejb/jndi problems, you have a producer
    sending on one topic, and a consumer listening on
    another topic. You can check to see if they are the
    same destination using the (uncompiled) code snippets
    below at both the producer and consumer ends.
    import weblogic.jms.common.DestinationImpl;
    Topic topic;
    DestinationImpl destination = (DestinationImpl) topic;
    System.out.println("name = " + destination.getServerName() + "/" +
    destination.getName());
    System.out.println("back-end id = " + destination.getBackEndId());
    System.out.println("destination id = " + destination.getDestinationId());
    _sjz.
    "Malcolm Robbins" <[email protected]> wrote in message
    news:[email protected]
    >
    This was also posted to the EJB newsgroup and was asked to post the secondissue
    here. Please focus on the second issue, but the first providesbackground.
    >
    >
    I have discovered two significant problems in WLS6.0 with JNDi and JMSthat do
    not occur in the Sun Reference implementation (1.3 Beta).
    Attached is some code you can try to see the problem.
    I have developed a JmsClient that simply looks up a session bean andpasses it
    a string to publish. The session bean is meant to publish to a JMS topic.
    However I have discovered two problems:
    1) In teh ejbCreate() method I look up the topic connection factory andtopic
    in JNDI. These are referenced as "java:comp/env/jms/JmsConnectionFactory"and
    "java:comp/env/jms/JmsTopic" respectively. Here's a fragment of theejb-jar
    descriptor
    <resource-ref>
    <description>The (probably durable) Topic Connection Factory to connectto</description>
    <res-ref-name>jms/JmsConnectionFactory</res-ref-name>
    <res-type>javax.jms.TopicConnectionFactory</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    <resource-env-ref>
    <description>The Jms Source Topic to publish to</description>
    <resource-env-ref-name>jms/JmsTopic</resource-env-ref-name>
    <resource-env-ref-type>javax.jms.Topic</resource-env-ref-type>
    </resource-env-ref>
    As you can see they are resource references and resoruce environmentreferences
    respectively. The weblogic-ejb-jar maps these to the real JNDI names"TopicConnectionFactory"
    amd "SchemaTopic" respectively as shown below by the fragment:
    <weblogic-ejb-jar>
    ...etc...
    <reference-descriptor>
    <resource-description>
    <res-ref-name>jms/JmsConnectionFactory</res-ref-name>
    <jndi-name>TopicConnectionFactory</jndi-name>
    </resource-description>
    <resource-env-description>
    <res-env-ref-name>jms/JmsTopic</res-env-ref-name>
    <jndi-name>SchemaTopic</jndi-name>
    </resource-env-description>
    </reference-descriptor>
    Now here's the first problem. When this is deployed the resourceenvironment
    "logical" name (JNDI linkref) for the topic is not defined. The code willhappily
    find the connection factory (presuming you've set these administeredobjects at
    the console).
    2) The second problem now arises. In the code I have ahcked it so thatwhen
    the JNDI lookup fails it tries looking up the real topic in JNDI(SchemaTopic)
    directly.
    This works and teh bean now appears to work, albeit with a directlyhardcoded
    JNDI reference in it. However, if you hook up a standard JMS consumer tothat
    topic it will not consuem the message that is published!!! While thestats clock
    up at the console the message appears to go into a black hole. I canprovdie
    a stadnard consumer if you need one.
    I have the code working fine as-is in teh Sun Reference implementation soI presume
    these are bugs with WL6.0.
    Can anyone advise workarounds and/or fix the problem?

  • Unable to insert into remote table

    I have created a dblink (public), and a synonym(synonym1) pointing to a table in the remote database.
    When I try to create a form based on the synonym the form creation fails with many errors saying "Synonym Trnslation no longer supported". I have tested the synonym via a dynamic page an it is valid and working.
    I then try to refer to the object directly by using [email protected] This works fine until I try and insert into the remote table. Then I get the error "An unexpected error occurred: ORA-22816: unsupported feature with RETURNING clause (WWV-16016) ". Has anyone solved this. I can only assume that portal can somehow insert data into a remote table via a form. What use is it if it cant???

    I am not clear on that Synonym ... but the following note solved the problem:
    Subject: How to create a form on a view (and avoid WWV-16016)
    Doc ID: Note:155654.1 Type: PROBLEM
    Last Revision Date: 19-MAR-2003 Status: PUBLISHED
    Problem Description
    Portal 3.0.9.X
    If you create an updateable view on two tables, with the needed
    associated "INSTEAD_OF" trigger to perform the insert or update.
    A Form on this view created in Portal returns the following error on
    insert or update:
    An unexpected error occurred: ORA-22816: unsupported feature with
    RETURNING clause (WWV-16016).
    Let's take a sample:
    CREATE OR REPLACE VIEW V_EMP_DEPT ( EMPNO,
    ENAME, JOB, DEPTNO, DNAME,
    LOC ) AS select
    e.empno
    ,e.ename
    ,e.job
    ,d.deptno
    ,d.dname
    ,d.loc
    from emp e, dept d
    where e.deptno = d.deptno
    grant select,insert,update,delete on v_emp_dept to public;
    create or replace TRIGGER VEMPDEPT_INSTEAD_OF_TRG
    INSTEAD OF UPDATE or INSERT
    ON v_emp_dept
    REFERENCING OLD AS OLD NEW AS NEW
    declare
    begin
    if updating then
    if :new.empno != :old.empno then
    raise_application_error(20001,'EMPNO could not be modified');
    end if;
    if :new.loc != :old.loc then
    raise_application_error(20001,'LOC could not be modified');
    end if;
    if :new.dname != :old.dname then
    raise_application_error(20001,'dname could not be modified');
    end if;
    if :new.ename != :old.ename then
    update emp set ename=:new.ename where empno = :old.empno;
    end if;
    if :new.job != :old.job then
    update emp set job=:new.job where empno = :old.empno;
    end if;
    if :new.deptno != :old.deptno then
    update emp set deptno=:new.deptno where empno = :old.empno;
    end if;
    end if;
    if inserting then
    -- specify only valid deptumbers
    insert into emp(empno,ename,job,deptno) values
    (:new.empno,:new.ename,:new.job,:new.deptno);
    end if;
    end;
    - Create a "Forms Based on a Table or View" on this view : 'V_EMP_DEPT'
    - In the step 4, choose 'order by dname' in place of 'rowid'
    The rest is default
    - Run the form
    - Push on the button query
    - change one of the field and push the update button
    You will see the error
    Error: An unexpected error occurred: ORA-22816: unsupported feature
    with RETURNING clause (WWV-16016)
    Explanation
    You are running in Bug 1589656. The code generated by Portal is using
    RETURN clause for the UPDATE or INSERT SQL call to get the ROWID.
    This is not possible on a VIEW created on two (or more) tables.
    Solution Description
    A possible workaround is to replace the insert button code and update button
    code with calls to procedures doing exactly what is done in the trigger.
    Assumption is made that the empno column could not be updated.
    This implies that the validation options updatable checkbox for the empno column
    is unchecked.
    In the above example, this gives:
    -- procedure to insert data as done in the trigger
    create or replace procedure V_EMP_DEPT_INSERT(
    p_session in out PORTAL30.wwa_api_module_session
    IS
    "_block" varchar2(30) := 'DEFAULT';
    rec SCOTT.V_EMP_DEPT%ROWTYPE;
    begin
    rec.EMPNO:=p_session.get_value_as_NUMBER(
    p_block_name => "_block",
    p_attribute_name => 'A_EMPNO',
    p_index => 1
    rec.ENAME:=p_session.get_value_as_VARCHAR2(
    p_block_name => "_block",
    p_attribute_name => 'A_ENAME',
    p_index => 1
    rec.JOB:=p_session.get_value_as_VARCHAR2(
    p_block_name => "_block",
    p_attribute_name => 'A_JOB',
    p_index => 1
    rec.DEPTNO:=p_session.get_value_as_NUMBER(
    p_block_name => "_block",
    p_attribute_name => 'A_DEPTNO',
    p_index => 1
    insert into scott.emp(empno,ename,job,deptno)
    values (rec.empno,rec.ename,upper(rec.job),rec.deptno);
    exception
    when others then
    rollback;
    raise;
    end;
    -- procedure that update data as done in the trigger
    create or replace procedure V_EMP_DEPT_UPDATE(
    p_session in out PORTAL30.wwa_api_module_session
    IS
    "_block" varchar2(30) := 'DEFAULT';
    old_rec SCOTT.V_EMP_DEPT%ROWTYPE;
    new_rec SCOTT.V_EMP_DEPT%ROWTYPE;
    begin
    new_rec.EMPNO:=p_session.get_value_as_NUMBER(
    p_block_name => "_block",
    p_attribute_name => 'A_EMPNO',
    p_index => 1
    new_rec.ENAME:=p_session.get_value_as_VARCHAR2(
    p_block_name => "_block",
    p_attribute_name => 'A_ENAME',
    p_index => 1
    new_rec.JOB:=p_session.get_value_as_VARCHAR2(
    p_block_name => "_block",
    p_attribute_name => 'A_JOB',
    p_index => 1
    new_rec.DEPTNO:=p_session.get_value_as_NUMBER(
    p_block_name => "_block",
    p_attribute_name => 'A_DEPTNO',
    p_index => 1
    new_rec.LOC:=p_session.get_value_as_NUMBER(
    p_block_name => "_block",
    p_attribute_name => 'A_LOC',
    p_index => 1
    select empno, ename, job, deptno, loc
    into old_rec.empno, old_rec.ename, old_rec.job,
    old_rec.deptno, old_rec.loc from scott.V_EMP_DEPT
    where empno = new_rec.empno;
    if new_rec.empno != old_rec.empno then
    raise_application_error(20001,'EMPNO could not be modified');
    end if;
    if new_rec.loc != old_rec.loc then
    raise_application_error(20001,'LOC could not be modified');
    end if;
    if new_rec.dname != old_rec.dname then
    raise_application_error(20001,'dname could not be modified');
    end if;
    if new_rec.ename != old_rec.ename then
    update scott.emp set ename=new_rec.ename where empno =
    old_rec.empno;
    end if;
    if new_rec.job != old_rec.job then
    update scott.emp set job=new_rec.job where empno = old_rec.empno;
    end if;
    exception
    when NO_DATA_FOUND then
    raise_application_error(20001,'EMPNO could not be modified');
    end;
    After creating this two procedures you have to edit the form and replace the
    Insert and Update button PLSQL event handling code.
    For the insert button: Select Insert in the PL/SQL Button Event Handler window
    and replace the original code with the following one::
    --- Type your PL/SQL code here...
    -- doInsert;--- This is the default handler
    --- ...and here, thanks...
    V_EMP_DEPT_INSERT( p_session => p_session);
    For the update button: Select Update in the PL/SQL Button Event Handler window
    and replace the original code with the following one:
    --- Type your PL/SQL code here...
    -- doUpdate;--- This is the default handler
    --- ...and here, thanks...
    V_EMP_DEPT_UPDATE( p_session => p_session );
    Remarks
    1) Don't forget to uncheck the updatable validation option for the empno column or
    you may see some errors raised by the update procedure or update the wrong record.
    2) If you don't want to write the "instead of trigger", you can simplify
    the code above by:
    - writing no instead of trigger at all
    - write the logic to the underlying tables in PL/SQL trigger of Portal
    ( here V_EMP_DEPT_UPDATE, V_EMP_DEPT_INSERT)
    - Manohar

  • How to apply sort on an already dispaled resultset from a procedure

    Hi,
    I have a data block for which the 'query data source type' is PROCEDURE. When I query the block all the records in the procedure are displayed. Then I query for a specific value for the DATE column (ex: 27/07/2010) and it displays records for only 27/07/2010. Now I want to sort the displayed records.
    My columns are DATE, TRANSACTION NUMBER, PROJECT CODE
    I have a button each for DATE, TRANSACTION NUMBER, PROJECT CODE to do the sorting. When I click on the PROJECT CODE sort button , the already retireved records for 27/07/2010 must be sorted according to project code.
    But this is not happening. The current coding will query the data block for all the records and then apply the sorting for DATE column.
    Please advise.

    Actually i don't know but what i gave u but i have read that If you attempt setting the where clause in the block it is totally ignored.
    i hardly search just found the following...
    Subject:  How to Filter Rows on Block Based on Stored Procedure in Oracle Forms? 
      Doc ID:  Note:1078147.6 Type:  PROBLEM 
      Last Revision Date:  22-JUN-2004 Status:  PUBLISHED 
    Problem Description: 
    ==================== 
    Whilst in ENTER QUERY mode you would like to specify a search criteria to 
    restrict the results of your query.  The block on which this query resides
    is based on a stored procedure. 
    Problem Explanation: 
    ==================== 
    If you attempt setting the where clause in the block it is totally ignored. 
    This happens with both the 'Ref Cursor' or 'Table of Records' variable.    
    Problem References: 
    =================== 
    [Search Words: filter ]
    Solution Summary: 
    =================
    With Forms 5.0 and above, you can use the Tools--> Datablock Wizard menu 
    in the Object Navigator to enter the datablock wizard in a re-enterant mode.
    You can then specify the query criteria there. 
    Alternatively, you can pass the query criteria from Forms to the stored 
    procedure as an IN argument. You can then use the parameter with the 
    select statement (in the procedure you have created using the 'Table of Records
    or 'Ref Cursor').
    Solution Description: 
    ===================== 
    If the blocks were created using the Datablock Wizard with the
    "stored procedure" radio button, you can always re-enter the datablock wizard
    for that block by clicking on the Tools-->Datablock Wizard. If you go to the 
    Query tab on the bottom of the tab page you will notice that it requests the 
    name of the parameter. This is where you enter -
       :parameter.<parameter_name> 
    This method relies on having a parameter in the form that passes the 
    value, for example p_deptno, into the stored procedure. This is done in order
    to get the corresponding records from the emp table for all employees who work
    in that deptartment.
    Additionally create a PRE-QUERY trigger and assign the value of the deptno you 
    are passing through this parameter using the following:
       (:parameter.<parameter_name>:= :dept.deptno).
    If the blocks were created manually, however, YOU CANNOT use the re-enterant 
    option to go to the Datablock Wizard. For these type of blocks, use the method
    suggested below.
    METHOD FOR MANUALLY CREATED BLOCKS:
    ===================================
    Re-enter the Datablock Wizard by using the Tools--> Datablock Wizard menu of the 
    Object Navigator.  You will notice that you will not be able to see any 
    procedure in the Datablock Wizard in re-enterant mode.
    To use this method, you will need to include one more parameter to your query
    procedure as an IN parameter. For example, if you are passing deptno as query
    criteria, click on the "Query Data Source Arguments" of your block property 
    sheet and include the following:
        ARGUMENT NAME: set to  P_DEPTNO or (any variable name)
        TYPE: set to the appropriate datatype, for example, NUMBER
        TYPENAME: set to dept.deptno%type, for example
        MODE: set to IN
        VALUE: set to :dept.deptno(the :blockname.itemname you are passing
                                   as query criteria.).
    In the query procedure, include this parameter as an IN argument, and as the 
    2nd parameter.  For example:
        Procedure  empquery_refcur(emp_data IN OUT empcur, v_dno IN number) AS ....
    Finally, include this paramter in your select statement of either 'Table of 
    Records' or 'Ref Cursor' as
        select empno, ename
         from emp
          where deptno=nvl(v_dno, deptno);But no chance to Sort it may be from inside the procedure itself.
    Hope this helps...
    Regards,
    Abdetu...

  • Unable to activate the Workflow feature in sharepoint 2013

    Microsoft.Workflow.Client.ActivityNotFoundException: The activity named 'WorkflowXaml_60e6cb77_316a_49ef_8c96_b3ef192dff99' from scope '/SharePoint/default/1e658dce-78af-4b0d-88fb-ab5ec6458409/40a79cb2-9b65-4fcd-a4e6-04004504b70a' was not found. HTTP
    headers received from the server - ActivityId: 8d267bcb-bd90-4103-a4e9-94a255fe337c. NodeId: PMOINABOX-APP1. Scope: /SharePoint/default/1e658dce-78af-4b0d-88fb-ab5ec6458409/40a79cb2-9b65-4fcd-a4e6-04004504b70a. Client ActivityId : f7586d9c-231d-b0d7-bebc-709cfc8fdcce.
    ---> System.Net.WebException: The remote server returned an error: (404) Not Found.
      at Microsoft.Workflow.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
      at Microsoft.Workflow.Client.HttpGetResponseAsyncResult`1.End(IAsyncResult result)
      at Microsoft.Workflow.Client.ClientHelpers.SendRequest[T](HttpWebRequest request, T content)
      --- End of inner exception stack trace ---
      at Microsoft.Workflow.Client.ClientHelpers.SendRequest[T](HttpWebRequest request, T content)
      at Microsoft.Workflow.Client.WorkflowManagementClient.SendRequest[T](HttpWebRequest request, T content)
      at Microsoft.Workflow.Client.WorkflowManager.Publish(WorkflowDescription description, Boolean terminateActiveInstances)
      at Microsoft.SharePoint.WorkflowServices.FabricWorkflowManagementClient.PublishWorkflow(String serviceGroupName, WorkflowDescription workflow)
      at Microsoft.SharePoint.WorkflowServices.WorkflowProxy.CreateDefinitionSubscription(String subscriptionName, String eventSource, List`1 eventTypes, String definitionName, IDictionary`2 metadata, WorkflowEventContext eventContext)
      at Microsoft.SharePoint.WorkflowServices.FabricSubscriptionService.<>c__DisplayClass1.<CreateDefinitionSubscription>b__0()
      at Microsoft.SharePoint.WorkflowServices.WorkflowServiceContextExtensions.InvokeWithEcosystemRetry(WorkflowServicesContext context, EcosystemRequiredMethod method)
      at Microsoft.SharePoint.WorkflowServices.FabricSubscriptionService.CreateDefinitionSubscription(String subscriptionName, Guid eventSourceId, String eventSource, List`1 eventNames, String definitionName, IDictionary`2 metadata, WorkflowEventContext
    eventContext)
      at Microsoft.SharePoint.WorkflowServices.WorkflowSubscriptionStorageEventReceiver.ItemAdded(SPItemEventProperties properties)

    Hi Ayyappa18,
    Whether this Worflow feature was created by yourself, then you activated it after you deployed it in your SharePoint 2013.
    Please activate this feature using the following PowerShell cmdlet:
    Enable-SPFeature –identity f7586d9c-231d-b0d7-bebc-709cfc8fdcce -URL <your site URL>
    More information about the above cmdlet, please refer to the link below:
    http://technet.microsoft.com/en-us/library/ff607803.aspx
    I hope this helps.
    Thanks
    Wendy
    Wendy Li
    TechNet Community Support

  • [A4017]: Destination name is not specified.

    Hi,
    I created a topic resource as follows
    <jms-resource enabled="true" jndi-name="jms/topicDestination" res-type="javax.jms.Topic">
    <description>publish subscribe</description>
    <property value="topicDestination" name="DestinationName"/>
    </jms-resource>
    But the I started the server I got the error below
    INFO: JMS5015: Install JMS resources ...
    INFO: JMS5002: Binding [< JMS Destination: jms/topicDestination, javax.jms.Topic, No properties >]
    SEVERE: JMS5027: Exception in creating JMS destination administered object [jms/topicDestination]: [[A4017]: Destination name is not specified.]
    SEVERE: JMS5031: Exception in creating JMS destination administered object javax.jms.JMSException: [A4017]: Destination name is not specified.
    at com.sun.messaging.jmq.admin.jmsspi.JMSAdminImpl.createDestinationObject(JMSAdminImpl.java:194)
    at com.iplanet.ias.jms.IASJmsConfig.createDestination(IASJmsConfig.java:85)
    at com.iplanet.ias.jms.IASJmsUtil.installJMSResources(IASJmsUtil.java:219)
    at com.sun.enterprise.resource.ResourceInstaller.installJMSResources(ResourceInstaller.java:1383)
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:418)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:1415)
    at com.iplanet.ias.server.ApplicationServer.onInitialization(ApplicationServer.java:212)
    at com.iplanet.ias.server.J2EERunner.confPreInit(J2EERunner.java:114)
    Does anyone know how to properly specified the destination name and physical destination name in the porperties page in GUI admin console? And how it would look like in the server.xml file?
    Thanks in advance for your help.
    Sha

    Hi Sha ,
    The exception you are getting is because you have specified
    the property name as "DestinationName" instead of "imqDestinationName".
    This is how you specify the destination name using the GUI console :
    1. Create a jms destination resource throught the admin
    GUI.
    2. Click the properties button to add imqDestination name.(property button is displyed after cliking on the jms destination resource)
    3. Add a property imqDestination, specify value say
    SampleTopic.
    The SampleTopic name specified is the physical estination name
    1.To create a physical destination name , right click the Physical Destination node under jms->service
    2. Click new ,specify the Destination Name as
    SampleTopic.
    After doing the above , you will find the following changes in your server.xml file -
    <jms-resource enabled="true" jndi-name="jms/topic" res-
    type="javax.jms.Topic">
    <property value="SampleTopic "
    name="imqDestinationName"/>
    </jms-resource>
    Hope this helps.Get back in case of any issues.

  • IfsException: IFS-10407: Invalid Attribute name

    I'm trying to programmaticaly create an instance of the custom class AsapPublisher that I have created. When I attempt to set the attribute jobTitle I get the IFS exception 10407. The attribute jobTitle exists so I unsure why I'm getting this error. Below is my code and stack trace. If anyone can see where I'm going wrong I would appreciate input. Thanks!
    instantiatePublisher.jsp
    <%@ page contentType="text/html;charset=WINDOWS-1252"%>
    <%@ page import="oracle.ifs.common.IfsException" %>
    <%@ page import="oracle.ifs.beans.LibrarySession" %>
    <%@ page import="oracle.ifs.beans.LibraryService" %>
    <%@ page import="java.util.Locale" %>
    <%@ page import="oracle.ifs.beans.ClassObject" %>
    <%@ page import="java.io.*" %>
    <%@ page import="publishasap.AsapPublisher" %>
    <%@ page import="publishasap.definition.AsapPublisherDef" %>
    <%@ page import="publishasap.definition.AsapPublisherContactDef" %>
    <%@ page import="oracle.ifs.common.CleartextCredential" %>
    <%@ page import="oracle.ifs.common.ConnectOptions" %>
    <%
    String username = "system";
    String password = "manager";
    String serviceName = "IfsDefault";
    String servicePassword = "ifssys";
    try
    LibraryService ifsService = new LibraryService();
    CleartextCredential credentials = new CleartextCredential(username,password);
    ConnectOptions connectOpts = new ConnectOptions();
    connectOpts.setLocale(Locale.getDefault());
    connectOpts.setServiceName(serviceName);
    connectOpts.setServicePassword(servicePassword);
    LibrarySession ifsSession = ifsService.connect(credentials,connectOpts);
    ifsSession.setAdministrationMode(true);
    //set the AsapPublisher attributes and create a publisher instance
    AsapPublisherDef publisher = new AsapPublisherDef(ifsSession);
    publisher.setCompanyName(request.getParameter("pubName"));
    publisher.setAddress1(request.getParameter("address1"));
    publisher.setAddress2(request.getParameter("address2"));
    publisher.setCity(request.getParameter("city"));
    publisher.setState(request.getParameter("state"));
    publisher.setPostalCode(request.getParameter("postalCode"));
    publisher.setCountry(request.getParameter("country"));
    publisher.setPhoneNumber(request.getParameter("phoneNumber"));
    publisher.setPublisherDescription(request.getParameter("pubDescription"));
    out.println("here");
    //create the publisher contact object
    AsapPublisherContactDef contact = new AsapPublisherContactDef(ifsSession);
    contact.setClassObject(ClassObject.getClassObjectFromLabel(ifsSession,publishasap.AsapPublisherContact.CLASS_NAME));
    contact.setJobTitle(request.getParameter("jobTitle"));
    contact.setPrefix(request.getParameter("prefix"));
    contact.setFirstName(request.getParameter("fName"));
    contact.setMInitial(request.getParameter("mInitial"));
    contact.setLastName(request.getParameter("lName"));
    contact.setSuffix(request.getParameter("suffix"));
    contact.setEmail1(request.getParameter("email1"));
    contact.setEmail2(request.getParameter("email2"));
    contact.setFax(request.getParameter("fax"));
    contact.setWkPhone(request.getParameter("workPhone"));
    contact.setUsername(request.getParameter("username"));
    contact.setPassword(request.getParameter("password"));
    publisher.setAsapPublisherContact(contact);
    AsapPublisher createPub = (AsapPublisher) ifsSession.createPublicObject(contact);
    ifsSession.disconnect();
    catch(IfsException e)
    out.println("System was unable to create an author object");
    StringWriter sw = new StringWriter();
    PrintWriter pw = new PrintWriter(sw, true);
    e.printStackTrace(pw);
    String trace = sw.toString();
    sw.close();
    pw.close();
    out.println(trace);
    IfsException.setVerboseMessage(true);
    String message = e.getMessage();
    out.println(message);
    %>
    AsapPublisher.java
    // Copyright (c) 2000 Thin Data Solutions
    package publish asap;
    import oracle.ifs.beans.*;
    import oracle.ifs.common.*;
    import oracle.ifs.server.S_LibraryObjectData;
    import publishasap.AsapCustomer;
    import publishasap.AsapPublisherContact;
    import publishasap.definition.AsapPublisherContactDef;
    * A Bean class.
    * <P>
    public class AsapPublisher extends AsapCustomer {
    public static final String CLASS_NAME= "AsapPublisher";
    public static final String PUBLISHER_CONTACT= "AsapPublisherContact";
    public static final String PUBLISHER_DESCRIPTION="publisherDescription";
    private LibrarySession m_IfsSession= null;
    * Constructor
    public AsapPublisher( LibrarySession ifs,
    java.lang.Long id,
    java.lang.Long classId,
    S_LibraryObjectData data)
    throws IfsException{
    // Construct a Document object - standard variant.
    super(ifs,id,classId,data);
    m_IfsSession= ifs;
    public void setAsapPublisherContact(AsapPublisherContact newValue)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newValue);
    setAttribute(PUBLISHER_CONTACT, av);
    public void setAsapPublisherContact(AsapPublisherContactDef newValue)
    throws IfsException{
    PublicObject po= m_IfsSession.createPublicObject(newValue);
    AttributeValue av= AttributeValue.newAttributeValue(po);
    setAttribute(PUBLISHER_CONTACT, av);
    public void setPublisherDescription(String newValue)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newValue);
    setAttribute(PUBLISHER_DESCRIPTION, av);
    public String getPublisherDescription()
    throws IfsException{
    AttributeValue av= getAttribute(PUBLISHER_DESCRIPTION);
    return av.getString(getSession());
    public AsapPublisherContact getAsapPublisherContact()
    throws IfsException{
    AttributeValue av= getAttribute(PUBLISHER_CONTACT);
    return (AsapPublisherContact)av.getObject(getSession());
    AsapPublisherDef.jav
    // Copyright (c) 2000 Thin Data Solutions
    package publishasap;
    import oracle.ifs.beans.*;
    import oracle.ifs.common.*;
    import oracle.ifs.server.S_LibraryObjectData;
    import publishasap.AsapCustomer;
    import publishasap.AsapPublisherContact;
    import publishasap.definition.AsapPublisherContactDef;
    * A Bean class.
    * <P>
    public class AsapPublisher extends AsapCustomer {
    public static final String CLASS_NAME= "AsapPublisher";
    public static final String PUBLISHER_CONTACT= "AsapPublisherContact";
    public static final String PUBLISHER_DESCRIPTION="publisherDescription";
    private LibrarySession m_IfsSession= null;
    * Constructor
    public AsapPublisher( LibrarySession ifs,
    java.lang.Long id,
    java.lang.Long classId,
    S_LibraryObjectData data)
    throws IfsException{
    // Construct a Document object - standard variant.
    super(ifs,id,classId,data);
    m_IfsSession= ifs;
    public void setAsapPublisherContact(AsapPublisherContact newValue)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newValue);
    setAttribute(PUBLISHER_CONTACT, av);
    public void setAsapPublisherContact(AsapPublisherContactDef newValue)
    throws IfsException{
    PublicObject po= m_IfsSession.createPublicObject(newValue);
    AttributeValue av= AttributeValue.newAttributeValue(po);
    setAttribute(PUBLISHER_CONTACT, av);
    public void setPublisherDescription(String newValue)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newValue);
    setAttribute(PUBLISHER_DESCRIPTION, av);
    public String getPublisherDescription()
    throws IfsException{
    AttributeValue av= getAttribute(PUBLISHER_DESCRIPTION);
    return av.getString(getSession());
    public AsapPublisherContact getAsapPublisherContact()
    throws IfsException{
    AttributeValue av= getAttribute(PUBLISHER_CONTACT);
    return (AsapPublisherContact)av.getObject(getSession());
    AsapPublisherContact.java
    // Copyright (c) 2000 Movement Inc.
    package publishasap;
    import publish asap.*;
    import oracle.ifs.beans.*;
    import oracle.ifs.common.*;
    import oracle.ifs.server.S_LibraryObjectData;
    * A Bean class.
    * <P>
    public class AsapPublisherContact extends AsapPerson {
    public static final String PUBLISHER_ID= "publisherId";
    public static final String JOB_TITLE= "jobTitle";
    public static final String CLASS_NAME= "AsapPublisherContact";
    * Constructor
    public AsapPublisherContact( LibrarySession ifs,
    java.lang.Long id,
    java.lang.Long classId,
    S_LibraryObjectData data)
    throws IfsException{
    // Construct a Document object - standard variant.
    super(ifs,id,classId,data);
    public void setPublisherId(String newId)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newId);
    setAttribute(PUBLISHER_ID, av);
    public void setJobTitle(String newTitle)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newTitle);
    setAttribute(JOB_TITLE, av);
    public String getPublisherId()
    throws IfsException{
    AttributeValue av= getAttribute(PUBLISHER_ID);
    return av.getString(getSession());
    public String getJobTitle()
    throws IfsException{
    AttributeValue av= getAttribute(JOB_TITLE);
    return av.getString(getSession());
    AsapPublisherContactDef.java
    // Copyright (c) 2000 Movement Inc.
    package publishasap.definition;
    import publishasap.AsapPublisherContact;
    import oracle.ifs.beans.*;
    import oracle.ifs.common.*;
    * A Bean class.
    * <P>
    public class AsapPublisherContactDef extends AsapPersonDef {
    * Constructor
    public AsapPublisherContactDef(LibrarySession ifs)
    throws IfsException
    // Construct a Document object - standard variant.
    super(ifs);
    this.setClassObject(ClassObject.getClassObjectFromLabel(ifs,publishasap.AsapPublisherContact.CLASS_NAME));
    public void setPublisherId(String newId)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newId);
    setAttribute(AsapPublisherContact.PUBLISHER_ID, av);
    public void setJobTitle(String newTitle)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newTitle);
    setAttribute(AsapPublisherContact.JOB_TITLE, av);
    AsapPublisherContact.xml
    <ClassObject>
    <Name>AsapPublisherContact</Name>
    <Description>Stores the information on the main contact person for the publisher.</Description>
    <SuperClass RefType="name">AsapPerson</SuperClass>
    <BeanClassPath>publishasap.AsapPublisherContact</BeanClassPath>
    <!-- Attribute list for the object -->
    <Attributes>
    <!-- Store the primary key of the publisher whom this person is the contact for. -->
    <Attribute>
    <Name>publisherId</Name>
    <DataType>String</DataType>
    <DataLength>10</DataLength>
    </Attribute>
    <!-- Store the contact person's job title or position. -->
    <Attribute>
    <Name>jobTitle</Name>
    <DataType>String</DataType>
    <DataLength>70</DataLength>
    </Attribute>
    </Attributes>
    </ClassObject>
    AsapPublisher.xml
    <ClassObject>
    <Name>AsapPublisher</Name>
    <Description>Stores the information about publishers in the database.</Description>
    <SuperClass RefType="name">AsapCustomer</SuperClass>
    <BeanClassPath>publishasap.AsapPublisher</BeanClassPath>
    <!-- Attribute list for the object. -->
    <Attributes>
    <!-- A reference to the main contact person at the publisher. -->
    <Attribute>
    <Name>asapPublisherContact</Name>
    <DataType>PublicObject</DataType>
    <ClassDomain reftype="name">AsapPubContactDomain</ClassDomain>
    </Attribute>
    <!-- A Descript ion of the publisher. -->
    <Attribute>
    <Name>publisherDescription</Name>
    <DataType>String</DataType>
    <DataLength>500</DataLength>
    </Attribute>
    </Attributes>
    </ClassObject>
    stack trace
    System was unable to create an author object oracle.ifs.common.IfsException: IFS-30002: Unable to create new LibraryObject oracle.ifs.common.IfsException: IFS-10407: Invalid Attribute name (JOBTITLE) at oracle.ifs.server.S_LibraryObject.insertRows(S_LibraryObject.java, Compiled Code) at oracle.ifs.server.OperationState.executeAtomicOperations(OperationState.java, Compiled Code) at oracle.ifs.server.S_LibraryObject.createInstance(S_LibraryObject.java, Compiled Code) at oracle.ifs.server.S_LibrarySession.newLibraryObject(S_LibrarySession.java, Compiled Code) at oracle.ifs.server.S_LibrarySession.newPublicObject(S_LibrarySession.java:6853) at oracle.ifs.server.S_LibrarySession.newPublicObject(S_LibrarySession.java:6835) at oracle.ifs.server.S_LibrarySession.DMNewPublicObject(S_LibrarySession.java:6623) at oracle.ifs.beans.LibrarySession.DMNewPublicObject(LibrarySession.java:7226) at oracle.ifs.beans.LibrarySession.NewPublicObject(LibrarySession.java:4795) at oracle.ifs.beans.LibrarySession.createPublicObject(LibrarySession.java:2789) at publishasap.definition.AsapPublisherDef.setAsapPublisherContact(AsapPublisherDef.java:41) at ifs.files._ifs._jsp_25_2dbin._admin._instantiatePublisher._jspService(_instantiatePublisher.java:166) at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java, Compiled Code) at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java, Compiled Code) at oracle.jsp.JspServlet.doDispatch(JspServlet.java, Compiled Code) at oracle.jsp.JspServlet.internalService(JspServlet.java, Compiled Code) at oracle.ifs.protocols.dav.impl.IfsDavServlet.processJsp(IfsDavServlet.java, Compiled Code) at oracle.ifs.protocols.dav.impl.IfsDavServlet.doGet(IfsDavServlet.java, Compiled Code) at oracle.ifs.protocols.dav.impl.IfsDavServlet.doPost(IfsDavServlet.java, Compiled Code) at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java, Compiled Code) at oracle.ifs.protocols.dav.DavServlet.service(DavServlet.java, Compiled Code) at oracle.ifs.protocols.dav.impl.IfsDavServlet.service(IfsDavServlet.java, Compiled Code) at javax.servlet.http.HttpServlet.service(HttpServlet.java, Compiled Code) at org.apache.jserv.JServConnection.processRequest(JServConnection.java, Compiled Code) at org.apache.jserv.JServConnection.run(JServConnection.java, Compiled Code) at java.lang.Thread.run(Thread.java, Compiled Code) IFS-30002: Unable to create new LibraryObject

    Sorry Mark. Here are the rest of the files.
    AsapPerson.java
    // Copyright (c) 2000 PublishASAP
    package publishasap;
    import oracle.ifs.beans.ApplicationObject;
    import oracle.ifs.beans.LibrarySession;
    import oracle.ifs.common.AttributeValue;
    import oracle.ifs.common.IfsException;
    import oracle.ifs.server.S_LibraryObjectData;
    * Superclass of all people involved in Publishasap
    * <P>
    public class AsapPerson extends ApplicationObject {
    // Private class constants.
    public static final String CLASS_NAME = "AsapPerson";
    public static final String PREFIX= "prefix";
    public static final String FIRST_NAME= "firstName";
    public static final String INITIAL= "mInitial";
    public static final String LAST_NAME= "lastName";
    public static final String SUFFIX = "suffix";
    public static final String EMAIL_ONE= "email1";
    public static final String EMAIL_TWO= "email2";
    public static final String WORK_PHONE= "wkPhone";
    public static final String FAX= "fax";
    public static final String USERNAME= "username";
    public static final String PASSWORD= "password";
    * Constructor
    public AsapPerson(LibrarySession ifs,
    java.lang.Long id,
    java.lang.Long classId,
    S_LibraryObjectData data)
    throws IfsException{
    super(ifs, id, classId, data);
    * Set the value of the PREFIX attribute.
    public final void setPrefix( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue( newValue );
    setAttribute( PREFIX, av );
    * Get the current value of the PREFIX attribute.
    public final String getPrefix()
    throws IfsException{
    AttributeValue av= getAttribute(PREFIX);
    String tmp= av.getString(getSession());
    return tmp.trim();
    * Set the value of the first name attribute.
    public final void setFirstName( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue( newValue );
    setAttribute( FIRST_NAME, av );
    * Get the current value of the FIRST_NAME attribute.
    public final String getFirstName()
    throws IfsException{
    AttributeValue av= getAttribute(FIRST_NAME);
    String tmp= av.getString(getSession());
    return tmp.trim();
    * Set the value of the INITIAL attribute.
    public final void setMInitial( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue( newValue );
    setAttribute( INITIAL, av );
    * Get the current value of the INITIAL attribute.
    public final String getMInitial()
    throws IfsException{
    AttributeValue av= getAttribute(INITIAL);
    String tmp= av.getString(getSession());
    return tmp.trim();
    * Set the value of the LAST_NAME attribute.
    public final void setLastName( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue( newValue );
    setAttribute( LAST_NAME, av );
    * Get the current value of the LAST_NAME attribute.
    public final String getLastName()
    throws IfsException{
    AttributeValue av= getAttribute(LAST_NAME);
    String tmp= av.getString(getSession());
    return tmp.trim();
    * Set the value of the SUFFIX attribute.
    public final void setSuffix( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue( newValue );
    setAttribute( SUFFIX, av );
    * Get the current value of the SUFFIX attribute.
    public final String getSuffix()
    throws IfsException{
    AttributeValue av= getAttribute(SUFFIX);
    String tmp= av.getString(getSession());
    return tmp.trim();
    * Set the EMAIL_ONE attribute.
    public final void setEmail1( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newValue);
    setAttribute( EMAIL_ONE, av );
    * Get the current value of the EMAIL_ONE.
    public final String getEmail1()
    throws IfsException{
    AttributeValue av= getAttribute(EMAIL_ONE);
    String tmp= av.getString(getSession());
    return t mp.trim();
    * Set the EMAIL_TWO attribute.
    public final void setEmail2( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newValue);
    setAttribute( EMAIL_TWO, av );
    * Get the current value of EMAIL_TWO.
    public final String getEmail2()
    throws IfsException{
    AttributeValue av= getAttribute(EMAIL_TWO);
    String tmp= av.getString(getSession());
    return tmp.trim();
    * Set the value of the WORK_PHONE attribute.
    public final void setWkPhone( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newValue);
    setAttribute( WORK_PHONE, av );
    * Get the current value of the WORK_PHONE attribute.
    public final String getWkPhone()
    throws IfsException{
    AttributeValue av= getAttribute(WORK_PHONE);
    String tmp= av.getString(getSession());
    return tmp.trim();
    * Set the value of the FAX attribute.
    public final void setFax( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newValue);
    setAttribute( FAX, av );
    * Get the current value of the FAX attribute.
    public final String getFax()
    throws IfsException{
    AttributeValue av= getAttribute(FAX);
    String tmp= av.getString(getSession());
    return tmp.trim();
    * Set the value of the username and password.
    public final void setUsername( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newValue);
    setAttribute( USERNAME, av );
    * Get the current value of the USERNAME.
    public final String getUsername()
    throws IfsException{
    AttributeValue av= getAttribute(USERNAME);
    String tmp= av.getString(getSession());
    return tmp.trim();
    * Set the value of the PASSWORD attribute.
    public final void setPassword( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newValue);
    setAttribute( PASSWORD, av );
    * Get the current value of the password field.
    public final String getPassword()
    throws IfsException{
    AttributeValue av= getAttribute(PASSWORD);
    String tmp= av.getString(getSession());
    return tmp.trim();
    AsapPersonDef.java
    // Copyright (c) 2000 Movement Inc
    package publishasap.definition;
    import oracle.ifs.beans.ClassObject;
    import oracle.ifs.beans.LibrarySession;
    import oracle.ifs.beans.LibraryObjectDefinition;
    import oracle.ifs.beans.ApplicationObjectDefinition;
    import oracle.ifs.common.AttributeValue;
    import oracle.ifs.common.IfsException;
    import javax.servlet.http.HttpServletRequest;
    import oracle.ifs.beans.DocumentDefinition;
    * A Bean class.
    * <P>
    * @author Brooke Supryka
    public class AsapPersonDef extends ApplicationObjectDefinition {
    * This bean is called to create an instance of a person
    * <P>
    * @author Brooke Supryka
    private static final boolean DEBUG = true;
    * Constructs a new instance.
    public AsapPersonDef(LibrarySession ifs) throws IfsException
    //Construct an AsapAuthor object
    super(ifs);
    this.setClassObject(ClassObject.getClassObjectFromLabel(ifs,publishasap.AsapPerson.CLASS_NAME));
    * Set the value of the PREFIX attribute.
    public final void setPrefix( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue( newValue );
    setAttribute( publishasap.AsapPerson.PREFIX, av );
    * Set the value of the first name attribute.
    public final void setFirstName( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue( newValue );
    setAttribute( publishasap.AsapPerson.FIRST_NAME, av );
    * Set the value of the INITIAL attribute.
    public final void setMInitial( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue( newValue );
    setAttribute( publishasap.AsapPerson.INITIAL, av );
    * Set the value of the LAST_NAME attribute.
    public final void setLastName( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue( newValue );
    setAttribute( publishasap.AsapPerson.LAST_NAME, av );
    * Set the value of the SUFFIX attribute.
    public final void setSuffix( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue( newValue );
    setAttribute( publishasap.AsapPerson.SUFFIX, av );
    * Set the EMAIL_ONE attribute.
    public final void setEmail1( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newValue);
    setAttribute( publishasap.AsapPerson.EMAIL_ONE, av );
    * Set the EMAIL_TWO attribute.
    public final void setEmail2( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newValue);
    setAttribute( publishasap.AsapPerson.EMAIL_TWO, av );
    * Set the value of the WORK_PHONE attribute.
    public final void setWkPhone( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newValue);
    setAttribute( publishasap.AsapPerson.WORK_PHONE, av );
    * Set the value of the FAX attribute.
    public final void setFax( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newValue);
    setAttribute( publishasap.AsapPerson.FAX, av );
    * Set the value of the username and password.
    public final void setUsername( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newValue);
    setAttribute( publishasap.AsapPerson.USERNAME, av );
    * Set the value of the PASSWORD attribute.
    public final void setPassword( String newValue )
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newValue);
    setAttribute( publishasap.AsapPerson.PASSWORD, av );
    AsapCustomer
    // Copyright (c) 2000 Movement Inc.
    package publishasap;
    import oracle.ifs.beans.*;
    import oracle.ifs.common.*;
    import oracle.ifs.server.S_LibraryObjectData;
    * Instance of AsapCustomer.
    * <P>
    * @author Ian Kulmatycki
    public class AsapCustomer extends TieApplicationObject {
    public static final String CLASS_NAME= "AsapCustomer";
    public static final String COMPANY_NAME= "companyName";
    public static final String ADDRESS_1= "address1";
    public static final String ADDRESS_2= "address2";
    public static final String CITY= "city";
    public static final String STATE= "state";
    public static final String POSTAL_CODE= "postalCode";
    public static final String PHONE_NUMBER= "phoneNumber";
    public static final String COUNTRY= "country";
    * Constructor
    public AsapCustomer( LibrarySession ifs,
    java.lang.Long id,
    java.lang.Long classId,
    S_LibraryObjectData data)
    throws IfsException{
    // Construct a Document object - standard variant.
    super(ifs,id,classId,data);
    public void setCompanyName(String newName)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newName);
    setAttribute(COMPANY_NAME, av);
    public void setAddress1(String newAddress)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newAddress);
    setAttribute(ADDRESS_1, av);
    public void setAddress2(String newAddress)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newAddress);
    setAttribute(ADDRESS_2, av);
    public void setCity(String newCity)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newCity);
    setAttribute(CITY, av);
    public void setState(String newState)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newState);
    setAttribute(STATE, av);
    public void setPostalCode(String newPostalCode)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newPostalCode);
    setAttribute(POSTAL_C ODE, av);
    public void setCountry(String newCountry)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newCountry);
    setAttribute(COUNTRY, av);
    public void setPhoneNumber(String newPhoneNumber)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newPhoneNumber);
    setAttribute(PHONE_NUMBER, av);
    public String getCompanyName()
    throws IfsException{
    AttributeValue av= getAttribute(COMPANY_NAME);
    return av.getString(getSession());
    public String getAddress1()
    throws IfsException{
    AttributeValue av= getAttribute(ADDRESS_1);
    return av.getString(getSession());
    public String getAddress2()
    throws IfsException{
    AttributeValue av= getAttribute(ADDRESS_2);
    return av.getString(getSession());
    public String getCity()
    throws IfsException{
    AttributeValue av= getAttribute(CITY);
    return av.getString(getSession());
    public String getPostalCode()
    throws IfsException{
    AttributeValue av= getAttribute(POSTAL_CODE);
    return av.getString(getSession());
    public String getCountry()
    throws IfsException{
    AttributeValue av= getAttribute(COUNTRY);
    return av.getString(getSession());
    public String getState()
    throws IfsException{
    AttributeValue av= getAttribute(STATE);
    return av.getString(getSession());
    public String getPhoneNumber()
    throws IfsException{
    AttributeValue av= getAttribute(PHONE_NUMBER);
    return av.getString(getSession());
    AsapCustomerDef.java
    // Copyright (c) 2000 Movement Inc.
    package publishasap.definition;
    import oracle.ifs.beans.*;
    import oracle.ifs.common.*;
    import publishasap.AsapCustomer;
    * Create the definition for an AsapCustomer object.
    * <P>
    * @author Ian Kulmatycki
    public class AsapCustomerDef extends ApplicationObjectDefinition {
    * Constructor
    public AsapCustomerDef(LibrarySession ifs)
    throws IfsException
    // Construct a Document object - standard variant.
    super(ifs);
    this.setClassObject(ClassObject.getClassObjectFromLabel(ifs,publishasap.AsapCustomer.CLASS_NAME));
    public void setCompanyName(String newName)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newName);
    setAttribute(AsapCustomer.COMPANY_NAME, av);
    public void setAddress1(String newAddress)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newAddress);
    setAttribute(AsapCustomer.ADDRESS_1, av);
    public void setAddress2(String newAddress)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newAddress);
    setAttribute(AsapCustomer.ADDRESS_2, av);
    public void setCity(String newCity)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newCity);
    setAttribute(AsapCustomer.CITY, av);
    public void setState(String newState)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newState);
    setAttribute(AsapCustomer.STATE, av);
    public void setPostalCode(String newPostalCode)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newPostalCode);
    setAttribute(AsapCustomer.POSTAL_CODE, av);
    public void setCountry(String newCountry)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newCountry);
    setAttribute(AsapCustomer.COUNTRY, av);
    public void setPhoneNumber(String newPhoneNumber)
    throws IfsException{
    AttributeValue av= AttributeValue.newAttributeValue(newPhoneNumber);
    setAttribute(AsapCustomer.PHONE_NUMBER, av);
    AsapPerson.xml
    <?xml version = '1.0' standalone = 'yes'?>
    <!-- AsapPerson.xml -->
    <ClassObject>
    <Name>AsapPerson</Name>
    <Description>AsapPerson Object</Description>
    <Superclass Reftype = "name">ApplicationObject</Superclass>
    <BeanClassPath>publishasap.AsapPerson</BeanClassPath>
    <Attributes&gt ;
    <Attribute>
    <Name>prefix</Name>
    <DataType>String</DataType>
    <DATALENGTH>4</DATALENGTH>
    </Attribute>
    <Attribute>
    <Name>firstName</Name>
    <DataType>String</DataType>
    <DATALENGTH>30</DATALENGTH>
    </Attribute>
    <Attribute>
    <Name>mInitial</Name>
    <DataType>String</DataType>
    <DATALENGTH>1</DATALENGTH>
    </Attribute>
    <Attribute>
    <Name>lastName</Name>
    <DataType>String</DataType>
    <DATALENGTH>30</DATALENGTH>
    </Attribute>
    <Attribute>
    <Name>suffix</Name>
    <DataType>String</DataType>
    <DATALENGTH>4</DATALENGTH>
    </Attribute>
    <Attribute>
    <Name>email1</Name>
    <DataType>String</DataType>
    <DATALENGTH>50</DATALENGTH>
    </Attribute>
    <Attribute>
    <Name>email2</Name>
    <DataType>String</DataType>
    <DATALENGTH>50</DATALENGTH>
    </Attribute>
    <Attribute>
    <Name>fax</Name>
    <DataType>String</DataType>
    <DATALENGTH>20</DATALENGTH>
    </Attribute>
    <Attribute>
    <Name>wkPhone</Name>
    <DataType>String</DataType>
    <DATALENGTH>20</DATALENGTH>
    </Attribute>
    <Attribute>
    <Name>username</Name>
    <DataType>String</DataType>
    <DATALENGTH>15</DATALENGTH>
    </Attribute>
    <Attribute>
    <Name>password</Name>
    <DataType>String</DataType>
    <DATALENGTH>15</DATALENGTH>
    </Attribute>
    </Attributes>
    </ClassObject>
    AsapCustomer.xml
    <?xml version="1.0" standalone="yes"?>
    <!-- AsapCustomer.xml -->
    <!-- When parsed, this file will create the definition of an AsapCustomer in the database. -->
    <ClassObject>
    <Name>AsapCustomer</Name>
    <Description>Parent of all customers that are using Publishasap.</Description>
    <SuperClass RefType="name">ApplicationObject</SuperClass>
    <BeanClassPath>publishasap.AsapCustomer</BeanClassPath>
    <!-- Attribute list for the object. -->
    <Attributes>
    <!-- The company name of the customer. -->
    <Attribute>
    <Name>companyName</Name>
    <DataType>String</DataType>
    <DataLength>75</DataLength>
    </Attribute>
    <!-- The mailing address of the customer. -->
    <Attribute>
    <Name>address1</Name>
    <DataType>String</DataType>
    <DataLength>50</DataLength>
    </Attribute>
    <!-- The secondary mailing address of the customer. -->
    <Attribute>
    <Name>address2</Name>
    <DataType>String</DataType>
    <DataLength>50</DataLength>
    </Attribute>
    <!-- The mailing city of the customer. -->
    <Attribute>
    <Name>city</Name>
    <DataType>String</DataType>
    <DataLength>30</DataLength>
    </Attribute>
    <!-- The mailing state of the customer. -->
    <Attribute>
    <Name>state</Name>
    <DataType>String</DataType>
    <DataLength>4</DataLength>
    </Attribute>
    <!-- The mailing postal code of the customer. -->
    <Attribute>
    <Name>postalCode</Name>
    <DataType>String</DataType>
    <DataLength>10</DataLength>
    </Attribute>
    <!-- The contact phone number of the customer. -->
    <Attribute>
    <Name>phoneNumber</Name>
    <DataType>String</DataType>
    <DataLength>14</DataLength>
    </Attribute>
    <!-- The mailing country of the customer. -->
    <Attribute>
    <Name>country</Name>
    <DataType>String</DataT ype>
    <DataLength>30</DataLength>
    </Attribute>
    </Attributes>
    </ClassObject>
    null

Maybe you are looking for

  • How to catch SQLException from a session bean

    Hello I have a stateless session bean which has a method to persist an entity (User) in the database. In User there is a foreign key (addressId) from another entity (Address). While i was persisting User, i entered a value of addressId which was not

  • Problem with Nokia CK-7W HandsFree Car Kit

    My wife recently bought a new car and the dealership installed a CK-7W bluetooth kit for us. However, we're having a really annoying problem with it. Every so often, at completely random times, the stero in the car switches off for just a second and

  • How to use XML Anonymizer Module for receiver mail Adapter?

    Hi All,          I would like to know how to use XML Anonymizer Module for receiver mail adapter so as to change the namespace to http://sap.com/xi/XI/Mail/30 from my original namespace? Thank you all in advance?

  • Duplicate ILOAN for unassigned Functional Location

    Hi, We have a peculiar problem: Two ILOANs ( Location & account assignment for technical object) are created by the system for the same equipment - one for the assigned Functional Location and the other for Unassigned Functional Location. When we hav

  • Can we write files and leave them as read-only

    Hey Adobe AIR Community, Another Adobe AIR question for you: Can we write files to the file system and leave them as read-only in  Adobe AIR? In the future, we would overwrite these files (or delete them and  write a new one). Thanks, Mauricio


HashFlare