JMSReplyTo property

I'm trying to perform the following and would like to find out the recommended approach:
start a BPEL process with a JMSAdapter listener on a static queue (I've accomplished this with a static JMSAdapter)
process the message and capture the 'JMSReplyTo' address sent in the JMS Header
push the message out to the queue designated in the JMSReplyTo address of the inbound header.
I have a couple of issues.
1. The JMSReplyTo field is not coming in the JMSHeader as defined in my adapter... how can I get it...?
2. Can I overwrite the destination on a JMSAdapter call within BPEL? or do I need to use something different like the JMSService?
Looking for a quick turnaround on this... please reply if you have any useful information.
Thanks,
Alan Hebert

Hi Riko - my issue was one of using the JMSReplyTo header variable to advise a response queue for a message.
In the end the main issue was the need to manually edit the jmsAdapterOutboundHeader.wsdl file (created when the PartnerLink using the JMSAdapter is generated) which was set to read-only...
My steps were:
1) Edit the above file and add a JMSReplyTo element to the JMSOutboundHeaderType type.
2) Create a header variable via the Adapter tab of my Invoke action; as per s3.3.9 of the OAS Adapters Users Guide (10.1.2) applicable to JMS
3) Set the value of this header variable (to be the response Queue name [JNDI])using an Assign prior to the Invoke
Thanks for listening.
Dennis

