Enviornment needed for jms

hi,
i am new in jms.i want to know what s/w i need to run jms examples? had jdk1.3 and working with win98/nt. what i need to download for jms?
thanx.
sibu

You need jms.jar and jndi.jar and then you have to get a jms implementation somewhere. You may try with open source implementations like OpenJMS
http://www.exolab.org/
or with Open3
http://www.open3.org/home/home.po
-Raine-

Similar Messages

  • JMS implementation of P2P protocol: need for statefulness!

    Hello!
    I have to implement the Chord peer-to-peer protocol using JMS. I'm thinking of using a message-driven bean per node in order to manage asynchronous communication (and I've been able to make this work).
    The problem is that the protocol requires that every node keep some information about its neighbours, about the data it manages, etc.
    This means I have to keep a state of the node, which doesn't seem to be possible if I use EJBs.
    I think that a possible solution might be to couple the message-driven JMS bean with a session bean, and instruct the message-driven been to forward to the session bean the messages it receives. This should allow the session bean to manage the state of the node, while leaving the communication stuff to the message-driven bean.
    My doubts are:
    - How can the message-driven bean find and contact the associated session bean?
    - Is this design practical?
    Thank you!

    You are accessing the runtime mbean of a JMS destination. The JNID name of a destination is not available on the runtime destination MBean.
    If you are using jms-system-resource to deploy your JMS module, you should be able to access the deployment mbean of the destination. The starting MBean for JMS is JMSSystemResourceMBean in this case.

  • How do I check the Oracle enviornment variables for a connection?

    I am using Oracle JDBC 10.2.0.4 and trying to output the Oracle enviornment variables for a connection.
    I am trying to determine if the values output from sqlplus from the following two SQL select statements are different in the connection object:
    SELECT * from NLS_SESSION_PARAMETERS order by 1;
    NLS_CALENDAR GREGORIAN
    NLS_COMP BINARY
    NLS_CURRENCY $
    NLS_DATE_FORMAT MM/DD/YYYY HH24:MI:SS
    NLS_DATE_LANGUAGE AMERICAN
    NLS_DUAL_CURRENCY $
    NLS_ISO_CURRENCY AMERICA
    NLS_LANGUAGE AMERICAN
    NLS_LENGTH_SEMANTICS BYTE
    NLS_NCHAR_CONV_EXCP FALSE
    NLS_NUMERIC_CHARACTERS .,
    NLS_SORT BINARY
    NLS_TERRITORY AMERICA
    NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
    NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_TIME_FORMAT HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
    SELECT sys_context('userenv','language') from dual;
    AMERICAN_AMERICA.WE8ISO8859P1
    Is there a way to do this in the API or do I just need to run the SQL statements in a Class and output the values to a log?
    Thanks,
    --Todd                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      

    So try it.
    Create a connection with no settings.
    Alter all of the (session only)
    Query again and see.
    Either the query will return the altered values or it won't.

  • What is the need for setting property data inside the JMSMesage

    Hi
    Could anybody please let me know
    *What is the need for setting property data inside the JMSMesage??
    For example i have a seen a similar example as shown ??
    I have seen a
    Message.setStringProperty("Sport","Basketball");
    and also please tell me how can the MDB recievies this property data ??
    Thanks in advance .

    raviprivate wrote:
    Could anybody please let me know
    *What is the need for setting property data inside the JMSMesage??
    For example i have a seen a similar example as shown ??
    I have seen a
    Message.setStringProperty("Sport","Basketball"); Look at the detail JMS documentation on [Message Properties|http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/jms/Message.html] .
    >
    and also please tell me how can the MDB recievies this property data ?? MDB onMessage method argument is the Message object and if you look at the documentation, Message interface has getter methods to retrieve the properties.

  • How to set property for Cluster Environment for JMS Adapter

    Hi All,
    I am moving from DEV to Prod environment which is cluster.
    Can you Please explain me what property I need to Set for Cluster Environment for JMS Adapter, so that I could avoid race condition for Dequeue/enqueue.
    I am using soa suite 10.1..3.4
    Thanks in Advance.
    Edited by: vikky123 on Jul 12, 2010 7:03 AM

    put something like this
    <activationAgents>
          <activationAgent className="oracle.tip.adapter.fw.agent.jca.JCAActivationAgent" partnerLink="PARNERLINKNAME">
            <property name="clusterGroupId">SOMEUNIQUEVALUE</property>
            <property name="portType">PARTNERLINK_PORTTYPE</property>
          </activationAgent>
        </activationAgents>

  • How to set message id for JMS

    Hi All,
    I set up the JMS connection with JBoss, and send the message asynchrously to JBoss successfully.
    But right now, Jboss need to use the incoming message ID as correlation ID in Jboss.
    How could i set the message id from payload (not PI message ID, not PI Conversation ID) for JMS receiver adapter?
    thanks a lot
    already check the following links:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5059f110-0d01-0010-7c8b-fdc983be70c0
    Re: jms message id in jms sender channel
    JMS Correlation ID
    XI JMS mq series correlation id
    cannot find any about set JMS Message ID from payload
    Edited by: Lawrence on Dec 24, 2009 2:21 PM

    Hi Lawrence,
    I am not sure how jboss will store message,But i had done similar requirement but my system is MQ,Standard JMS adapter not supports to chnage the value or set mesage id in MQ,we can change the PI Message ID Value but not JBOSS/MQ Message ID.
    Writng module is the one option.
    Regards,
    Raj

  • Configuration for JMS Adapter Sensor action and JMS Queue sensor action..!!

    Hi,
    Id like my BPEL process to send an XML message to JMS on Websphere,I was able to do this through a JMS adapter.But I would more like to add sensors into my process which would really do the same thing - send an XML message to JMS Q.
    Now I understand that there are two ways to do this,JMS Queue and JMS Adapter - thorugh bpel sensor action.
    I am able to use JMS Queue and it works fine , but adds its own xml tags to the message,Is there any way I could send only my xml payload as a message to the queue??
    Also could any1 tell me what is the configuration for JMS Adapter sensor action?
    Any suggestions how do I go about it??

    Hey Anirudh,
    Thanx for the response :-)
    All these hold good when I have an AQ adaptor right,But the thing is I want to send a message to a 'JMS' queue with out actually using an adapter configuration wizard and everythng..So I resolved to JMS queue Sensor action..Heres the xml snippet from the sensorAction.xml files which is generated..
    <actions targetNamespace="http://xmlns.oracle.com/Test_JMS_Logging" xmlns="http://xmlns.oracle.com/bpel/sensor" xmlns:tns="http://xmlns.oracle.com/Test_JMS_Logging" xmlns:pc="http://xmlns.oracle.com/bpel/sensor">
    <action name="JMS_LogEntry" publishName="" publishType="JMSQueue" enabled="true" filter="" publishTarget="jms/L_Queue">
    <property name="JMSConnectionFactory">jms/L_QueueCF</property>
    <sensorName>ActivitySensor_JMS</sensorName>
    </action>
    </actions>
    This works grt and adds messages to the queue..But adds its own header info according to the sensor.xsd loacted at the Oracle_home\bpel\system\xmllib\ folder.
    Right now the XML message added to the Queue is:-
    <actionData xmlns="http://xmlns.oracle.com/bpel/sensor">
    <header>
    <sensor sensorName="ActivitySensor_JMS" classname="oracle.tip.pc.services.reports.dca.agents.BpelActivitySensorAgent" kind="activity" target="AddLEntr
    y" xmlns:pc="http://xmlns.oracle.com/bpel/sensor" xmlns:ns2="http://www.ulrhome.com/2008/10/L_Entry" xmlns:tns="http://xmlns.oracle.com/Test_JMS">
    <activityConfig evalTime="completion">
    <variable outputDataType="string" outputNamespace="http://www.w3.org/2001/XMLSchema" target="$WriteL_Produce_Message_InputVariable/L_Entry/ns2:L_Entry/ns2:LCName"/>
    </activityConfig>
    </sensor>
    <instanceId>950016</instanceId>
    <processName>Test_JMS</processName>
    <processRevision>v2009_04_15__40833</processRevision>
    <domain>default</domain>
    <timestamp>2009-04-15T11:21:23.596-04:00</timestamp>
    <midTierInstance>app01.ulrhome.com:9700</midTierInstance>
    </header>
    <payload>
    <activityData>
    <activityType>scope</activityType>
    <evalPoint>completion</evalPoint>
    <durationInSeconds>0.011</durationInSeconds>
    <duration>PT0.011S</duration>
    </activityData>
    <variableData>
    <dataType>12</dataType>
    <data>
    <ns0:LCName xmlns:ns0="LC_Test1http://www.ulrhome.com/2008/10/L_Entry">LC_Test1</ns0:LCName>
    </data>
    <queryName/>
    <target>$WriteL_Produce_Message_InputVariable/L_Entry/ns2:L_Entry/ns2:LCName</target>
    <updaterName>AddL_Entry</updaterName>
    <updaterType>scope</updaterType>
    </variableData>
    </payload>
    </actionData>
    My requirement is that I need to add a sensor to the BPEL process which posts 'Only my payload message to the JMS queue'..
    What I would want the message in the Queue to be is : -
    <data>
    <ns0:LCName xmlns:ns0="LC_Test1http://www.ulrhome.com/2008/10/L_Entry">LC_Test1</ns0:LCName>
    </data>
    Also while creating a Sensor action I get another option as JMS Adaptor,I am not sure of what value to type in this wizard..Heres what I keyed in..M sure this is not right..Cos it dosnt work :-)
    <action name="SensorAction_JMS" publishName="" publishType="JMSAdapter" enabled="true" filter="" publishTarget="jms/LoggingQueue">
    <property name="JMSConnectionName">Log</property>
    </action>
    </actions>
    Could any 1 tel me what values are the right values..And does JMS Adapter mean that I have to create a JMS Apator in the project and give that connection name as a Value..
    I am not finding sufficiant Documentation for 'JMS Adapter' so M clueless and right now any help will be appriciated :-)
    Regards,
    Akshatha.

  • Concurrency for JMS Sender Adapter - Async/Sync Bridge

    Hi,
    We have implemented a number of Async/Sync bridges using JMS Adapters, and are encountering problems scaling the solution.
    Async-Sync Bridge Scenario:
    JMS Sender Adapter -> Integration Server -> Sync ABAP Proxy (CRM) ->  JMS Receiver Adapter
    The bridge is using the Adapter Framework modules: RequestResponseBean & ResponseOnewayBean within the Sender Adapter.
    The problem is that concurrency of processing seems to be driven from the number of Java Server Cluster Nodes on the Adapter Engine.  The JMS sender adapters do not appear to read from the external messaging system (MQ) in a concurrent fashion.  They appear to process in a sequential manner per Adapter:
    1. Read from request Message Queue (MQ)
    2. Send request for processing (IS)
    3. Wait response message
    4. Receive response message
    5. Write response message to Message Queue (MQ)
    6. Read from request Message Queue (MQ)
    7. Send request for processing (IS)
    8. Wait response message
    9....
    We need to be able to introduce some means of scaling the solution so that mesages can be read from the MQ request message queue in a concurrent manner.  Hopefully we can do this without adding more javer server nodes to the Adapter Engine.
    We were looking intot he possibility of tuning AS Java properties that control the number of connections to the Messaging System of the Adapter Engine but this has not provided a solution.
    Any information on  this topic would be much appreciated.
    regards
    Murray

    As far as I know, the only wasy for JMS adapter to do concurrent reads from a queue is by having multiple server nodes. This is document in note 856346, point 6.2
    Thanks
    KK

  • How to Configure Selector For JMS Bridge

    Hi,
    I was trying with Selector option in working with multiple Bridges, here is the scenario i applied.
    Created five Queues ( Q1, Q2, Q3, Q4 and Q5 ) and configured JMS Bridge Destinations having each queue with unique connection factory ( CF1, CF2, CF3, CF4 and CF5 ) and named it as D1, D2, D3, D4 and D5.
    Then created JMS Bridges as JB2 with source as D1 and destination as D2. Similarly JB3 as D1-D3, JB4 as D1-D4 and JB5 as D1-D5.
    And set Sector for each of JB2, JB3, JB4 and JB5 as Two, Three, Four and Five respectively and did restart after the changes.
    Now i am expecting the following scenario to work
    Pushing message to Q1/CF1 having Two in the content of message, hence expecting the message to be delivered to Q2/CF2 through JB2, but the messages is not moved through JB2.
    Similarly, Pushed message to Q1/CF1 having Three in the content of message, hence expecting the message to be delivered to Q3/CF3 through JB3, but the messages is not moved through JB3. Similar behavior for other messages having Four and Five in the message content.
    During the bridge configuration, selected QOS as "Atmost-Once".
    Note: All the configurations were done in same domain and the WL version is 10.3.6.0.*
    The sample message i am pushing to Q1/CF1 say "Two Test Data"* and expecting to reach Queue Q2/CF2
    Regards
    Venkata Madhu
    Edited by: vv**** on Sep 12, 2012 1:05 PM

    Hi Venkata,
    The expected selector syntax is the standard SQL-like JMS syntax. There's an extensive description of the syntax in the javadoc for javax.jms.Message.
    Selectors should normally only reference message header fields and message properties. I don't normally recommend using a selector that is based on message body as this requires using a proprietary WebLogic extension based on "xpath" XML expressions, and can have an large impact on performance. (The performance hit is caused by two factors - the need for the JMS server to unmarshal/decompress/page-in the body in order to get at its contents, and the natural cost of scanning a message body to see if it matches a string.)
    HTH,
    Tom

  • Correlation for JMS Queue

    Hi,
    I have following scenario :
    Queue1
    Bpel1 -> Writes Schema A to Queue1
    Bpel2 -> Writes Schema B to Queue1
    Bpel3 -> Reads from Queue1
    I need that Bpel3 should read only Schema A from Queue and not Schema B.
    So how will i define the correlation between Bpel1 & Bpel 3.
    I tried fetching the processId in Bpel 1 and add it to Invoke property jca.jms.JmsCorrelation_id, but was not able to set the same in Bpel3.
    Any help/spec in setting up correlation for JMS Queues is highly apreciated.
    Thanks !!

    In standard JMS, an application can specify a correlation-id on per message basis using the javax.jms.Message API, and then specify a filter (a "selector") when creating a consumer via the javax.jms.Session API, but, in general, it is usually better to use a separate dedicated queue per business process (simplifies management, simplifies coding, improves perf, etc), or, if that's not an attractive option, to use a single MDB to dispatch messages from the same queue to different business processes. I don't know the specific steps to do the same in BPEL.
    You might want to try posting to the BPEL forum at BPEL
    Hope this helps,
    Tom

  • Help Needed in JMS Provider

    Hi,
       In a document for JMS Connector it is given as we need to register the JMSConnectionFactory using Non-JNDI Provider, if our JMS Provider does not provide a naming system.
    Does WebSphere MQ(non JMS) provides a naming system? If not should i register it using Non-JNDI procedure? When i register, its asking me to fill the Object Factory class and JMS Factory class? I am not able to find out the class implementing the javax.jms.QueueConnectionFactory and javax.naming.spi.objectFactory  interface.
    Please help me out.
    Regards
    Rahul

    Thanks Amol. Right now we are on SP9 and we are facing the error
          Error: javax.jms.JMSException: MQJMS2005: failed to create MQQueueManager for '<my_jms_host>:<my_jms_qm>'
    at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:434)
    at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:998)
    at com.ibm.mq.jms.MQConnection.createQMNonXA(MQConnection.java:707)
    at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:206)
    at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:76)
    at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:143)
    at com.sap.aii.messaging.adapter.ModuleTransport2JMS.init(ModuleTransport2JMS.java:343)
    at com.sap.aii.messaging.adapter.ModuleHandlerImpl.run(ModuleHandlerImpl.java:555)
    at java.lang.Thread.run(Thread.java:479)
    There is a OSS Note(749743) for this error. Its been specified as error occurs in SP5 and solution is we need to upgrade it. But we are facing it with SP9. Thats why i was trying to look into these parameters. If i upgrade it to SP15, will it be solved?

  • [svn:bz-trunk] 19866: Set delivery mode to PERSISTENT for JMS destinations that have durable set to true .

    Revision: 19866
    Revision: 19866
    Author:   [email protected]
    Date:     2011-01-21 10:05:44 -0800 (Fri, 21 Jan 2011)
    Log Message:
    Set delivery mode to PERSISTENT for JMS destinations that have durable set to true. If messages aren't persistent they won't be saved by the JMS server. This is kind of important when you want the messages to be durable.
    Modified Paths:
        blazeds/trunk/qa/apps/qa-regress/WEB-INF/flex/messaging-config.mods.xml

    According to Bea Customer Support this is the normal behavior. If you kill a durable topic subscriber and reconnect it with the same id to another node, the old subscription is deleted and all messages still waiting to be delivered are gone.
              Lesson learned: If you need failover for the server AND client use JMS queues.
              Peter

  • How to Integrate Oracle 10g with TIBCO Enterprise for JMS

    Will it be possible to provide a document that will instruct on how to integrate oracle10g with TIBCO Enterprise for JMS
    I needed to Integrate oracle 10g with TIBCO Enterprise for JMS.
    When i searched on internet about how to do it, i found a document on oracle's site which has instructions (in the HOW-TO section) related to integration with OC4J (and not Oracle 10g)
    I have been successfully able to integrate OC4J developer preview edition 10.1.3 with TIBCO enterprise for JMS.
    when i tried with the same instructions to integrate oracle 10g with TIBCO Enterprise for JMS, i could not succeed. The i understood that the standalone OC4J is different from the embedded OC4J in Oracle 10g
    Will it be possible to provide a document that will instruct on how to integrate oracle10g with TIBCO Enterprise for JMS
    Your help will be really appreciated
    Thanks,

    There are how-to documents here: http://www.oracle.com/technology/tech/java/oc4j/1013/how_to/index.html#JMS
    with separate instructions for:
    IBM WebSphere MQ JMS
    Tibco Enterprise for JMS
    SonicMQ JMS

  • Help needed for writing query

    help needed for writing query
    i have the following tables(with data) as mentioned below
    FK*-foregin key (SUBJECTS)
    FK**-foregin key (COMBINATION)
    1)SUBJECTS(table name)     
    SUB_ID(NUMBER) SUB_CODE(VARCHAR2) SUB_NAME (VARCHAR2)
    2           02           Computer Science
    3           03           Physics
    4           04           Chemistry
    5           05           Mathematics
    7           07           Commerce
    8           08           Computer Applications
    9           09           Biology
    2)COMBINATION
    COMB_ID(NUMBER) COMB_NAME(VARCHAR2) SUB_ID1(NUMBER(FK*)) SUB_ID2(NUMBER(FK*)) SUB_ID3(NUMBER(FK*)) SUBJ_ID4(NUMBER(FK*))
    383           S1      9           4           2           3
    384           S2      4           2           5           3
    ---------I actually designed the ABOVE table also like this
    3) a)COMBINATION
    COMB_ID(NUMBER) COMB_NAME(VARCHAR2)
    383           S1
    384           S2
    b)COMBINATION_DET
    COMBDET_ID(NUMBER) COMB_ID(FK**) SUB_ID(FK*)
    1               383          9
    2               383          4
    3               383          2
    4               383          3
    5               384          4
    6               384          2          
    7               384          5
    8               384          3
    Business rule: a combination consists of a maximum of 4 subjects (must contain)
    and the user is less relevant to a COMB_NAME(name of combinations) but user need
    the subjects contained in combinations
    i need the following output
    COMB_ID COMB_NAME SUBJECT1 SUBJECT2      SUBJECT3      SUBJECT4
    383     S1     Biology Chemistry      Computer Science Physics
    384     S2     Chemistry Computer Science Mathematics Physics
    or even this is enough(what i actually needed)
    COMB_ID     subjects
    383           Biology,Chemistry,Computer Science,Physics
    384           Chemistry,Computer Science,Mathematics,Physics
    you can use any of the COMBINATION table(either (2) or (3))
    and i want to know
    1)which design is good in this case
    (i think SUB_ID1,SUB_ID2,SUB_ID3,SUB_ID4 is not a
    good method to link with same table but if 4 subjects only(and must) comes
    detail table is not neccessary )
    now i am achieving the result by program-coding in C# after getting the rows from oracle
    i am using oracle 9i (also ODP.NET)
    i want to know how can i get the result in the stored procedure itsef.
    2)how it could be designed in any other way.
    any help/suggestion is welcome
    thanks for your time --Pradeesh

    Well I forgot the table-alias, here now with:
    SELECT C.COMB_ID
    , C.COMB_NAME
    , (SELECT SUB_NAME
    FROM SUBJECTS
    WHERE SUB_ID = C.SUB_ID1) AS SUBJECT_NAME1
    , (SELECT SUB_NAME
    FROM SUBJECTS
    WHERE SUB_ID = C.SUB_ID2) AS SUBJECT_NAME2
    , (SELECT SUB_NAME
    FROM SUBJECTS
    WHERE SUB_ID = C.SUB_ID3) AS SUBJECT_NAME3
    , (SELECT SUB_NAME
    FROM SUBJECTS
    WHERE SUB_ID = C.SUB_ID4) AS SUBJECT_NAME4
    FROM COMBINATION C;
    As you need exactly 4 subjects, the columns-solution is just fine I would say.

  • XMLAGG structure, performance help needed for odd nesting in schema

    Hello,
    I have to produce XML to look like:
    <?xml version='1.0'?>
      <enterprise>
        <membership>
          <sourcedid>
            <id>PHYS_101_001_FA2007</id>
          </sourcedid>
        <!-- NOTE: absence of "members" level tag for XMLAGG! -->
        <member>
          <sourcedid>
            <id>D2LU0001</id>
          </sourcedid>
          <role roletype="Sample Role">
            <status>1</status>
          </role>
        </member>
        <member>
          <sourcedid>
            <id>D2LU0002</id>
          </sourcedid>
          <role roletype="Sample Role">
            <status>1</status>
          </role>
        </member>
      </membership>
    </enterprise>This would be straightforward if the schema allowed for a "<members>" tag under which to nest the <member> tags. But, it does not allow for that tag or any other than those listed above.
    I have a query which does produce that output (except for the roletype attribute), but its performance is horrible; it takes about 40 minutes to return data:
    SELECT
         XMLROOT(
             XMLELEMENT("enterprise",
               XMLAGG(
                 XMLELEMENT("membership",
                   XMLFOREST( XMLELEMENT("id",cx.mapped_course_id) as "sourcedid"
                   (SELECT XMLAGG(
                     XMLELEMENT("member",
                       XMLFOREST(XMLELEMENT("id",spriden_id) AS "sourcedid",
                                 XMLELEMENT("status",'1') AS "role"
                      FROM enrollments_fall_sfrstca efs
                         , spriden sp
                         , gzv_tuid t
                     WHERE sp.spriden_change_ind IS NULL
                       AND sp.spriden_pidm       = t.pidm
                       AND t.tuid                = efs.user_name
                       AND efs.mapped_course_id  = cx.mapped_course_id
                       AND efs.term              = cx.semester
                , VERSION '1.0', STANDALONE NO VALUE)
      FROM courses_xt cx
    WHERE cx.semester = :term_code
    ;Similar queries are producing courses and users XML fine with no performance issues, but these are driven off either the courses view or the enrollments view, but not both.
    Is there some other way I can produce the nesting I need for the vendor's schema?
    The source views are basically as follows (showing relevant columns only):
    courses_xt:
    MAPPED_COURSE_ID       SEMEST
    AVFT209-13307-201210   201210
    AVFT210-13308-201210   201210enrollments_fall_sfrstca:
    MAPPED_COURSE_ID       USER_NAME
    AVFT209-13307-201210    FULLERC8
    AVFT209-13307-201210    SHUPEK
    AVFT209-13307-201210    NOMAN
    AVFT210-13308-201210    SHUPEK
    AVFT210-13308-201210    PELLONMWhen I have the query without the XML (with the subquery as a column of the outer query), this returns the correct data quickly (a couple of minutes).
    I have tried various permutations of XMLFOREST, XMLELEMENT, XMLAGG but either I get syntax errors, or the data is wrong (e.g. repeated '<membership>' for each '<member>', or I have to create an invalid tag '<members>' to be filtered later).
    Please advise!
    Thanks,
    Anita Lees

    Hi Anita,
    Have you tried with a GROUP BY and no subquery?
    Here's an example using SCOTT schema.
    I've used the same tag names and structure so that you can see the analogy :
    SELECT XMLElement("enterprise",
             XMLAgg(
               XMLElement("membership",
                 XMLElement("sourceid", xmlelement("id", d.deptno))
               , XMLAgg(
                   XMLElement("member",
                     XMLElement("sourceid",
                       XMLElement("id", e.empno)
                   , XMLElement("role",
                       XMLAttributes(e.job as "roletype")
                     , XMLElement("status", '1')
    FROM scott.dept d
         LEFT OUTER JOIN scott.emp e ON e.deptno = d.deptno
    WHERE d.deptno IN (10,20)
    GROUP BY d.deptno
    ;which gives :
    <enterprise>
      <membership>
        <sourceid>
          <id>10</id>
        </sourceid>
        <member>
          <sourceid>
            <id>7782</id>
          </sourceid>
          <role roletype="MANAGER">
            <status>1</status>
          </role>
        </member>
        <member>
          <sourceid>
            <id>7934</id>
          </sourceid>
          <role roletype="CLERK">
            <status>1</status>
          </role>
        </member>
        <member>
          <sourceid>
            <id>7839</id>
          </sourceid>
          <role roletype="PRESIDENT">
            <status>1</status>
          </role>
        </member>
      </membership>
      <membership>
        <sourceid>
          <id>20</id>
        </sourceid>
        <member>
          <sourceid>
            <id>7369</id>
          </sourceid>
          <role roletype="CLERK">
            <status>1</status>
          </role>
        </member>
        <member>
          <sourceid>
            <id>7902</id>
          </sourceid>
          <role roletype="ANALYST">
            <status>1</status>
          </role>
        </member>
        <member>
          <sourceid>
            <id>7566</id>
          </sourceid>
          <role roletype="MANAGER">
            <status>1</status>
          </role>
        </member>
      </membership>
    </enterprise>

Maybe you are looking for

  • Can I have multiple devices on one iCloud account

    can I have multiple devices on one iCloud account? Like a iPad and Mac Book Pro If so how can I do this?

  • How can I get around the -40 import error?

    I'm using iMovie 3.03 and just found out that the -40 error I get when importing videos is due to a 9 minute (and 32 seconds) limit. My imports (1 mov and 1 avi) are just over 14 minutes each. Does anyone know of a work around for this problem? Or of

  • Is there a way to hide or move apps ?

    Not on the home screen but in the Menu. There are so many apps that I dont use and dont care to see. I really want to either hide them or put in a folder so there is less clutter

  • Validate_layer_with_context -- differences between version 10g and 11g

    I have a spatial table that validates without issues under v10.2.0.4.0. This table was replicated to a new database running v11.2.0.2.0. Under this environment, the validation reports an "ORA-13366: invalid combination of interior exterior rings" iss

  • Java iView Runtime in WAD iview

    Hi experts, We are experiencing strange issue with one of WAD query iView (BI) in portal. Earlier when we launched this iview through portal, it was giving the error very rarely. But the repetation is increased and facing the issue again & again. The