Get the workflow parameter value before the end of the SOAP client workflow execution

I'm calling webservices SOAP Orchestrator of my request to run a workflow. I want to get a parameter/attribute value before execution of the workflow.

Brief:

I have a XYZ workflow that adds two numbers provided by my application. After that my workflow perform some other features that say 5 minutes.

My application is the result of the addition from the addition is performed. I don't want to wait for these 5 minutes to finish after what my worlkflow is finished and then obtain the result.

Hello DeepakPN - first of all, if you use vCO 5.x, we strongly recommend to use the api instead of the old api SOAP REST.

Now, to answer your question:

When you run a workflow, the returned soap body includes a return workflow id: this is your workflow token id - essentially the Runspace of your workflow. He looks a bit like this:


   
      
         
            ff80808141e74b090141f05c5d2c00f7

There are several additional lines less than retail, but I left it as an important component of the info here is this tag . The value that it contained should be used with the operation "getWorkflowTokenForId". By providing this ID and your credentials, the resulting SOAP body will contain details of your performance at the time of your request. So, if you have your amount stored as an attribute at the time that you run the query, you will see the results. For my simple test, here is my operation "getWorkflowTokenForId" for a test flow that I came through SOAP:


   
      
         
            ff80808141e74b090141f05c5d2c00f7
            Any Test
            1a568e2e-5c15-4b68-9bab-20cb955f0004
            item0
            completed
            completed
            
            20131025120447-0400
            20131025120447-0400
            


>
>



]]>
         
      
   

Inside the tag, there is a tag that contains each of my entries/attributes. In the code above, 'anyInput' is the input parameter for my workflow and of the "inputTypeName" as an attribute.

Hope this helps

Tags: VMware