Similar Messages

  • JMSReplyTo property for MQ-message (trouble)

    Hello all!
    I'm trying to send JMS message to MQ-queue and I need to set field JMSReplyToQ in JMS section.
    I'm using:
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0
    JMS_QUEUE_CONNECTION,
    Queue_payload_type => 'SYS.AQ$_JMS_TEXT_MESSAGE'
    FQ domain -> dbms_mgwadm.DOMAIN_QUEUE
    But I can’t set JMSReplyTo property for MQ-message. Please could you like help me for this trouble?
    See below my PL/SQL block:
    declare
    i_msg_id raw(24);
    l_id varchar2(25);
    l_msg_id raw(24);
    l_answer_queuename varchar2(80);
    l_answer_msg clob;
    l_answer_xml XMLType;
    procedure Put_MsgX (i_QueueName varchar2,
    i_msg CLOB,
    i_msg_id raw,
    i_characterSet number := 1208)
    is
    l_EnqueueOptions DBMS_AQ.ENQUEUE_OPTIONS_T;
    l_MsgProperties DBMS_AQ.MESSAGE_PROPERTIES_T;
    l_MsgID raw(16);
    l_msg_str CLOB:=i_msg;
    l_msg_str_len int;
    l_replyto sys.aq$_agent;
    l_header sys.aq$_jms_header;
    l_properties sys.aq$_jms_userproparray;
    l_mess_jms_text sys.aq$_jms_text_message;
    begin
    l_EnqueueOptions.visibility := DBMS_AQ.IMMEDIATE;
    -- Message object creating
    l_msg_str_len:=LENGTH(l_msg_str);
    l_mess_jms_text:=sys.aq$_jms_text_message(l_header
    ,l_msg_str_len
    ,l_msg_str
    ,null);
    -- MQRFH2 jms-folder properties
    l_mess_jms_text.set_groupid('grp_1');
    l_mess_jms_text.set_groupseq(5);
    -- Message corellation ID
    l_MsgProperties.correlation:='555D5120514D5F333C45584D4C2021115178D7BF20046922';
    -- Message priority
    l_MsgProperties.priority:=0;
    -- MQRFH2 usr-folder properties
    l_mess_jms_text.set_string_property('SOAPJMS_requestURI','jms:jndi:');
    l_mess_jms_text.set_string_property('SOAPJMS_contentType','text/xml; charset=utf-8');
    l_mess_jms_text.set_string_property('SOAPJMS_bindingVersion','1.0');
    /* -------- It is NOT WORKED !!! ----------------------------
    -- This code line isn’t effected to result (MQ Series message property ReplytoQ is empty)
    l_mess_jms_text.set_string_property('JMS_IBM_MQMD_ReplyToQ','queue:///PPV.JMS.MQ.OUT');
    -- This code line effected error
    -- oracle.jms.AQjmsException: JMS-147: Invalid ReplyTo destination type, or use of reserved `JMSReplyTo agent name,
    -- or serialization error with AQjmsDestination
    l_replyto:=sys.aq$_agent(null,'FXGTST.JMS_OUT',null);
    l_mess_jms_text.set_replyto(l_replyto);
    -- Sending message to MQ Series queue
    dbms_aq.enqueue(queue_name => i_QueueName,
    enqueue_options => l_EnqueueOptions,
    message_properties => l_MsgProperties,
    payload => l_mess_jms_text,
    msgid => l_MsgID);
    exception
    when others then
    Raise;
    end;
    begin
    i_msg_id:=UTL_RAW.SUBSTR(UTL_RAW.CAST_TO_RAW(SUBSTR(LPAD('999888777',24,'0'),1,24)),1,24);
    l_msg_id:=i_msg_id;
    l_answer_msg:=
    '<?xml version="1.0" encoding="UTF-8"?>'||
    '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">'||
    '<SOAP-ENV:Header>'||
    '<m:UCBRUHeaders xmlns:m="urn:ucbru:gbo:v3"></m:UCBRUHeaders>'||
    '</SOAP-ENV:Header>'||
    '<SOAP-ENV:Body>'||
    -- some XML elements
    '</SOAP-ENV:Body>'||
    '</SOAP-ENV:Envelope>';
    l_answer_xml:=xmltype(l_answer_msg);
    l_answer_queuename :='FXGTST.JMS_IN';
    Put_MsgX(l_answer_queuename,l_answer_msg,l_msg_id);
    commit;
    exception
    when others then
    raise_application_error(-20020, 'Error: '||sqlerrm||' Queue='||l_answer_queuename);
    end;

    From JMS the correct way to set the mq message format to MQSTR is by using a JMS text message. You don't have to set anything explicitly.
    Can you try posting the message to a local mq and use some tool to see the message sitting on the format and check for the MQ format field. Also let know what exact error the other system is getting.
    P.S: For anything MQ, I would recommend to use this forum : www.mqseries.net.

  • AQ+JMS+MQ. Can't set JMSReplyTo property for MQ-message

    Hello everyone!
    I'm trying to send JMS message to MQ-queue and I need to set fields ReplyToQ in MQMD and Rto in JMS section.
    I'm using:
    JMS_QUEUE_CONNECTION,
    Queue_payload_type => 'SYS.AQ$_JMS_BYTES_MESSAGE'
    FQ domain -> dbms_mgwadm.DOMAIN_QUEUE
    When I try to set properties using JMSReplyTo and JMS_IBM_MQMD_ReplyToQ, in result message in MQ-queue these properties doesn't set.
    I don't know how to set JMSReplyTo using v_jms_message.set_replyto(v_agent) , because v_agent has sys.aq$_agent type.
    <pre class="jive-pre">
    DECLARE
    queue_options DBMS_AQ.ENQUEUE_OPTIONS_T;
    message_properties DBMS_AQ.MESSAGE_PROPERTIES_T;
    message_id RAW(16);
    p_xmlstring varchar2(3000);
    queue_name_val varchar2(100);
    v_agent sys.aq$_agent := sys.aq$_agent(' ', null, 0);
    v_jms_message sys.aq$_jms_bytes_message;
    enqueue_options dbms_aq.enqueue_options_t;
    msgid raw(16);
    l_header SYS.AQ$_JMS_HEADER;
    l_properties sys.AQ$_JMS_USERPROPARRAY;
    l_bytes_raw blob;
    l_length number;
    BEGIN
    queue_name_val := 'MQ_JMS_TEST';
    v_jms_message := sys.aq$_jms_bytes_message.construct;
    v_jms_message.set_replyto(v_agent);
    v_jms_message.set_type('mcd://xmlns');
    l_header := sys.aq$_jms_header
    (null,null,null,null,null,null,l_properties);
    dbms_lob.createtemporary(l_bytes_raw,true);
    l_bytes_raw:=utl_raw.cast_to_raw('<some_message>');
    l_length :=dbms_lob.getlength(l_bytes_raw);
    v_jms_message := sys.aq$_jms_bytes_message
    (l_header
    ,l_length
    ,null
    ,l_bytes_raw);
    v_jms_message.set_string_property('JMSReplyTo','queue://SOME_BROKER/SOME_QUEUE');
    -- v_jms_message.set_string_property('JMS_IBM_MQMD_ReplyToQ','SOME_QUEUE');
    DBMS_AQ.ENQUEUE(
    queue_name => queue_name_val,
    enqueue_options => queue_options,
    message_properties => message_properties,
    payload => v_jms_message,
    msgid => message_id);
    END;
    </pre>
    Can anybody help, please?

    Hello everyone!
    I'm trying to send JMS message to MQ-queue and I need to set fields ReplyToQ in MQMD and Rto in JMS section.
    I'm using:
    JMS_QUEUE_CONNECTION,
    Queue_payload_type => 'SYS.AQ$_JMS_BYTES_MESSAGE'
    FQ domain -> dbms_mgwadm.DOMAIN_QUEUE
    When I try to set properties using JMSReplyTo and JMS_IBM_MQMD_ReplyToQ, in result message in MQ-queue these properties doesn't set.
    I don't know how to set JMSReplyTo using v_jms_message.set_replyto(v_agent) , because v_agent has sys.aq$_agent type.
    <pre class="jive-pre">
    DECLARE
    queue_options DBMS_AQ.ENQUEUE_OPTIONS_T;
    message_properties DBMS_AQ.MESSAGE_PROPERTIES_T;
    message_id RAW(16);
    p_xmlstring varchar2(3000);
    queue_name_val varchar2(100);
    v_agent sys.aq$_agent := sys.aq$_agent(' ', null, 0);
    v_jms_message sys.aq$_jms_bytes_message;
    enqueue_options dbms_aq.enqueue_options_t;
    msgid raw(16);
    l_header SYS.AQ$_JMS_HEADER;
    l_properties sys.AQ$_JMS_USERPROPARRAY;
    l_bytes_raw blob;
    l_length number;
    BEGIN
    queue_name_val := 'MQ_JMS_TEST';
    v_jms_message := sys.aq$_jms_bytes_message.construct;
    v_jms_message.set_replyto(v_agent);
    v_jms_message.set_type('mcd://xmlns');
    l_header := sys.aq$_jms_header
    (null,null,null,null,null,null,l_properties);
    dbms_lob.createtemporary(l_bytes_raw,true);
    l_bytes_raw:=utl_raw.cast_to_raw('<some_message>');
    l_length :=dbms_lob.getlength(l_bytes_raw);
    v_jms_message := sys.aq$_jms_bytes_message
    (l_header
    ,l_length
    ,null
    ,l_bytes_raw);
    v_jms_message.set_string_property('JMSReplyTo','queue://SOME_BROKER/SOME_QUEUE');
    -- v_jms_message.set_string_property('JMS_IBM_MQMD_ReplyToQ','SOME_QUEUE');
    DBMS_AQ.ENQUEUE(
    queue_name => queue_name_val,
    enqueue_options => queue_options,
    message_properties => message_properties,
    payload => v_jms_message,
    msgid => message_id);
    END;
    </pre>
    Can anybody help, please?

  • Setting the JMSReplyTo

    Hi everyone,
    I am using a proxy service which communicates via jms (IBM MQ).
    Although the JMSReplyTo field should be available for setting and getting, it does not exist in the Transport Headers node, nor does it exist in the inbound variable.
    I did try to use insert node, and even specific Transport Header, but no luck: I simply cannot use the JMSReplyTo.
    Under the field "Response correlation pattern", in the "JMS Transport" tab, i wish to use the "JMSMessageID" radio button.
    However, that means that i have to set the destination queue my self. How do I do that?
    10x a bunch.

    I don't want to use the MQ transport since it does not support 2-phase commit, only JMS does, and I have to use 2-phase commit.
    This is the exception i get:
    <14:12:52 IDT 10/09/2009> <Error> <WliSbTransports> <BEA-381502> <Exception in JmsInboundMessageContext.close: javax.jms.MessageFormatException: MQJMS1058: Invalid message property name: jms:JMSReplyTo
    javax.jms.MessageFormatException: MQJMS1058: Invalid message property name: jms:JMSReplyTo
         at com.ibm.jms.JMSMessage.newMessageFormatException(JMSMessage.java:5001)
         at com.ibm.jms.JMSMessage.setObjectProperty(JMSMessage.java:6044)
         at com.bea.wli.sb.transports.jms.JmsInboundMessageContext.sendResponse(JmsInboundMessageContext.java:422)
         at com.bea.wli.sb.transports.jms.JmsInboundMessageContext.access$000(JmsInboundMessageContext.java:54)
         at com.bea.wli.sb.transports.jms.JmsInboundMessageContext$1.run(JmsInboundMessageContext.java:274)
         Truncated. see log file for complete stacktrace
    The thing that amazes me the most is the fact that the documentation suggests to set the destination queue using the JMSReplyTo parameter in the JMS header, as seen:
    In the case of Message ID pattern, the client’s JMSReplyTo property tells the server where the response should be sent. This queue is specific to the client’s server and hence responses to different clients will go to different queues. The server sets the JMS Correlation ID of the response to the JMS ID of the request.
    And it is also seen in many other documentations.
    Anyhow - OSB is said to support this field. Moreover, it is a standard JMS parameter. Is there any way of working with JMS and setting the response queue dynamically?
    Or - at least, using the "MessageID" response pattern with a specific hard coded destination queue for the response?
    10x.

  • Not be able to obtain a transacted session within stateless session bean

    I need some assistance on creating a transacted session. For some reason while within a stateless session bean, I am unable to create a transacted session even though I'm specifying to create the transacted queue session. Can anyone provide any assistance to me on this? It would be much appreciated.
    Here is the code snippets involved with the problem:
    Code snipet from ejb-jar.xml:
    <session>
    <display-name>Initial Request</display-name>
    <ejb-name>InitialRequestBean</ejb-name>
    <ejb-class>com.raytheon.rds.jms.InitialRequestBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    Code from stateless session bean:
    static Logger logger;
    private QueueConnectionFactory connectionFactory;
    private SessionContext sc;
    private Queue requestQueue;
    public String processRequest(String msgBody)
    logger.log(Level.INFO, "In processRequest(String).", msgBody);
    QueueConnection con = null;
    QueueSession session = null;
    QueueSender sender = null;
    TextMessage message = null;
    String messageID = null;
    QueueReceiver receiver = null;
    TemporaryQueue replyQueue = null;
    boolean transacted = false;
    try
    //Create the infrastructure (ie. The connection & the session)
    logger.log(Level.FINE, "Creating connection");
    con = connectionFactory.createQueueConnection();
    logger.log(Level.FINE, "Creating session");
    session = con.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);
    //Note: This line above was changed in all possible permutation and still didn't work such as using Session.SESSION_TRANSACTED
    transacted = session.getTransacted();
    logger.log(Level.FINE, "Is session transacted? : " + transacted);
    //Note: This line above is constantly saying false
    //Now first, setup the temporary reply queue and its listener
    replyQueue = session.createTemporaryQueue();
    logger.log(Level.FINE, "Creating receiver/consumer");
    receiver = session.createReceiver(replyQueue);
    con.start();
    //Now create the requestor that will make the request message and put it on the request queue
    logger.log(Level.FINE, "Creating Requestor/Producer");
    sender = session.createSender(requestQueue);
    //Now create the message and make sure that you put the "JMSReplyTo" property to the temporary response queue we just created
    message = session.createTextMessage();
    message.setJMSReplyTo(replyQueue);
    logger.log(Level.FINE, "Created message: " + message.getJMSMessageID());
    //Now add the actual info you want to send
    message.setText(msgBody);
    //Now send the message
    logger.log(Level.INFO, "Sending message: " + message.getText());
    sender.send(message);
    //Now wait until we get a response
    logger.log(Level.FINE, "Waiting for the response message");
    Message responseMsg = receiver.receive(20000); //Toggle the "0" to specify timeout in millisectionds
    //Process the message
    logger.log(Level.FINE, "Processing the response message");
    if(null != responseMsg)
    logger.log(Level.FINE, "responseMsg is : " + responseMsg.toString());
    messageID = processMessage(responseMsg);
    logger.log(Level.FINE, "Response is : " + messageID);
    //close the connection
    logger.log(Level.FINE, "Stopping the connection");
    con.stop();
    catch (Throwable t)
    // JMSException could be thrown
    logger.log(Level.SEVERE, "Exception Thrown in sendRequest: ", t);
    sc.setRollbackOnly();
    finally
    //Close the sender
    if (sender != null)
    try
    logger.log(Level.FINE, "Closing the sender");
    sender.close();
    catch (JMSException e)
    logger.log(Level.WARNING, "JMSException Thrown when trying to close the sender to the request queue: ", e);
    else
    logger.log(Level.FINE, "Sender is already closed.");
    //Close the receiver
    if (receiver != null)
    try
    logger.log(Level.FINE, "Closing the receiver");
    receiver.close();
    catch (JMSException e)
    logger.log(Level.WARNING, "JMSException Thrown when trying to close the receiver to the request queue: ", e);
    else
    logger.log(Level.FINE, "Receiver is already closed.");
    //Close the session
    if (session != null)
    try
    logger.log(Level.FINE, "Closing the session");
    session.close();
    catch (JMSException e)
    logger.log(Level.WARNING, "JMSException Thrown when trying to close the session to the request queue: ", e);
    else
    logger.log(Level.FINE, "Session is already closed.");
    //Close the connection
    if (con != null)
    try
    logger.log(Level.FINE, "Closing the connection");
    con.close();
    catch (JMSException e)
    logger.log(Level.WARNING, "JMSException Thrown when trying to close the connection to the reply queue: ", e);
    else
    logger.log(Level.FINE, "Connection is already closed.");
    return messageID;
    }

    I found the answer through lots of painful searching.
    http://blogs.sun.com/fkieviet/entry/request_reply_from_an_ejb
    This weblog from Frank Kieviet from a sun blog explains what's happening behind the scenes.
    Then I proceeded to create a Bean-Managed Transaction out of my EJB, which is using EJB 3.0. This requires the tag:
    @TransactionManagement(value= TransactionManagementType.BEAN)
    Note: I got this information from http://download.oracle.com/docs/cd/B31017_01/web.1013/b28221/servtran001.htm#BAJIBAFF
    Then I just added the code specified in Frank's blog and everything is working now. The main portion of the code looks like this now:
    //begin the user transaction
    ctx.getUserTransaction().begin();
    //Create the infrastructure (ie. The connection & the session)
    logger.log(Level.FINE, "Creating connection");
    con = connectionFactory.createQueueConnection();
    //Create the session
    logger.log(Level.FINE, "Creating session");
    session = con.createQueueSession(false, Session.SESSION_TRANSACTED);
    transacted = session.getTransacted();
    logger.log(Level.FINE, "Is session transacted? : " + transacted);
    //Now create the sender that will make the request message and put it on the request queue
    logger.log(Level.FINE, "Creating Sender");
    sender = session.createSender(requestQueue);
    //Now create the message
    message = session.createTextMessage();
    //Now add the actual info you want to send
    message.setText(msgBody);
    logger.log(Level.FINE, "Created message: " + message.getJMSMessageID());
    //Now first, setup the temporary reply queue and its listener
    replyQueue = session.createTemporaryQueue();
    if(null != replyQueue)
    logger.log(Level.FINE, "Created temporary queue: " + replyQueue.getQueueName());
    else
    logger.log(Level.FINE, "Temporary Queue could not be created.");
    //make sure that you put the "JMSReplyTo" property to the temporary response queue we just created
    message.setJMSReplyTo(replyQueue);
    //Now send the message
    logger.log(Level.INFO, "Sending message: " + message.getText());
    sender.send(message);
    //Now start the connection
    logger.log(Level.FINE, "Starting the connection");
    con.start();
    //commit the changes
    ctx.getUserTransaction().commit();
    ctx.getUserTransaction().begin();
    //Create the receiver
    logger.log(Level.FINE, "Creating Receiver");
    receiver = session.createReceiver(replyQueue);
    //Now wait until we get a response
    logger.log(Level.FINE, "Waiting for the response message");
    Message responseMsg = receiver.receive(20000); //Toggle the "0" to specify timeout in millisectionds
    //Process the message
    logger.log(Level.FINE, "Processing the response message");
    if(null != responseMsg)
    logger.log(Level.FINE, "responseMsg is : " + responseMsg.toString());
    else
    logger.log(Level.FINE, "No response came back.");
    messageID = processMessage(responseMsg);
    logger.log(Level.FINE, "Response is : " + messageID);
    logger.log(Level.FINE, "Transaction is complete");
    //commit the changes
    ctx.getUserTransaction().commit();

  • Web Service Client - SOAP/jms: Specific response queue (not default queue)?

    Hi @ll
    I try to define a specific jms response queue for a web service client that communicates SOAP/jms, running on a WLS 9.2. The web service itself runs also on a WLS 9.2 where also the request and response queues are located. By default the client receives the responses from a temporary response queue. Is there a way to define a specific response queue e.g. setting the JMSReplyTo property in the request on the client side?
    /cheers&greetz
    Dani

    WLS do not have a light SOAP client with callbacks yet. It is
    not a planed feature for 7.0, but we will considering this for
    post 7.0.
    regards,
    -manoj
    "markhu" <[email protected]> wrote in message
    news:[email protected]..
    Hi, guys:
    I have a system : client written in Java/Swing, HTTPS authentication,
    and then subscribes to a WLS 61. SP2 based JMS Topic and also has the
    ability to send message to a Queue, since I can not bring down the size of
    the client side WLS JMS dependency lib, I am thinking about using SOAP /
    web service as the communication tier between my client and server, so the
    question is: since the client need get the price updates in a real time
    mode, I need build a server side based PUSH for all the new price updates
    which come into the JMS Topic, and broadcast as SOAP messages to client,is
    this mean that I have to build the Call - Back for the Java Swing Client,so
    it can automatically get the new price updates as it's getting from JMS
    Topic now ? Any Idea on how to build server side PUSH based SOAP message
    center as web service ?? Thanks a lot.
    regards,
    mark
    FYI:
    I need the same PUSH service for my .NET based client as well.

  • Javascript  - is there something like an "active row count" property??

    Lets say I have a tabular form. Every time I use the form, the # of rows returned by the query will vary. Maybe first time I go to the page, the select statement returns only 5 rows, but the next day it returns 25 rows.
    Is there some type of system variable to stores the # of rows visible on the page at a given time within this tabular form?
    I realize that if I have an tabular form item with an id of f03 for example, then on each row it will be referenced as f03_0001, then f03_0002 on the next row and then f03_0003 on the next row etc...
    In pseudocode, here is what I want to do:
    For i = 1 to ACTIVE_ROW_COUNT (assuming this is the # of rows in the HTML table)
    perform some operation on 'f03_000' + ACTIVE_ROW_COUNT
    Do you see what I'm after? I checked the APEX api, but I couldn't find such a property. It seems like you can't do much if you can't figure out this current index # or the max on the page.
    Also, I tried playing around with the "this" keyword in hopes of finding a pointer to the "current item" that would have triggered the onchange event, but no luck either.
    Thanks in advance.

    Hi:
    Within javascript you can reference the columns of the tabular form as
    <script>
    col1 = document.forms0.f01;  // the first updateable column of your report
    alert (col1.length) ;   //  number of rows
    </script>varad
    Edited by: varad acharya on Dec 8, 2008 5:53 PM

  • Retrieving ALL values from a single restricted user property

    How can I retrieve ALL values of a single restricted user property from within
    a .jpf file?
    I want to display a dropdown list within a form in a JSP which should contain
    all the locations listed in the property 'locations'. I ever get just the default
    value when I access the property via
    ProfileWrapper pw = userprofile.getProfileForUser(user);
    Object prop = pw.getProperty("ClockSetup", "Locations");

    Well, the code you've got will retrieve the single value of the property
    for the current user. You're getting the default value because the
    current user doesn't have Locations property set, so the ProfileWrapper
    returns the default value from the property set.
    I assume you want to get the list of available values that you entered
    into the .usr file in Workshop. If so, I've attached a
    SetColorController.jpf, index.jsp, and GeneralInfo.usr (put in
    META-INF/data/userprofiles) I wrote for an example that does just this.
    It uses the PropertySetManagerControl to retrieve the restricted values
    for a property, and the jsp uses data-binding to create a list from that
    pageflow method.
    For a just-jsps solution, you can also use the
    <ps:getRestrictedPropertyValues/> tag. I've attached a setcolor-tags.jsp
    that does the same thing.
    Greg
    Dirk wrote:
    How can I retrieve ALL values of a single restricted user property from within
    a .jpf file?
    I want to display a dropdown list within a form in a JSP which should contain
    all the locations listed in the property 'locations'. I ever get just the default
    value when I access the property via
    ProfileWrapper pw = userprofile.getProfileForUser(user);
    Object prop = pw.getProperty("ClockSetup", "Locations");
    [att1.html]
    package users.setcolor;
    import com.bea.p13n.controls.exceptions.P13nControlException;
    import com.bea.p13n.property.PropertyDefinition;
    import com.bea.p13n.property.PropertySet;
    import com.bea.p13n.usermgmt.profile.ProfileWrapper;
    import com.bea.wlw.netui.pageflow.FormData;
    import com.bea.wlw.netui.pageflow.Forward;
    import com.bea.wlw.netui.pageflow.PageFlowController;
    import java.util.Collection;
    import java.util.Iterator;
    * @jpf:controller
    * @jpf:view-properties view-properties::
    * <!-- This data is auto-generated. Hand-editing this section is not recommended. -->
    * <view-properties>
    * <pageflow-object id="pageflow:/users/setcolor/SetColorController.jpf"/>
    * <pageflow-object id="action:begin.do">
    * <property value="80" name="x"/>
    * <property value="100" name="y"/>
    * </pageflow-object>
    * <pageflow-object id="action:setColor.do#users.setcolor.SetColorController.ColorFormBean">
    * <property value="240" name="x"/>
    * <property value="220" name="y"/>
    * </pageflow-object>
    * <pageflow-object id="action-call:@page:index.jsp@#@action:setColor.do#users.setcolor.SetColorController.ColorFormBean@">
    * <property value="240,240,240,240" name="elbowsX"/>
    * <property value="144,160,160,176" name="elbowsY"/>
    * <property value="South_1" name="fromPort"/>
    * <property value="North_1" name="toPort"/>
    * </pageflow-object>
    * <pageflow-object id="page:index.jsp">
    * <property value="240" name="x"/>
    * <property value="100" name="y"/>
    * </pageflow-object>
    * <pageflow-object id="forward:path#success#index.jsp#@action:begin.do@">
    * <property value="116,160,160,204" name="elbowsX"/>
    * <property value="92,92,92,92" name="elbowsY"/>
    * <property value="East_1" name="fromPort"/>
    * <property value="West_1" name="toPort"/>
    * <property value="success" name="label"/>
    * </pageflow-object>
    * <pageflow-object id="forward:path#success#begin.do#@action:setColor.do#users.setcolor.SetColorController.ColorFormBean@">
    * <property value="204,160,160,116" name="elbowsX"/>
    * <property value="201,201,103,103" name="elbowsY"/>
    * <property value="West_0" name="fromPort"/>
    * <property value="East_2" name="toPort"/>
    * <property value="success" name="label"/>
    * </pageflow-object>
    * <pageflow-object id="control:com.bea.p13n.controls.ejb.property.PropertySetManager#propSetMgr">
    * <property value="31" name="x"/>
    * <property value="34" name="y"/>
    * </pageflow-object>
    * <pageflow-object id="control:com.bea.p13n.controls.profile.UserProfileControl#profileControl">
    * <property value="37" name="x"/>
    * <property value="34" name="y"/>
    * </pageflow-object>
    * <pageflow-object id="formbeanprop:users.setcolor.SetColorController.ColorFormBean#color#java.lang.String"/>
    * <pageflow-object id="formbean:users.setcolor.SetColorController.ColorFormBean"/>
    * </view-properties>
    public class SetColorController extends PageFlowController
    * @common:control
    private com.bea.p13n.controls.ejb.property.PropertySetManager propSetMgr;
    * @common:control
    private com.bea.p13n.controls.profile.UserProfileControl profileControl;
    /** Cached possible colors from the User Profile Property Set definition.
    private String[] possibleColors = null;
    /** Get the possible colors, based upon the User Profile Property Set.
    public String[] getPossibleColors()
    if (possibleColors != null)
    return possibleColors;
    try
    PropertySet ps = propSetMgr.getPropertySet("USER", "GeneralInfo");
    PropertyDefinition pd = ps.getPropertyDefinition("FavoriteColor");
    Collection l = pd.getRestrictedValues();
    String[] s = new String[l.size()];
    Iterator it = l.iterator();
    for (int i = 0; it.hasNext(); i++)
    s[i] = it.next().toString();
    possibleColors = s;
    catch (P13nControlException ex)
    ex.printStackTrace();
    possibleColors = new String[0];
    return possibleColors;
    /** Get the user's favorite color from their profile.
    public String getUsersColor()
    try
    ProfileWrapper profile = profileControl.getProfileFromRequest(getRequest());
    return profileControl.getProperty(profile, "GeneralInfo", "FavoriteColor").toString();
    catch (P13nControlException ex)
    ex.printStackTrace();
    return null;
    // Uncomment this declaration to access Global.app.
    // protected global.Global globalApp;
    // For an example of page flow exception handling see the example "catch" and "exception-handler"
    // annotations in {project}/WEB-INF/src/global/Global.app
    * This method represents the point of entry into the pageflow
    * @jpf:action
    * @jpf:forward name="success" path="index.jsp"
    protected Forward begin()
    return new Forward("success");
    * @jpf:action
    * @jpf:forward name="success" path="begin.do"
    protected Forward setColor(ColorFormBean form)
    // set the color in the user's profile
    try
    ProfileWrapper profile = profileControl.getProfileFromRequest(getRequest());
    profileControl.setProperty(profile, "GeneralInfo", "FavoriteColor", form.getColor());
    catch (P13nControlException ex)
    ex.printStackTrace();
    return new Forward("success");
    * FormData get and set methods may be overwritten by the Form Bean editor.
    public static class ColorFormBean extends FormData
    private String color;
    public void setColor(String color)
    this.color = color;
    public String getColor()
    return this.color;
    [GeneralInfo.usr]
    [att1.html]

  • How can i get the all values from the Property file to Hashtable?

    how can i get the all values from the Property file to Hashtable?
    ok,consider my property file name is pro.PROPERTIES
    and it contain
    8326=sun developer
    4306=sun java developer
    3943=java developer
    how can i get the all keys & values from the pro.PROPERTIES to hashtable
    plz help guys..............

    The Properties class is already a subclass of Hashtable. So if you have a Properties object, you already have a Hashtable. So all you need to do is the first part of that:Properties props = new Properties();
    InputStream is = new FileInputStream("tivoli.properties");
    props.load(is);

  • Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

    Hi there,
    I use visual studio community 2013 to develop app for office. When I create app project using template and directly run it, it shows me this error: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
    Can anyone help? Thanks in advance.

    Hi holm0104,
    Did you add custom code into the project? Can you reproduce the issue in a new project without custom code?
    If not, did you have issue when you create a normal web application?
    Regards & Fei
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • "Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information" while attempting to open UNIX/Linux monitor

    We have upgraded our System Center to 2012 R2, and we cannot open any of the UNIX/Linux LogFile monitor property or the UNIX/Linux process monitor property for those monitors created prior to the upgrade.  Error we get is below.  Any assitance
    appreciated.
    Date: 9/30/2014 10:01:46 PM
    Application: Operations Manager
    Application Version: 7.1.10226.0
    Severity: Error
    Message:
    System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
       at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection,
    Boolean suppressSecurityChecks)
       at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection,
    Boolean suppressSecurityChecks)
       at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection,
    Boolean suppressSecurityChecks)
       at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection)
       at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
       at System.Reflection.Assembly.Load(String assemblyString)
       at Microsoft.EnterpriseManagement.Internal.UI.Authoring.Extensibility.TypeContainer.get_ContainedType()
       at Microsoft.EnterpriseManagement.Internal.UI.Authoring.Extensibility.MomExtensionsCommon.AddTemplatePages(LaunchTemplateUIData launchData, Form form)
       at Microsoft.EnterpriseManagement.Internal.UI.Authoring.Extensibility.MomExtensionsCommon.Initialize(Object launchData, Form form)
       at Microsoft.EnterpriseManagement.Internal.UI.Authoring.Extensibility.MomExtensionsCommon.RunPrivate(Object[] userData)
       at Microsoft.EnterpriseManagement.Internal.UI.Authoring.Extensibility.MomExtensionsCommon.Run(Object[] userData)

    It's possible the upgrade did not update everything properly as it looks like a dll mismatch or a missing file. I'd open a support ticket with MS and have a support engineer look at the upgrade logs. What version of SCOM did you upgrade from?
    Regards,
    -Steve

  • How to use property of dimension to filter the 2nd dimension in Allocation?

    Hi experts,
    How do we use a property of one dimension to filter out the members of another dimension in allocation script engine?
    eg of two dimensions
    1.)Entity dimension - (entity dimension)
      memberset:                                        Channeltype (property)
                       Stores
                        Store1                           Boutique
                        Store2                           Kiosk
                        Store3                           Branch
                        Store4                           Concession
                        Store5                           Franchise
                      Nonstore
    2.)business Channel dimension - (user define)
       memberset:
                   Channeltype   
                       Boutique
                       Kiosk
                       Branch
                       Concession
                       Franchise
                       Nochannel
    in allocation code
    *runallocation
    *factor
    *dim entity                          what=Nonstore;                where=bas(Stores)
    *dim businesschannel        what=nochannel;             where= ? ;
    *endallocation
    The thing is that when the engine selected store 2 for entity it should select kiosk as its businesschannel.
    Please advise.
    Thanks as always,
    yajepe

    Hi,
    In this case, I believe, you should have the allocation within a for loop. But you should note that the performance might reduce.
    *FOR %VAR% = BAS(STORES)
       *RUNALLOCATION
       *FACTOR
       *DIM ENTITY WHAT = NONSTORE; WHERE = %VAR%
       *DIM BUSINESSCHANNEL WHAT = NOCHANNEL; WHERE = %VAR%.CHANNELTYPE
       *ENDALLOCATION
    *NEXT
    Hope this helps.

  • Using a Variable in the Get PRoperty Tag???

    This is what I tried:
    <% String colname="code02"; %>
    <jsp:getProperty name='Input' property='<%=colname%>' />
    Produced this:
    Internal Servlet Error:
    org.apache.jasper.JasperException: Cannot find any information on property '' in a bean of type 'com.infomed.InputBean'
    at org.apache.jasper.runtime.JspRuntimeLibrary.getReadMethod(JspRuntimeLibrary.java:616)
    at org.apache.jasper.compiler.GetPropertyGenerator.generate(GetPropertyGenerator.java:101)
    at org.apache.jasper.compiler.JspParseEventListener$GeneratorWrapper.generate(JspParseEventListener.java:771)
    at org.apache.jasper.compiler.JspParseEventListener.generateAll(JspParseEventListener.java:220)
    at org.apache.jasper.compiler.JspParseEventListener.endPageProcessing(JspParseEventListener.java:175)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:210)
    at org.apache.jasper.servlet.JspServlet.doLoadJSP(JspServlet.java:612)
    at org.apache.jasper.servlet.JasperLoader12.loadJSP(JasperLoader12.java:146)
    at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:542)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:258)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:268)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:429)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:500)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
    at org.apache.tomcat.core.Handler.service(Handler.java:287)
    at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
    at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
    at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
    at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
    at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
    at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
    at java.lang.Thread.run(Thread.java:484)
    Any Help you can give would be greatly appreciated, what I need to do is cycle through code01, code02....code15
    and use the string to do it, but use a counter integer to create the string, ie..'code0' + i and then use the sting to access
    on of the member properties in the been...(Code01, Code02) ertc.
    If I simply do a
    <jsp:getProperty name='Input property='code02'/>
    everything works great.
    when I try to replace the property='code02' with a variable, so that I can run through a loop, I run into the problems
    Any ideas would be of great help as I am pounding my head against the brick wall

    Expressions aren't allowed in the getProperty tag:
    http://java.sun.com/products/jsp/pdf/card11.pdf

  • WDA error in changing read only property of fields at runtime

    Hello Friends,
    I am creating a custom Web Dynpro ABAP Application for FI module in ECC 6.0
    I need to make a set of fields uneditable/grayed out based on a value in a dropdown list. If the user chooses the other value (out of the 2 values provided) in the dropdown list, the set of fields need to made editable.
    I created a context attribute of type WDY_BOOLEAN and bound this attribute to the "readOnly" property of the aforementioned fields. When defining context binding, I chose the option "Bind Directly to the Selected Attribute".
    I have written the following code in the OnSelect event handler method for the dropdown:
    I read the value in the dropdown which is stored in the variable "lv_payment_instrument". Based on this value, I am changing the value of the context attribute:
    if lv_payment_instrument = 'X'.
      DATA lo_nd_check_fields1 TYPE REF TO if_wd_context_node.
      DATA lo_el_check_fields1 TYPE REF TO if_wd_context_element.
      DATA ls_check_fields1 TYPE wd_this->Element_check_fields.
      DATA lv_editable1 TYPE wd_this->Element_check_fields-editable.
    navigate from <CONTEXT> to <CHECK_FIELDS> via lead selection
      lo_nd_check_fields1 = wd_context->get_child_node( name = wd_this->wdctx_check_fields ).
    @TODO handle non existant child
    IF lo_nd_check_fields IS INITIAL.
    ENDIF.
    get element via lead selection
      lo_el_check_fields1 = lo_nd_check_fields1->get_element( ).
    @TODO handle not set lead selection
      IF lo_el_check_fields1 IS INITIAL.
      ENDIF.
    @TODO fill attribute
    lv_editable = 1.
    set single attribute
      lo_el_check_fields1->set_attribute(
        name =  `EDITABLE`
        value = 'ABAP_FALSE' ).
    elseif lv_payment_instrument = 'Q'.
      DATA lo_nd_check_fields TYPE REF TO if_wd_context_node.
        DATA lo_el_check_fields TYPE REF TO if_wd_context_element.
        DATA ls_check_fields TYPE wd_this->Element_check_fields.
        DATA lv_editable TYPE wd_this->Element_check_fields-editable.
    *navigate from <CONTEXT> to <CHECK_FIELDS> via lead selection
        lo_nd_check_fields = wd_context->get_child_node( name = wd_this->wdctx_check_fields ).
    *@TODO handle non existant child
       IF lo_nd_check_fields IS INITIAL.
       ENDIF.
    *get element via lead selection
        lo_el_check_fields = lo_nd_check_fields->get_element( ).
    *@TODO handle not set lead selection
        IF lo_el_check_fields IS INITIAL.
        ENDIF.
    *@TODO fill attribute
       lv_editable = 1.
    *set single attribute
        lo_el_check_fields->set_attribute(
          name =  `EDITABLE`
          value =  'ABAP_TRUE' ).
    endif.
    When the user chooses either of the 2 values in the dropdown, the set of fields are made uneditable. I am unable to make them editable again.
    I would greatly appreciate your inputs/thoughts on how to rectify this error.
    Regards,
    Arun.

    Hi,
    Create one attribute of type WDY_BOOLEAN , i think u already done.
    First get selected dropdown value into one variable.
    For example  :
    lo_el_segment1 = WDEVENT->GET_CONTEXT_ELEMENT( 'CONTEXT_ELEMENT' ).
    get all declared attributes
    lo_el_segment1->get_static_attributes(
    IMPORTING
    static_attributes = ls_segment1 ).
    now ls_segment1 has selected drop down value.
    DATA : lv_dropdown type string .
    lv_dropdown = ls_segment1-segment.
    If lv_dropdown = 'X'.
    set single attribute
    lo_el_check_fields1->set_attribute(
    name = `EDITABLE`
    value = ABAP_FALSE ). // No Quotes, ABAP_TRUE or false not works use 1 0r 2 or ' ' 'X' .
    elseif lv_dropdown = 'Q'.
    set single attribute
    lo_el_check_fields1->set_attribute(
    name = `EDITABLE`
    value = ABAP_FALSE ).
    else.
    set single attribute
    lo_el_check_fields1->set_attribute(
    name = `EDITABLE`
    value = ABAP_TRUE ).
    Hope it solves..
    cheers,
    Kris.

  • Not able to Retrieve Transaction Data based on the property of master data

    Hi,
    I am trying to retrieve transaction data based on property of Master Data for ACCOUNT (property  ACCTYPE = ‘EXP’)
    in BPC 10 version for netweaver.
    Transaction data is present at backend, But I am not getting data in Internal table after running RSDRI Query.
    I am using this code.
    DATA: lt_sel TYPE uj0_t_sel,
    ls_sel TYPE uj0_s_sel.
    ls_sel-dimension = 'ACCOUNT'.
    ls_sel-attribute = 'ACCTYPE'.
    ls_sel-sign = 'I'.
    ls_sel-option = 'EQ'.
    ls_sel-low = 'EXP'.
    APPEND ls_sel TO lt_sel.
    lo_query = cl_ujo_query_factory=>get_query_adapter(
    i_appset_id = lv_environment_id
    i_appl_id = lv_application_id ).
    lo_query->run_rsdri_query(
    EXPORTING
    it_dim_name = lt_dim_list " BPC: Dimension List
    it_range = lt_sel" BPC: Selection condition
    if_check_security = ABAP_FALSE " BPC: Generic indicator
        IMPORTING
    et_data = <lt_query_result>
        et_message = lt_message
    Data is coming if i use ID of ACCOUNT directly, for e.g.
    ls_sel-dimension = 'ACCOUNT'.
    ls_sel-attribute = 'ID'.
    ls_sel-sign = 'I'.
    ls_sel-option = 'EQ'.
    ls_sel-low = 'PL110.
    APPEND ls_sel TO lt_sel.
    so in this case data is coming , but it is not coming for property.
    So Please can you help me on this.
    Thanks,
    Rishi

    Hi Rishi,
    There are 2 steps you need to do,.
    1. read all the master data with the property you required into a internal table.  in your case use ACCTYPE' = EXP
    2. read transaction data with the masterdata you just selected.
    Then you will get all your results.
    Andy

Maybe you are looking for

  • LaserJet Pro 400 M401dn - 79 SERVICE ERROR

    We have only had this printer less than a year and I am getting a 79 SERVICE ERROR.  I have power cycled, unplugged and all the normal tries... no go.  It will print the menu map but will not accept a print job from a user. I try to get to the printe

  • Photo orientation issues on ipod touch..

    I was wondering if anyone else has this problem.. when I was going through my pictures zooming in and out and rotating the frame something weird happened. I guess I rotated while I zoomed and the picture actually got stuck at like 45 degrees. After a

  • Migrate tables and data from ODBC datasource to Oracle 11.2

    Hiya I have a database file in Dynamics NAV 5.0 native format - about 200-300 tables totalling maybe 10 GB worth of data. My task is to migrate those tables with their data into a schema in our Oracle 11.2 database. No tools support the NAV format di

  • Cisco Prime NCS 1.2.1.012 nms stopped

    Hi all, Got an issue with nms server stopped, it is the full 3300 appliance not a vm, have tried: 1. ncs stop ncs cleanup ncs start 2. ncs stop ncs redidb ( off the top of my head can't remember exact command for that one) ncs start 3. tried reboot a

  • Adobe Reader XI arbeitet nicht im sicheren Modus

    Auf meinem PC (XP SP3) erscheint beim Versuch , eine pdf Datei zu öffnen, regelmässig die Meldung, dass dies aufgrund der Konfiguration meines PC nicht im sicheren Modus möglich sei. Ich muss dann "unsicherer Modus" anklicken. Was muss ich tun, damit