Similar Questions

  • Cannot get the DHCP client service to start automatically

    I work on a computer that has been recently infected with a fake AV protection virus.  The user has removed the virus using Microsoft Essentials and Malwarebytes.  Subsequently, they were unable to connect to a network with wired network cards or wireless.

    The afd.sys file has been deleted and couldn't start the DHCP client.  As soon as I restored the AFD, I was able to manually start the DHCP client.  At this point, I was able to connect to the network and get on the internet.

    The problem is that I restarted the computer and saved in Windows, the DHCP client is not automatically start as it should by the setting.  I can still go and start it manually, but it does not start by itself.

    I tried to use Winsock fix, the different netsh commands, / flushdns and enough & renew, tdsskiller and a number other programs I have come across.

    Computer is running Windows XP Service Pack 3

    Microsoft Essentials, Malwarebyes, Superantispyware and CCleaner are all installed.

    Any ideas on how to get this to start running automatically without having to do a reinstall of Windows XP?

    Thank you.

    an error saying there is no hard drive installed.

    This may mean that you have a SATA drive.  If so, you have to activate something like "legacy mode" in the BIOS before you can use the XP CD to do a reinstall (unless you have a floppy drive to add SATA drivers or integrate a CD with SATA drivers).

  • How to get the web client to refresh its point of view of the deployment of openstack

    Hello

    I had a problem with my MariaDBs which caused Violence to fail to start after his stop. The webclient service displays a message that failed "bootstrap" and newspapers showed that the databases where failing to start. I got data bases and went 'vioconfig start' of the converted VIO openstack starting towards the high fine. IM able to connect to the dashboard and perform all tasks as before so, everything seems to work very well. However the webclient service always shows VIO in a State with the "bootstrap" of initial start error and error. How can I get the webclient service to acknowledge that Violence now is working well?

    Hello

    Here are the steps to synchronize the user interface with the backend.

    1 > please use the user interface to start and stop the Openstack and avoid using CLI tool (because the tool doesn't have sync the database)

    2 > if you do not have to use the user interface to start the deployment (generally, it was caused by the inconsistent database), then you can manually recovered databases.

    3 > using the method as Arvind suggested but instead of changing the status of 'RUNNING', please change it to "STOPPED".

    4 > then come to the user interface to use the user interface to start the cluster.

    Hereby you will have everthing sync upward.

    Kind regards

    Yixing.

  • Failed to get the SOAP document data

    I hope someone can help - I'm new to Flex. I try to display data from a Web service call and can not understand the chain of dataprovider right datagrid. I posted the SOAP response at the end of this note. The snippit of the chain of dataprovider I have is:

    dataProvider = "{WSName.lastResult.GetPersonResponse.GetPersonResult.SqlRowSet.diffgram.SqlR owSet1.row}" "

    This seems to be just based on the structure of the tree, but it does not work. The rest of the project is almost a copy of the example of webservices in the help file. The webservice is also - a native XML service from MS SQL2005. What Miss me?

    Thank you!

    Eric

    Here is the answer the request SOAP:

    <? XML version = "1.0" encoding = "utf-8"? >
    "" "" "" "" "" "" "" "" < SOAP - ENV:Envelope XML: Space = "preserve" container = " http://www.w3.org/2001/XMLSchema" xmlns: xsi = " http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP - ENV = " http://schemas.xmlsoap.org/soap/envelope/ ' xmlns:sql = ' http://schemas.microsoft.com/sqlserver/2004/SOAP" xmlns:sqlsoaptypes = " http://schemas.microsoft.com/sqlserver/2004/SOAP/types" xmlns:sqlrowcount = " http://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlRowCount" xmlns:sqlmessage = " http://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlMessage" xmlns:sqlresultstream = " http://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlResultStream" xmlns "" "": sqltransaction = ' http://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlTransaction ' xmlns:sqltypes = ' http://schemas.microsoft.com/sqlserver/2004/sqltypes " xmlns:msdata =" "urn: schemas-microsoft-com: xml-msdata" xmlns:method =" http://tempUri.org/" >
    < SOAP - ENV:Body >
    < method: GetPersonResponse >
    < method: GetPersonResult xmlns = "" >
    < sqlresultstream:SqlRowSet xsi: type = "sqlsoaptypes:SqlRowSet" msdata:UseDataSetSchemaOnly = "true" msdata:UDTColumnValueWrapped = "true" >
    "" "< xsd: Schema container = ' http://www.w3.org/2001/XMLSchema" targetNamespace = " http://schemas.microsoft.com/sqlserver/2004/sqltypes" > "
    < xsd:simpleType name = "uniqueidentifier" >
    < xsd:restriction base = "XSD: String" >
    ({< value="([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12 xsd:pattern}) | (-{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\}) "/ >
    < / xsd:restriction >
    < / xsd:simpleType >
    < xsd:simpleType name = "varchar" >
    < xsd:restriction base = "XSD: String" / >
    < / xsd:simpleType >
    < / xsd: Schema >
    "" "" "< xsd: Schema targetNamespace =" "urn: schemas-microsoft - com:sql:SqlRowSet1" xmlns = "" container = " http://www.w3.org/2001/XMLSchema ' xmlns:sqltypes = ' http://schemas.microsoft.com/sqlserver/2004/sqltypes ' elementFormDefault ="qualified">
    "" < xsd: import namespace = ' http://schemas.microsoft.com/sqlserver/2004/sqltypes ' / >
    < xsd: element name = "SqlRowSet1" msdata:IsDataSet = "true" msdata:DataSetNamespace = "" urn: schemas-microsoft - com:sql:SqlDataSet "msdata:DataSetName ="SqlDataSet">"
    < xsd: complexType >
    < xsd: SEQUENCE >
    < xsd: element name = "row" minOccurs = "0" maxOccurs = "unbounded" >
    < xsd: complexType >
    < xsd: SEQUENCE >
    < xsd: element name = "PersonGUID" type = "sqltypes:uniqueidentifier" / >
    < xsd: element name = "FirstName" minOccurs = "0" >
    < xsd:simpleType >
    < xsd:restriction base = "sqltypes:varchar" sqltypes:localeId = "1033" sqltypes:sqlCompareOptions = "IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId = "52" >
    < xsd:maxLength value = "255" / >
    < / xsd:restriction >
    < / xsd:simpleType >
    < / xsd: element >
    < xsd: element name = "LastName" minOccurs = "0" >
    < xsd:simpleType >
    < xsd:restriction base = "sqltypes:varchar" sqltypes:localeId = "1033" sqltypes:sqlCompareOptions = "IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId = "52" >
    < xsd:maxLength value = "255" / >
    < / xsd:restriction >
    < / xsd:simpleType >
    < / xsd: element >
    < xsd: element name = "telephoneNumber" minOccurs = "0" >
    < xsd:simpleType >
    < xsd:restriction base = "sqltypes:varchar" sqltypes:localeId = "1033" sqltypes:sqlCompareOptions = "IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId = "52" >
    < xsd:maxLength value = "10" / >
    < / xsd:restriction >
    < / xsd:simpleType >
    < / xsd: element >
    < xsd: element name = "emailAddress" minOccurs = "0" >
    < xsd:simpleType >
    < xsd:restriction base = "sqltypes:varchar" sqltypes:localeId = "1033" sqltypes:sqlCompareOptions = "IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId = "52" >
    < xsd:maxLength value = "255" / >
    < / xsd:restriction >
    < / xsd:simpleType >
    < / xsd: element >
    < / xsd: SEQUENCE >
    < / xsd: complexType >
    < / xsd: element >
    < / xsd: SEQUENCE >
    < / xsd: complexType >
    < / xsd: element >
    < / xsd: Schema >
    < diffgr:diffgram xmlns:diffgr = "urn: schemas-microsoft-com: XML-diffgram-v1" >
    < SqlRowSet1 xmlns = "urn: schemas-microsoft - com:sql:SqlRowSet1" >
    < row >
    < PersonGUID > 606EC0C5-748F-4E93-B167-00000C725956 < / PersonGUID >
    < FirstName > JERROLD < / name >
    < name > LLEWELLYN < / LastName >
    < telephoneNumber > 3192666187 < / telephoneNumber >
    [email protected] < emailAddress > < / emailAddress >
    < / row >
    < / SqlRowSet1 >
    < / diffgr:diffgram >
    < / sqlresultstream:SqlRowSet >
    < sqlresultstream:SqlResultCode xsi: type = "sqlsoaptypes:SqlResultCode" > 0 < / sqlresultstream:SqlResultCode >
    < / method: GetPersonResult >
    < / method: GetPersonResponse >
    < / SOAP - ENV:Body >
    < / SOAP - ENV:Envelope >

    Sucess!

    I used:

    wsCIM.GetPerson.lastResult.diffgram.SqlRowSet1.row1

    Thank you all!

  • ODIExportLog Tool - get the newspaper details after execution

    Hello
    I need to get the details of the newspaper (exported in a file) after a package is run. So I used the ODIExportLog tool in the package.

    After successful execution of the interface in the log file should be exported package (connected using OK). But the file I got is not in readable form. What should I do to get the logfile format (can be in word, Excel etc.,).

    Any suggestions will really help.

    Thanks in advance,
    RAM Mohan T

    Hi Ram,

    Everything what you did looks fine.

    Reason: *.

    U received 730 folders on the right, the reason why you did the export of logs rather than the specific session or an interface.

    Properties of ODIExportLog:

    Target directory C:\Documents and Settings\rt0032200\Desktop
    Filename LG_FileXML
    ISO-8859-1 character set
    Character ISO8859_1
    Start date 2008/09/16 14:13:09
    Date of end 2008-09-25 14:13:17
    Name of the agent RAM_PHYSIC_AGENT
    GLOBAL context code

    If you give these details you will get less number of files (specific interfaces or sessions)

    State - 'this means the session state, whether successful or not.
    User-
    Name of the session

    Suggestion:_

    Can you please mention that target the directory and leave the name of Fle into the void...

    Let me know if you have had the Solution... :)

    Thank you
    Ananda

  • Cannot get the Telnet Client to install on Vista Ultimate 64 bit

    I am trying to install the Telnet Client on my Vista Ultimate 64 bit.  After waiting for quite a long time so he could install, I get this message:

    "An error has occurred. Not all features have been changed successfully. »

    Anyone know what this means and what I can do to make this complete installation?

    Thank you.

    C.

    Hello Var242,

    We will check your services and see if the telnet service is disabled.  If it is disabled, then lets set it to automatic.
    Even after installation, this service tends to default to disabled.  We will check this and see if this helps you. Zack
    Engineer Microsoft Support answers visit our Microsoft answers feedback Forum and let us know what you think.

  • Get the Thin Client IP address

    Hello. I'm trying to find out the IP address of the machine that I use for programming. I want to use my LabVIEW program on a server. However, the string to the property intellectual VI gives the IP address of the network, so in this case the server IP address. It is a problem, as we hope, in the future, run multiple thin on program clients, if we want the program to know what thin client, it works on. However, I don't have access to the command prompt on the thin client due to administrative restrictions. This eliminates the other solution I found, which was to find the Login Windows user name (each light client has its own unique user name) through different screw which involved the command prompt. Any ideas on how to find the IP address of the customer of the Services Terminal Server Session, I believe that my computer called? Thanks for your time.

    I called and he was referred to this, which worked. We use Citrix server and the username thing worked, and we are now able to run the program for each thin client using his user name.

  • get the movie to delay execution of code after a click in a sprite

    Hello
    I want to know how I could get Director to delay execution of code after a click in a sprite. When I click on the sprite it changes its members and that it plays a sound, but after seconds, I would like that he can reset and have up to this writing some custom drivers to do this, but here Director to suspend the operation of this code for a few seconds and still play the movie. Is anyway to do this?

    Thank you

    pPause property

    on beginSprite me
    pPause = #off
    end

    on mouseUp me
    pPause = milliseconds
    -include your code here that you have already written
    -which will run immediately
    end

    on exitFrame me
    If pPause <> #off then
    If milliseconds > pPause + 1000 * 5 then
    -I used it 5 seconds. Change the 5 to everything which
    -number of seconds you need.
    -run the code or the manager who had to be delayed
    pPause = #off
    end if
    end if
    end

    --
    Craig Wollman
    Specialist jargon
    Word of mouth productions
    212-928-9581.

    www.wordofmouthpros.com
    "jclegs" wrote in message
    News:f17dd1$RKT$1@forums. Macromedia.com...
    > Hi
    > I want to know how I could get Director to delay execution of code after
    > a
    > sprite is clicked. When I click on the sprite it changes its members and plays
    > a
    > sound, but after a few seconds, I would like that it reset and have so far
    > writing
    > a couple of custom managers to do that, but want Director to pause
    > execution of this code for a few seconds and still play the movie. Are there
    > in any case
    > to do this?
    >
    > Thank you
    >

  • My FTP client refuses my password yet web file manager access remains intact. What should I do to get the ftp client to allow me access

    I have access to download files on my site of catalyst for business via a browser.

    My FTP client is non-functional because it has started to reject my password.

    It's the second occurrence of this type.

    ID access by browser only, but as he does not accept the html files I need ftp access as well

    What could happen and how can I solve this problem. ?

    I changed, my password yesterday.  Finally gained access via my ftp client this morning.

    Thank you

  • Where can I get the plugin Client of DR and Backup Appliance

    Hello

    I read the Documentation of data recovery (VMware Data Recovery, Administrator's Guide) and it says I need to install the plug-in client (VMwareDataRecoveryPlugin.msi) and the data backup Appliance. The question is, where are these files? I guess that the device may be on the market of the device, but I don't know what the name of it, or how I can find it. The branch customer I have no idea where is. I watched for vCenter machine, but I can't find it.

    Can you help me with this?

    Thank you.

    Guido.

    You can download it here - http://downloads.vmware.com/d/info/datacenter_downloads/vmware_vsphere_4/4 once installed, you will be able to add the plug in

    If you find this or any other answer useful please consider awarding points marking the answer correct or useful

  • How to get the Kerberos ticket in the post login Windows?

    Installation program:

    1. MIT Kerberos server running on Centos 7 VM
    2. Samba under Centos 7 VM service. This Samba server relies on the KDC to auth.
    3. Demon of authentication personalized running on the same Centos 7 VM
    4. Windows clients that are part of the Kerberos realm. (implemented using Ksetup binary)

    We have a use case where we want that users log on to their Windows computers by using their local account credentials. Job opening, users start a custom binary client, previously installed by us. Then, they enter their username and password (which can be different from their logon user names) through the user interface of the binary custome that are sent via HTTPS to the demon of authentication currently running on the computer virtual 7 of Centos. The authentication daemon checks the validity of the credentials via a Cloud Computing service. Once authenticated, we add the name of user and password for the main database of the Kerberos server running on the virtual machine the Centos 7.

    Then we want the custom Windows binary running on the Windows client for the user to request a Kerberos ticket so that later this ticket can be used to access the SMB service running on the virtual machine the Centos 7.

    How do we get the Windows client to ask the TGT Kerberos KDC MIT? Do we not have to implement the Windows SSPI APIs? How it interacts the Windows LSA and SSP?

    This issue is beyond the scope of this site (for consumers) and to be sure, you get the best (and fastest) reply, we have to ask either on Technet (for IT Pro) or MSDN (for developers)

    If you give us a link to the new thread we can point to some resources it
  • How to manage the SOAP response

    Hello (beginner vCO),

    I use the SOAP Plugin and trying to figure out how to manage the here, a host of SOAP response is the log I get the SOAP response

    [12:53:43.124 2014-05-09] [I] the settings...

    [12:53:43.135 2014-05-09] [I] the available settings:

    [12:53:43.136 2014-05-09] [I] + parameter name: "GetRequestStatusResult", value: "< response >

    < item >

    < ServiceRequestID > SR138917 < / ServiceRequestID >

    OS DEPLOYMENT < ServiceRequestStatus > < / ServiceRequestStatus >

    < ServiceRequestCreated > 09/05/2014-15:20:25 < / ServiceRequestCreated >

    < ServiceRequestCompleted > < / ServiceRequestCompleted >

    MA138921 < CurrentActivity > < / CurrentActivity >

    OS DEPLOYMENT < CurrentActivityTitle > < / CurrentActivityTitle >

    < ActivityStartUTC > 09/05/2014-15:32 < / ActivityStartUTC >

    < ActivityEndUTC > < / ActivityEndUTC >

    < DurationTotalSeconds > < / DurationTotalSeconds >

    < AverageDurationSeconds > < / AverageDurationSeconds >

    < SecondsOffAverage > < / SecondsOffAverage >

    < EstimatedCompletionUTC > < / EstimatedCompletionUTC >

    < / OutputParameters >

    < warning > < / warnings >

    < exceptions > < / Exceptions >

    < / response > '

    It will be better to try and parse text or try and use another method with vCO

    If you haven't done so already, take a look at the action of com.vmware.libarary.soap.processOutParameters.  It is the action that generated the log you have placed in us.  It generates an object Properties (key, value pairs) with the value for each setting that results.

    In your case, assuming that 'outProps' is the result of the above, you can use:

    var getRequestStatusResult = outProps.get ("GetRequestStatusResult");

    And to analyze the code XML with E4X as Ilian said.

  • Error of the game client trying to play poker for espn.

    I get the game client error trying to play poker to espn that he let me play for a few minutes then I get the error message

    Hello

    ·         Have you tried the front steps?

    (1) run the program as administrator

    a. right-click on the game and select Properties

    b. click on the Compatibility tab

    c. under the privilege level, put the check in the box for run this program as an administrator

    d. click on apply

    e. then check if the problem persists.

    (2) otherwise, you can uninstall and reinstall the game, as I suggested before.

    (3) also disable the security software/Firewall and check if it makes a difference. If you are able to play the game so you can change the settings for the security of the software.

    Note: Make sure to allow him to return so that your computer is protected.

    Diana

    Microsoft Answers Support Engineer

    Visit our Microsoft answers feedback Forum and let us know what you think.

    If this post can help solve your problem, please click the 'Mark as answer' or 'Useful' at the top of this message. Marking a post as answer, or relatively useful, you help others find the answer more quickly.

  • How to install the VPN Client and the tunnel from site to site on Cisco 831

    How can I configure a Cisco 831 router (Branch Office) so that it will accept incoming VPN Client connections and initiate tunneling IPSec site to site on our hub site that uses a VPN 3005 concentrator?  I could get the tunnel to work by configuring it in a dynamic encryption card, but interesting traffic side Cisco 831 would not bring the tunnel upward.  I could only put on the side of the hub.  If I use a static encryption card and apply it to the external interface of the 831 I can get this working but then I couldn't get the VPN Client to work.

    Thank you.

    The dynamic map is called clientmap
    The static map is called mymap

    You should have:

    no card crypto not outmap 10-isakmp ipsec dynamic dynmap
    map mymap 10-isakmp ipsec crypto dynamic clientmap

    interface Ethernet1
    crypto mymap map

    Federico.

  • Using VPN to push the update of the AnyConnect client

    Hello - we would use our ASA VPN device to push the latest AnyConnect to our user base. Previously, due to the requirement that the user has administrator rights to install, we could not do this and had to return to SCCM to push upgrades the AnyConnect client. We now have software that will allow the client to load as an administrator, even if the user is not an administrator on the system. Viewfinity is the name of the software.

    My question is on the speed control. I don't want to set up the VPN to push the new AnyConnect, and every user who logs in then gets the installation. We would rather control, based on the group if possible, which gets the new client. This limits the risk if there is a problem to a subset of VPN users and not all that connect and you're trying to download. I can't find a config or config guide which indicates that it is possible. What is there, no one knows if it is or isn't an option? If this isn't the case, we would have to assume a lot of risk for new customers of 1100 deployment in a day, a number of type we plugged on any given business day. Please notify.

    Thank you very much for your help.

    The f

    Hi Jeff,

    There is no option to enable the auto update by connecton profile.

    What you can do however, is to disable this feature on the XML profile, since the XML profile can be defined by group policy, you simply deploy the profile either by having users connect to the specific group tunnel where group policy with the No auto update profile XML or deploy the XML profile manually on each machine.

    Please see this:

    Automatic update

    true

    (Default) Automatically install new packages.

    fake

    Doesn't install new pacakges.

    http://www.Cisco.com/en/us/docs/security/vpn_client/AnyConnect/anyconnect30/Administration/Guide/ac13vpnxmlref.html#wp1220030

    In the profile XML (to disable):

    fake

    Where to find the profile?

    OPERATING SYSTEM

    The directory path

    Windows 7 and Vista

    C:\ProgramData\Cisco\Cisco AnyConnect secure mobility Client\Profile\

    Windows XP

    C:\Document and Settings\All Users\Application Data\Cisco\Cisco AnyConnect secure mobility Client\Profile

    MAC OS X and Linux

    / opt/cisco/anyconnect/profile /.

    http://www.Cisco.com/en/us/docs/security/vpn_client/AnyConnect/anyconnect30/Administration/Guide/ac02asaconfig.html#wp1409000

    Let me know.

    Thank you.

    Portu.

    Please note all messages that you find useful.

    Post edited by: Javier Portuguez

Maybe you are looking for

  • Recover lost email

    Turned off my computer that my email was there. Turned on my computer program and electronic mail was different and all e-mails have disappeared. What happened to my profile e-mail and besides what happened to thunderbird to change the way it looks.

  • The survey code will be corrected?

    The beep code < embed SRC = "birds.wav" loop = "true" HIDDEN = true > does not work in Firefox 4.0, but worked in earlier versions (this is not a question of individual computer). " Read the other posts, I see that Firefox now wants an extra piece of

  • My ipod touch 5th generation don't light?

    So I was playing madden mobile on my ipod, and suddenly it turned off. I tried to turn it back on, but there is not so I thought it was dead. I loaded a few hours and tried to turn it back on but it didn't work. I rebooted, it (holding the "home" but

  • Sound no longer works after reinstalling Windows XP

    My hard drive crashed, so I had to reinstall Windows XP. My sound no longer works, and I've tried everything... followed all instructions and advice from support and still NOTHING. My devices does not even appear in sounds and Audio devices... all gr

  • QUICK blackBerry smartphones!

    How much time does it take for desktop software repair your phone? I started the process and noticed it's terribly slow. Now, I'm debating if we wait it out or come back later. I would wait instead so I can keep an eye on it, but no one knows how lon