Object types return hex characters with xsql:query

How do I use xsql servlet to return an object which contains street address etc. as a character string and not a hexadecimal string. If I use the following ddl and implement the following xsql, I get the following results.
CREATE TYPE address_objtyp AS object
(street VARCHAR(30),city VARCHAR(30),state VARCHAR(2));
CREATE SEQUENCE employees_seq START WITH 105 INCREMENT BY 1;
CREATE TABLE employees(
id NUMBER(4) CONSTRAINT emp_pkId PRIMARY KEY,
first_name VARCHAR(30),
last_name VARCHAR(30),
address address_objtyp);
INSERT INTO employees VALUES (
103, 'Fred', 'Couples',
address_objtyp('9201 Park St', 'Alexandria', 'VA'));
<?xml version="1.0"?>
<xsql:query null-indicator="yes" connection="demo"
allow-client-style="yes" xmlns:xsql="urn:oracle-xsql">
select * from employees
</xsql:query>
<?xml version="1.0" ?>
- <ROWSET xsql-timing="20">
- <ROW num="1">
<ID>103</ID>
<FIRST_NAME>Fred</FIRST_NAME>
<LAST_NAME>Couples</LAST_NAME>
- <ADDRESS>
<STREET>0x39323031205061726B205374</STREET>
<CITY>0x416C6578616E64726961</CITY>
<STATE>0x5641</STATE>
</ADDRESS>
</ROW>
</ROWSET>
I'm using the most recent jdbc thin driver (ojdbc14.jar) that is for jdk 1.4. I'm using a 9.0.1 db, and I'm using xdk for java 9.2.0.3. So I thought that the thin driver is not capable, so I tried the oci driver, and find another set of problems.
I get the following error:
Oracle XDK Java 9.2.0.3.0 Production
XSQL-017: Unexpected Error Occurred
java.lang.UnsatisfiedLinkError: no ocijdbc8 in java.library.path
Now why does XDK insist to look for ocijdbc8 if I only have ocijdbc9.dll installed on my client? The config file only allows oci8 in the dburl specification, which is probably why XDK insists to look for ocijdbc8, but I CANNOT specify oci9, which would make sense to me, although it's most likely not a valid specification.
<connection name="9ic">
<username>scott</username>
<password>tiger</password>
<dburl>jdbc:oracle:oci8:@</dburl>
<driver>oracle.jdbc.OracleDriver</driver>
<autocommit>true</autocommit>
</connection>
And lastly documentation that comes with ojdbc14.jar indicates to now use a different specification for the jdbc thin driver. Instead of the usual
<dburl>jdbc:oracle:thin:@host:port:sid</dburl>
it recommends
<dburl>jdbc:oracle:thin:@//host:port/service</dburl>
however this does not work with XDK 9.2.0.3. Any ideas why not?
By the way if I use SQL*Plus and select * from employees, I get the desired result in SQL*Plus, which suggests to me that I DO need the oci driver for XSQL Servlet. So how do I get XSQL Servlet 9.2.0.3 to use the oci 9 driver. I know how to set wrapper.path in the servlet config file to find ocijdbc9.dll, but XSQL Servlet still wants to find ocijdbc8.
I sense that there is a bug hidden somewhere in the XDK kit.
Steve.

How do I use xsql servlet to return an object which contains street address etc. as a character string and not a hexadecimal string. If I use the following ddl and implement the following xsql, I get the following results.
CREATE TYPE address_objtyp AS object
(street VARCHAR(30),city VARCHAR(30),state VARCHAR(2));
CREATE SEQUENCE employees_seq START WITH 105 INCREMENT BY 1;
CREATE TABLE employees(
id NUMBER(4) CONSTRAINT emp_pkId PRIMARY KEY,
first_name VARCHAR(30),
last_name VARCHAR(30),
address address_objtyp);
INSERT INTO employees VALUES (
103, 'Fred', 'Couples',
address_objtyp('9201 Park St', 'Alexandria', 'VA'));
<?xml version="1.0"?>
<xsql:query null-indicator="yes" connection="demo"
allow-client-style="yes" xmlns:xsql="urn:oracle-xsql">
select * from employees
</xsql:query>
<?xml version="1.0" ?>
- <ROWSET xsql-timing="20">
- <ROW num="1">
<ID>103</ID>
<FIRST_NAME>Fred</FIRST_NAME>
<LAST_NAME>Couples</LAST_NAME>
- <ADDRESS>
<STREET>0x39323031205061726B205374</STREET>
<CITY>0x416C6578616E64726961</CITY>
<STATE>0x5641</STATE>
</ADDRESS>
</ROW>
</ROWSET>
I'm using the most recent jdbc thin driver (ojdbc14.jar) that is for jdk 1.4. I'm using a 9.0.1 db, and I'm using xdk for java 9.2.0.3. So I thought that the thin driver is not capable, so I tried the oci driver, and find another set of problems.
I get the following error:
Oracle XDK Java 9.2.0.3.0 Production
XSQL-017: Unexpected Error Occurred
java.lang.UnsatisfiedLinkError: no ocijdbc8 in java.library.path
Now why does XDK insist to look for ocijdbc8 if I only have ocijdbc9.dll installed on my client? The config file only allows oci8 in the dburl specification, which is probably why XDK insists to look for ocijdbc8, but I CANNOT specify oci9, which would make sense to me, although it's most likely not a valid specification.
<connection name="9ic">
<username>scott</username>
<password>tiger</password>
<dburl>jdbc:oracle:oci8:@</dburl>
<driver>oracle.jdbc.OracleDriver</driver>
<autocommit>true</autocommit>
</connection>
And lastly documentation that comes with ojdbc14.jar indicates to now use a different specification for the jdbc thin driver. Instead of the usual
<dburl>jdbc:oracle:thin:@host:port:sid</dburl>
it recommends
<dburl>jdbc:oracle:thin:@//host:port/service</dburl>
however this does not work with XDK 9.2.0.3. Any ideas why not?
By the way if I use SQL*Plus and select * from employees, I get the desired result in SQL*Plus, which suggests to me that I DO need the oci driver for XSQL Servlet. So how do I get XSQL Servlet 9.2.0.3 to use the oci 9 driver. I know how to set wrapper.path in the servlet config file to find ocijdbc9.dll, but XSQL Servlet still wants to find ocijdbc8.
I sense that there is a bug hidden somewhere in the XDK kit.
Steve.

Similar Messages

  • XMLElement not returning XML with xsql:query

    I am trying to use a select statement containing XMLElement, XMLAgg and XMLForest functions from a xsql servlet.
    <page xmlns:xsql="urn:oracle-xsql" connection="HOM_WISP">
    <xsql:query row-element=""     rowset-element="STATEMENT">
    SELECT
    XMLElement("GROUP", XMLAttributes(gst_group AS GSTGroup,
    display_group AS DisplayGroup),
    XMLAgg(
    XMLElement("PAYMENTDETAIL",
    XMLForest(phase_type,
    contract_num,
    mark_block,
    cut_permit,
    destination,
    stratum_code,
    species_code,
    sort_code,
    truck,
    back_haul,
    uom_desc,
    uom_code,
    gst_exempt_flag,
    pay_deduct_desc,
    actual_rate,
    gst_registrant_num,
    load_count,
    quantity,
    volume,
    earnings)))).getClobVal() as PAYMENTITEM
    FROM ws_cntr_statement_vw
    GROUP BY gst_group, display_group
    </xsql:query>
    </page>
    When XML is returned only the out most XML as follows the inner elements are text. I truncated the output but you can see that GROUP and PAYMENTDETAIL are not elements but text. I want them all to be elements.
    <page>
    <STATEMENT><PAYMENTITEM>&lt;GROUP GSTGROUP="1_GST" DISPLAYGROUP="2_RETRO">&lt;PAYMENTDETAIL>&lt;PHASE_TYPE>Purchasing&lt;/PHASE_TYPE>&lt;CONTRACT_NUM>3346&lt;/CONTRACT_NUM>&lt;MARK_BLOCK>GA500B-0001&lt;/MARK_BLOCK>&lt;DESTINATION>LC&lt;/DESTINATION>&lt;STRATUM_CODE>18&lt;/STRATUM_CODE>&lt;SPECIES_CODE>SP&lt;/SPECIES_CODE>&lt;UOM_DESC>tonne&lt;/UOM_DESC>&lt;UOM_CODE>MT&lt;/UOM_CODE>&lt;GST_EXEMPT_FLAG>0&lt;/GST_EXEMPT_FLAG>&lt;ACTUAL_RATE>-9.32&lt;/ACTUAL_RATE>&lt;GST_REGISTRANT_NUM>R102090347&lt;/GST_REGISTRANT_NUM>&lt;LOAD_COUNT>1&lt;/LOAD_COUNT>&lt;QUANTITY>28440&lt;/QUANTITY>&lt;VOLUME>36.68&lt;/VOLUME>&lt;EARNINGS>-265.06&lt;/EARNINGS>&lt;/PAYMENTDETAIL>&lt;/GROUP></PAYMENTITEM><PAYMENTITEM>&lt;GROUP GSTGROUP="1_GST" DISPLAYGROUP="4_CNTRPAY">&lt;PAYMENTDETAIL>&lt;PHASE_TYPE>ADV/REC NO CONTRACT&lt;/PHASE_TYPE>&lt;UOM_DESC>flat&lt;/UOM_DESC>&lt;UOM_CODE>FL&lt;/UOM_CODE>&lt;GST_EXEMPT_FLAG>0&lt;/GST_EXEMPT_FLAG>&lt;PAY_DEDUCT_DESC>PAY 12 ADVANCE RECOVERY ES4922&lt;/PAY_DEDUCT_DESC>&lt;ACTUAL_RATE>32644.87&lt;/ACTUAL_RATE>&lt;GST_REGISTRANT_NUM>R123330532&lt;/GST_REGISTRANT_NUM>&lt;EARNINGS>-32644.87&lt;/EARNINGS>&lt;/PAYMENTDETAIL>&lt;PAYMENTDETAIL>&lt;PHASE_TYPE>FIREWOOD/STUMPAGE ALL BLOCKS&lt;/PHASE_TYPE>&lt;UOM_DESC>flat&lt;/UOM_DESC>&lt;UOM_CODE>FL&lt;/UOM_CODE>&lt;GST_EXEMPT_FLAG>0&lt;/GST_EXEMPT_FLAG>&lt;PAY_DEDUCT_DESC>FIREWOOD LOAD # 151819&lt;/PAY_DEDUCT_DESC>&lt;ACTUAL_RATE>25&lt;/ACTUAL_RATE>&lt;GST_REGISTRANT_NUM>R123083735&lt;/GST_REGISTRANT_NUM>&lt;EARNINGS>-25&lt;/EARNINGS>&lt;/PAYMENTDETAIL>&lt;PAYMENTDETAIL>&lt;PHASE_TYPE>SB#2 PAY RD USE&lt;/PHASE_TYPE>&lt;UOM_DESC>flat&lt;/UOM_DESC>&lt;UOM_CODE>FL&lt;/UOM_CODE>&lt;GST_EXEMPT_FLAG>1&lt;/GST_EXEMPT_FLAG>&lt;PAY_DEDUCT_DESC>ROAD USE ES4208 BLOCK 9&lt;/PAY_DEDUCT_DESC>&lt;ACTUAL_RATE>898.1&lt;/ACTUAL_RATE>&lt;EARNINGS>898.1&lt;/EARNINGS>&lt;/PAYMENTDETAIL>&lt;/GROUP></PAYMENTITEM><PAYMENTITEM>&lt;GROUP GSTGROUP="1_GST" DISPLAYGROUP="1_ORIGINAL">&lt;PAYMENTDETAIL>&lt;PHASE_TYPE>Logging&lt;/PHASE_TYPE>&lt;CONTRACT_NUM>2731&lt;/CONTRACT_NUM>&lt;MARK_BLOCK>ES4334-0026&lt;/MARK_BLOCK>&lt;CUT_PERMIT>334&lt;/CUT_PERMIT>&lt;DESTINATION>FED&lt;/DESTINATION>&lt;STRATUM_CODE>01&lt;/STRATUM_CODE>&lt;SPECIES_CODE>FI&lt;/SPECIES_CODE>&lt;UOM_DESC>tonne&lt;/UOM_DESC>&lt;UOM_CODE>MT&lt;/UOM_CODE>&lt;GST_EXEMPT_FLAG>0&lt;/GST_EXEMPT_FLAG>&lt;ACTUAL_RATE>19.5&lt;/ACTUAL_RATE>&lt;GST_REGISTRANT_NUM>R104985114&lt;/GST_REGISTRANT_NUM>&lt;LOAD_COUNT>14&lt;/LOAD_COUNT>&lt;QUANTITY>498300&lt;/QUANTITY>&lt;VOLUME>579.54&lt;/VOLUME>&lt;EARNINGS>9716.85&lt;/EARNINGS>&lt;/PAYMENTDETAIL>&lt;PAYMENTDETAIL>&lt;PHASE_TYPE>Logging&lt;/PHASE_TYPE>&lt;CONTRACT_NUM>2731&lt;/CONTRACT_NUM>&lt;MARK_BLOCK>ES4334-0026&lt;/MARK_BLOCK>&lt;CUT_PERMIT>334&lt;/CUT_PERMIT>&lt;DESTINATION>LC&lt;/DESTINATION>&lt;STRATUM_CODE>06&lt;/STRATUM_CODE>&lt;SPECIES_CODE>FI&lt;/SPECIES_CODE>&lt;UOM_DESC>tonne&lt;/UOM_DESC>&lt;UOM_CODE>MT&lt;/UOM_CODE>&lt;GST_EXEMPT_FLAG>0&lt;/GST_EXEMPT_FLAG>&lt;ACTUAL_RATE>19.5&lt;/ACTUAL_RATE>&lt;GST_REGISTRANT_NUM>R104985114&lt;/GST_REGISTRANT_NUM>&lt;LOAD_COUNT>33&lt;/LOAD_COUNT>&lt;QUANTITY>1096770&lt;/QUANTITY>&lt;VOLUME>1300.24&lt;/VOLUME>&lt;EARNINGS>21387.07&lt;/EARNINGS>&lt;/PAYMENTDETAIL>&lt;PAYMENTDETAIL>&lt;PHASE_TYPE>Logging&lt;/PHASE_TYPE>&lt;CONTRACT_NUM>2731&lt;/CONTRACT_NUM>&lt;MARK_BLOCK>ES4334-0026&lt;/MARK_BLOCK>&lt;CUT_PERMIT>334&lt;/CUT_PERMIT>&lt;DESTINATION>LC&lt;/DESTINATION>&lt;STRATUM_CODE>13&lt;/STRATUM_CODE>&lt;SPECIES_CODE>LO&lt;/SPECIES_CODE>&lt;UOM_DESC>tonne&lt;/UOM_DESC>&lt;UOM_CODE>MT&lt;/UOM_CODE>&lt;GST_EXEMPT_FLAG>0&lt;/GST_EXEMPT_FLAG>&lt;ACTUAL_RATE>19.5&lt;/ACTUAL_RATE>&lt;GST_REGISTRANT_NUM>R104985114&lt;/GST_REGISTRANT_NUM>&lt;LOAD_COUNT>84&lt;/LOAD_COUNT>&lt;QUANTITY>3219510&lt;/QUANTITY>&lt;VOLUME>3990.95&lt;/VOLUME>&lt;EARNINGS>62780.68&lt;/EARNINGS>&lt;/PAYMENTDETAIL>&lt;PAYMENTDETAIL>&lt;PHASE_TYPE>Logging&lt;/PHASE_TYPE>&lt;CONTRACT_NUM>2731&lt;/CONTRACT_NUM>&lt;MARK_BLOCK>ES4334-0026&lt;/MARK_BLOCK>&lt;CUT_PERMIT>334&lt;/CUT_PERMIT>&lt;DESTINATION>LC&lt;/DESTINATION>&lt;STRATUM_CODE>21&lt;/STRATUM_CODE>&lt;SPECIES_CODE>MX&lt;/SPECIES_CODE>&lt;UOM_DESC>tonne&lt;/UOM_DESC>&lt;UOM_CODE>MT&lt;/UOM_CODE>&lt;GST_EXEMPT_FLAG>0&lt;/GST_EXEMPT_FLAG>&lt;ACTUAL_RATE>19.5&lt;/ACTUAL_RATE>&lt;GST_REGISTRANT_NUM>R104985114&lt;/GST_REGISTRANT_NUM>&lt;LOAD_COUNT>2&lt;/LOAD_COUNT>&lt;QUANTITY>71030&lt;/QUANTITY>&lt;VOLUME>91.4&lt;/VOLUME>&lt;EARNINGS>1385.09&lt;/EARNINGS>&lt;/PAYMENTDETAIL>&lt;PAYMENTDETAIL>&lt;PHASE_TYPE>Logging&lt;/PHASE_TYPE>&lt;CONTRACT_NUM>2731&lt;/CONTRACT_NUM>&lt;MARK_BLOCK>ES4334-0026&lt;/MARK_BLOCK>&lt;CUT_PERMIT>334&lt;/CUT_PERMIT>&lt;DESTINATION>PUL&lt;/DESTINATION>&lt;STRATUM_CODE>16&lt;/STRATUM_CODE>&lt;SPECIES_CODE>LO&lt;/SPECIES_CODE>&lt;UOM_DESC>tonne&lt;/UOM_DESC>&lt;UOM_CODE>MT&lt;/UOM_CODE>&lt;GST_EXEMPT_FLAG>0&lt;/GST_EXEMPT_FLAG>&lt;ACTUAL_RATE>18&lt;/ACTUAL_RATE>&lt;GST_REGISTRANT_NUM>R104985114&lt;/GST_REGISTRANT_NUM>&lt;LOAD_COUNT>3&lt;/LOAD_COUNT>&lt;QUANTITY>104980&lt;/QUANTITY>&lt;VOLUME>173.46&lt;/VOLUME>&lt;EARNINGS>1889.64&lt;/EARNINGS>&lt;/PAYMENTDETAIL>&lt;PAYMENTDETAIL>&lt;PHASE_TYPE>Logging&lt;/PHASE_TYPE>&lt;CONTRACT_NUM>2731&lt;/CONTRACT_NUM>&lt;MARK_BLOCK>ES4334-0030&lt;/MARK_BLOCK>&lt;CUT_PERMIT>334&lt;/CUT_PERMIT>&lt;DESTINATION>LC&lt;/DESTINATION>&lt;STRATUM_CODE>06&lt;/STRATUM_CODE>&lt;SPECIES_CODE>FI&lt;/SPECIES_CODE>&lt;UOM_DESC>tonne&lt;/UOM_DESC>&lt;UOM_CODE>MT&lt;/UOM_CODE>&lt;GST_EXEMPT_FLAG>0&lt;/GST_EXEMPT_FLAG>&lt;ACTUAL_RATE>19.5&lt;/ACTUAL_RATE>&lt;GST_REGISTRANT_NUM>R104985114&lt;/GST_REGISTRANT_NUM>&lt;LOAD_COUNT>15&lt;/LOAD_COUNT>&lt;QUANTITY>514800&lt;/QUANTITY>&lt;VOLUME>610.27&lt;/VOLUME>&lt;EARNINGS>10038.64&lt;/EARNINGS>&lt;/PAYMENTDETAIL>&lt;PAYMENTDETAIL>&lt;PHASE_TYPE>Logging&lt;/PHASE_TYPE>&lt;CONTRACT_NUM>2731&lt;/CONTRACT_NUM>&lt;MARK_BLOCK>ES4334-0030&lt;/MARK_BLOCK>&lt;CUT_PERMIT>334&lt;/CUT_PERMIT>&lt;DESTINATION>LC&lt;/DESTINATION>&lt;STRATUM_CODE>18&lt;/STRATUM_CODE>&lt;SPECIES_CODE>SP&lt;/SPECIES_CODE>&lt;UOM_DESC>tonne&lt;/UOM_DESC>&lt;UOM_CODE>MT&lt;/UOM_CODE>&lt;GST_EXEMPT_FLAG>0&lt;/GST_EXEMPT_FLAG>&lt;ACTUAL_RATE>19.5&lt;/ACTUAL_RATE>&lt;GST_REGISTRANT_NUM>R104985114&lt;/GST_REGISTRANT_NUM>&lt;LOAD_COUNT>1&lt;/LOAD_COUNT>&lt;QUANTITY>35740&lt;/QUANTITY>&lt;VOLUME>46.43&lt;/VOLUME>&lt;EARNINGS>696.93&lt;/EARNINGS>&lt;/PAYMENTDETAIL>&lt;PAYMENTDETAIL>&lt;PHASE_TYPE>Logging&lt;/PHASE_TYPE>&lt;CONTRACT_NUM>2731&lt;/CONTRACT_NUM>&lt;MARK_BLOCK>ES4334-0030&lt;/MARK_BLOCK>&lt;CUT_PERMIT>334&lt;/CUT_PERMIT>&lt;DESTINATION>PUL&lt;/DESTINATION>&lt;STRATUM_CODE>16&lt;/STRATUM_CODE>&lt;SPECIES_CODE>LO&lt;/SPECIES_CODE>&lt;UOM_DESC>tonne&lt;/UOM_DESC>&lt;UOM_CODE>MT&lt;/UOM_CODE>&lt;GST_EXEMPT_FLAG>0&lt;/GST_EXEMPT_FLAG>&lt;ACTUAL_RATE>18&lt;/ACTUAL_RATE>&lt;GST_REGISTRANT_NUM>R104985114&lt;/GST_REGISTRANT_NUM>&lt;LOAD_COUNT>3&lt;/LOAD_COUNT>&lt;QUANTITY>100280&lt;/QUANTITY>&lt;VOLUME>165.68&lt;/VOLUME>&lt;EARNINGS>1805.04&lt;/EARNINGS>&lt;/PAYMENTDETAIL>&lt;PAYMENTDETAIL>&lt;PHASE_TYPE>Logging&lt;/PHASE_TYPE>&lt;CONTRACT_NUM>3350&lt;/CONTRACT_NUM>&lt;MARK_BLOCK>ES4922-0026&lt;/MARK_BLOCK>&lt;CUT_PERMIT>922&lt;/CUT_PERMIT>&lt;DESTINATION>LC&lt;/DESTINATION>&lt;STRATUM_CODE>06&lt;/STRATUM_CODE>&lt;SPECIES_CODE>FI&lt;/SPECIES_CODE>&lt;UOM_DESC>tonne&lt;/UOM_DESC>&lt;UOM_CODE>MT&lt;/UOM_CODE>&lt;GST_EXEMPT_FLAG>0&lt;/GST_EXEMPT_FLAG>&lt;ACTUAL_RATE>37&lt;/ACTUAL_RATE>&lt;GST_REGISTRANT_NUM>R123330532&lt;/GST_REGISTRANT_NUM>&lt;LOAD_COUNT>5&lt;/LOAD_COUNT>&lt;QUANTITY>197320&lt;/QUANTITY>&lt;VOLUME>233.92&lt;/VOLUME>&lt;EARNINGS>7300.84&lt;/EARNINGS>&lt;/PAYMENTDETAIL>&lt;PAYMENTDETAIL>&lt;PHASE_TYPE>Logging&lt;/PHASE_TYPE>&lt;CONTRACT_NUM>3350&lt;/CONTRACT_NUM>&lt;MARK_BLOCK>ES4922-0027&lt;/MARK_BLOCK>&lt;CUT_PERMIT>922&lt;/CUT_PERMIT>&lt;DESTINATION>LC&lt;/DESTINATION>&lt;STRATUM_CODE>21&lt;/STRATUM_CODE>&lt;SPECIES_CODE>MX&lt;/SPECIES_CODE>&lt;UOM_DESC>tonne&lt;/UOM_DESC>&lt;UOM_CODE>MT&lt;/UOM_CODE>&lt;GST_EXEMPT_FLAG>0&lt;/GST_EXEMPT_FLAG>&lt;ACTUAL_RATE>37&lt;/ACTUAL_RATE>&lt;GST_REGISTRANT_NUM>R123330532&lt;/GST_REGISTRANT_NUM>&lt;LOAD_COUNT>1&lt;/LOAD_COUNT>&lt;QUANTITY>38920&lt;/QUANTITY>&lt;VOLUME>50.08&lt;/VOLUME>&lt;EARNINGS>1440.04&lt;/EARNINGS>&lt;/PAYMENTDETAIL>&lt;

    Sorry I guess I haven't explained very well. When I am issuing the SELECT statement which uses XMLElement I have to convert output to string in order to have a column alais PAYMENTITEM. It is then not reconnized as XML in the
    xsql:query call
    If I do not assign a alias to query I get following error
    oracle.xml.sql.OracleXMLSQLException: Character ',' is not allowed in an XML tag
    If I assign without using getClobVal() I get this error
    oracle.xml.sql.OracleXMLSQLException: Conversion to String failed
    If I then use the getClobVal() to assign column alias it appears as if entire result set is now a string then <> tag delimiters are now show with "&lt" signs instead.

  • DISTINCT on object type collection not working with GROUP BY

    Hello,
    I have an object type with collection defined as:
    create or replace type individu_ot as object (
       numero_dossier          number(10),
       code_utilisateur        varchar2(8 char),
       nom                     varchar2(25 char),
       prenom                  varchar2(25 char),
       map member function individu_map return number
    create or replace type body individu_ot is
       map member function individu_map return number
       is
       begin
          return SELF.numero_dossier;
       end individu_map;
    end;
    create or replace type individu_ntt is table of individu_ot
    /When I use it in simple SQL without any aggregation, the distinct keyword works well and returns me the distinct entry of my object type in the collection:
    SQL> select cast(collect(distinct individu_ot(indivmc.numero_dossier, indivmc.idul, indivmc.nom, indivmc.prenom)) as individu_ntt) as distinct_list
    from   site_section_cours    sisc
              inner join enseignant_section_mc   ensemc
              on sisc.code_session = ensemc.code_session and
                 sisc.numero_reference_section_cours = ensemc.numero_reference_section_cours
              inner join individu_mc indivmc
              on ensemc.numero_dossier_pidm = indivmc.numero_dossier
    where  sisc.seq_site_cours = 6
    DISTINCT_LIST(NUMERO_DOSSIER,CODE_UTILISATEUR,NOM,PRENOM)                                                                                                                                                                                            
    INDIVIDU_NTT(INDIVIDU_OT(15,PROF5,Amidala,Padmé))                                                                                                                                                                                                    
    1 row selected.However in SQL with broader selection with group by, the distinct isn't working anymore.
    SQL> select *
    from   (
             select sisc.seq_site_cours,
                    cast(collect(distinct individu_ot(indivmc.numero_dossier, indivmc.idul, indivmc.nom, indivmc.prenom)) as individu_ntt) as distinct_list
             from   site_section_cours      sisc
                       inner join enseignant_section_mc   ensemc
                       on sisc.code_session = ensemc.code_session and
                          sisc.numero_reference_section_cours = ensemc.numero_reference_section_cours
                       inner join individu_mc indivmc
                       on ensemc.numero_dossier_pidm = indivmc.numero_dossier
             group by sisc.seq_site_cours
    where seq_site_cours = 6
    SEQ_SITE_COURS DISTINCT_LIST(NUMERO_DOSSIER,CODE_UTILISATEUR,NOM,PRENOM)                                                                                                                                                                                            
                 6 INDIVIDU_NTT(INDIVIDU_OT(15,PROF5,Amidala,Padmé),INDIVIDU_OT(15,PROF5,Amidala,Padmé),INDIVIDU_OT(15,PROF5,Amidala,Padmé),INDIVIDU_OT(15,PROF5,Amidala,Padmé),INDIVIDU_OT(15,PROF5,Amidala,Padmé))                                                    
    1 row selected.there is case where I need to return more than one collections, with distinct entries in it.
    Is there something I am missing?
    Thanks
    Bruno

    Not a bug, rather an undocumented feature.
    Here are some alternatives you might want to test :
    1) Using the SET operator to eliminate duplicates :
    SELECT sisc.seq_site_cours,
           set(
             cast(
               collect(individu_ot(indivmc.numero_dossier, indivmc.idul, indivmc.nom, indivmc.prenom))
               as individu_ntt
           ) as distinct_list
    FROM site_section_cours sisc
         INNER JOIN enseignant_section_mc ensemc
                 ON sisc.code_session = ensemc.code_session
                 AND sisc.numero_reference_section_cours = ensemc.numero_reference_section_cours
         INNER JOIN individu_mc indivmc
                 ON ensemc.numero_dossier_pidm = indivmc.numero_dossier
    GROUP BY sisc.seq_site_cours
    ;2) Using MULTISET with a subquery
    SELECT sisc.seq_site_cours,
           CAST(
             MULTISET(
               SELECT distinct
                      indivmc.numero_dossier, indivmc.idul, indivmc.nom, indivmc.prenom
               FROM enseignant_section_mc ensemc
                    INNER JOIN individu_mc indivmc
                            ON ensemc.numero_dossier_pidm = indivmc.numero_dossier
               WHERE sisc.code_session = ensemc.code_session
               AND sisc.numero_reference_section_cours = ensemc.numero_reference_section_cours
             AS individu_ntt
           ) AS distinct_list
    FROM site_section_cours sisc
    ;

  • Problem with xsql:query

    Hi,
    I'm having a problem with the following simple XSQL document:
    <?xml version="1.0"?>
    <xsql:query connection="xsqltest" xmlns:xsql="urn:oracle-xsql">
    SELECT concat(concat(forename, ' '), surname) AS Name
    , d.name AS Department
    FROM emp, dept d
    WHERE emp.dept_no = d.id
    ORDER BY surname
    </xsql:query>When I transform this using the command line xsql, it produces the following (as expected):
    <?xml version = '1.0'?>
    <ROWSET>
    <ROW num="1">
    <Name>Cindy Delight</Name>
    <Department>Accounting</Department>
    </ROW>
    <ROW num="2">
    <Name>Adrian Rue</Name>
    <Department>Product Development</Department>
    </ROW>
    <ROW num="3">
    <Name>Dwight Dweeb</Name>
    <Department>Accounting</Department>
    </ROW>
    </ROWSET>However, when I access the same page through my browser, the output is:
    <?xml version = '1.0'?>
    <xsql:query>
    SELECT concat(concat(forename, ' '), surname) AS Name
    , d.name AS Department
    FROM emp, dept d
    WHERE emp.dept_no = d.id
    ORDER BY surname
    </xsql:query>(this is the same as the input document, except the namespace declaration has been stripped out, making the XML invalid).
    I've tried including other xsql tags in the same document (e.g. xsql:include-xsql), these seem to work fine. Also, if I change the connect details, XSQL fails as expected, so it would appear xsql is being invoked by Tomcat (.xsql is mapped to the servlet), and XSQL successfully connecting to the database.
    My setup is slightly unusual: I'm trying to use XSQL 1.0.4.1 with MySQL 3.23.32 using the mm.mysql 2.0.4 JDBC drivers. This is running on Tomcat 3.2.1 with JDK 1.3 (OJVM 1.2.330). But, since it works with the command line xsql, I'm at a loss as to why it's misbehaving through the servlet engine only... any ideas?
    Steve

    Hmm,
    Even more confusing - the same .xsql document works fine with WebToGo - so I guess this is a Tomcat problem, somehow... Just can't understand why xsql:include-xsql works and xsql:query doesn't.
    Steve

  • Generating DTD with xsql:query

    Is there any attribute to xsql:query to generate DTD for the result.

    Hmm,
    Even more confusing - the same .xsql document works fine with WebToGo - so I guess this is a Tomcat problem, somehow... Just can't understand why xsql:include-xsql works and xsql:query doesn't.
    Steve

  • Retrieving Unicode characters with MS Query

    Hi.
    I am using MS Query to retrieve data into Excel from an Oracle database.  The data contains several different characters (such as degree and diameter symbols) which are stored as Unicode, but the query returns the same character for all of them.
    In the MS Query window the special characters appear as upside down question marks; in Excel they show as white question marks in a black diamond.  The ASCII code of the character displayed in Excel is '63', and the UNICODE() value is 65533.  This
    isn't the character that is stored in the Oracle database.
    Is there a way to correctly retrieve these characters? 
    The ODBC driver is Oracle in OraClient11g_home1, version 11.02.00.01.  I've tried it with the 'Force SQL_WCHAR Support' setting on, but it didn't make a difference.  So, I've pretty much exhausted my knowledge now...
    Thanks in advance,  Steve

    Hi
    Steve,
    As far as I know the function of MS Query didn’t update anymore after the version of excel 2003. I suppose the issue might be caused by the different rules between Unicode
    and ASCII code, so you get different result in excel from Oracle database. I suggest you can try to use PowerQuery and PowerPivot. Their function are stronger than MS Query, and you can get latest function. Probably they can help you to solve your issue.
    Hope it’s helpful.
    Regards,

  • How can we execute a procedure with object type as its parameter, by passing partial elements.

    Can somebody help...
    I have a procedure which takes parameter as IN OUT extended object type .Below is the example.
    PROCEDURE p_save (example IN OUT xyz_obj)
    my object type "xyz_obj" have elements with other object types also, and that itself have around 100 elements.
    And when calling the above procedure for test purpose, how is it possible to pass partial elements of the object type rather than setting all unused elements to null.

    user13026549 wrote:
    Can somebody help...
    I have a procedure which takes parameter as IN OUT extended object type .Below is the example.
    PROCEDURE p_save (example IN OUT xyz_obj)
    my object type "xyz_obj" have elements with other object types also, and that itself have around 100 elements.
    And when calling the above procedure for test purpose, how is it possible to pass partial elements of the object type rather than setting all unused elements to null.
    It ISN'T possible. How could it be? Each attribute has to be set to something don't you think?
    A common way to handle that is to define a public package variable that is an instance of the object type and has ALL elements set to null. As Odie suggested a custom constructor function can be used for that.
    Then you create your procedure instance by starting with an instance of the package variable (where everything is null) and setting values for the attributes you need.

  • Handling Invalid(Hex) Characters Code for Unicode BI 7.0

    Hi All,
    I went through the beautiful weblog given by Eugene.. https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/4059. [original link is broken] [original link is broken] [original link is broken] [original link is broken] In the comments section of the weblog there is a code given by Dirk. I tried to use the code in my transformation logic and here how it looks.. I am using BI 7.0 and it is unicode system..
    ============================================================
    DATA: l_d_length like sy-index,
    l_d_char type c,
    l_d_index type sy-index.
    l_d_length = strlen( result ).
    RESULT = SOURCE_FIELDS-POO_TAG.
    DO l_d_length times.
    l_d_index = sy-index - 1.
    l_d_char = result+l_d_index(1).
    CALL FUNCTION 'RSKC_CHAVL_OF_IOBJ_CHECK'
    IMPORTING
    I_CHAVL = l_d_char
    I_IOBJNM = 'ZPOTSTFL'
    *" I_S_COB_PRO =
    *" I_T_COB_PRO_CMP =
    EXCEPTIONS
    CHAVL_NOT_ALLOWED = 1.
    IF SY-SUBRC <> 0.
    result+l_d_index(1) = ' '.
    ENDIF.
    ENDDO.
    ===========================================================
    I am using this to load from PSA to DSO, the info-object name is ZPOTSTFL(Length 3, No master, No text) and source field name is POO_TAG, since in the source the field is a free form text field and it has some hex characters ...we need to keep the free form (like $, lowercase letters, ###. etc..) but we need to eliminate the hex characters with space as it is affecting our load.
    I tried this code and it gives me syntax error. In the blog Pedro has suggested to declare some 30 char string and assign that string to info-object name... I don't know that much ABAP can somebody help me with the code??
    Regards,
    Nikhil

    Hello Dilip
    Out of three two of them are definitley possible. i.e
    1) CU&UC
    2) Upgrade first and then do Unicode Conversion ( 2 different downtimes)
    third option is possible with R3 but with BW you need to consult the master guide. ( i am not sure).
    you need to decide one of them based on your hardware sizing, database size, Downtime possible.
    I would suggest Make a copy of production server. and perform the upgrade and then perform unicode conversion. this whole activity will give you exact timing you need. and possible errors you will face during upgrade and unicode conversion.
    i hope this helps.
    Thanks
    Mona

  • Working with Oracle Objects in JAVA - How to with views

    Hello,
    I am trying to access to Oracle object types from Java.
    My problem is, I have relational tables, Object Types and Object Views.
    All the examples I found from Oracle manuals are working with Object Tables(Table column is created as Object Type).
    You run a query and get this object type (oraconn.GetObject(1)) and the query is (SELECT * FROM Object_Table) so its get first column(which is an object type) and cast it to Java Class(with SQLDATA or ORADATA).
    The problem is that my data is in Relational Tables and I don't want to export them to Object tables.
    I want to get it from Object View.
    Is this possible? Or better is anybody has an example???
    Thx in advance

    Hi,
    I think you will be able to help me. your question made me to think that you will be able to help me. Here the question goes.
    I have a Stored Procedure which returns a user defined ROWTYPE(its a IN OUT param to the procedure). I need to call this procedure from my Java program. So I would like to know how to do it. Do we need to use any packages provided by oracle or some thing like that.
    thanks & regards,
    Anil.
    [email protected]

  • Can't create object types in forms 10

    Hello,
    I am trying to use object types in forms 10.
    I have already created successfully two object types and also corresponding object views.
    With one object type A everything works fine in form. But with the other object type B it doesn't.
    I am calling the constructor of object B and after the constructor finshed, forms says that there is a numeric or value error.
    Well, by nbow I have reduced attributes from object B so that they are identical to object A (which works). But still get the same error or if I use a different constructor I get NULL as a return value. I tested the constructors with test script in the database directly and viola - the constructor are working fine.
    Only if I use the constructors in forms environment they fail.
    Any ideas why this might happen?
    Thank you
    Matthias
    Well, I fear to use the object types in my next project cause if I run into trouble if the object types are so easy with less code, what else might happen if they are filled up with much more code?

    Hello again,
    I have tried again and still get the exception.
    Now I provide the code. Perhaps someone can see, why this exceptioon occurs.
    In the database I coded the following:
    create or replace type GenericObject as object
    -- Attributes
    iVersion VARCHAR2(8),
    -- Member functions and procedures
    MEMBER FUNCTION toString(SELF IN OUT NOCOPY GenericObject) RETURN VARCHAR2,
    FINAL MEMBER FUNCTION toString001(SELF IN OUT NOCOPY GenericObject) RETURN VARCHAR2,
    NOT INSTANTIABLE MEMBER PROCEDURE log(pLogger IN OUT MyLogger)
    ) NOT INSTANTIABLE NOT FINAL
    create or replace type body GenericObject is
    -- Member procedures and functions
    MEMBER FUNCTION toString(SELF IN OUT NOCOPY GenericObject) RETURN VARCHAR2 IS
    BEGIN
    RETURN SELF.toString001();
    END;
    FINAL MEMBER FUNCTION toString001(SELF IN OUT NOCOPY GenericObject) RETURN VARCHAR2 IS
    BEGIN
    RETURN 'GenericObject(' || SELF.iVersion || ')';
    END;
    end;
    create or replace type MyTestA UNDER GenericObject
    -- Attributes
    iPk VARCHAR2(16),
    iName VARCHAR2(100),
    iDCN NUMBER,
    -- constructor
    CONSTRUCTOR FUNCTION MyTestA(pName VARCHAR2, pDummy INTEGER) RETURN SELF AS RESULT,
    CONSTRUCTOR FUNCTION MyTestA(pPk VARCHAR2) RETURN SELF AS RESULT,
    STATIC FUNCTION mycreate(pName VARCHAR2) RETURN MyTestA,
    -- Member functions and procedures
    OVERRIDING MEMBER FUNCTION toString(SELF IN OUT NOCOPY MyTestA) RETURN VARCHAR2,
    FINAL MEMBER FUNCTION toString002(SELF IN OUT NOCOPY MyTestA) RETURN VARCHAR2,
    OVERRIDING MEMBER PROCEDURE log(SELF IN OUT NOCOPY MyTestA, pLogger IN OUT MyLogger)
    ) NOT FINAL
    create or replace type body MyTestA is
    -- constructors
    CONSTRUCTOR FUNCTION MyTestA(pName VARCHAR2, pDummy INTEGER) RETURN SELF AS RESULT IS
    BEGIN
    SELF.iVersion := '1.1';
    SELF.iPk := 1;
    SELF.iName := pName;
    SELF.iDCN := 1;
    RETURN;
    END;
    CONSTRUCTOR FUNCTION MyTestA(pPk VARCHAR2) RETURN SELF AS RESULT IS
    BEGIN
    SELECT VALUE(o) INTO SELF FROM v_testa o WHERE o.ipk = pPk;
    RETURN;
    END;
    STATIC FUNCTION mycreate(pName VARCHAR2) RETURN MyTestA IS
    BEGIN
    RETURN MyTestA(pName, 1);
    END;
    -- Member procedures and functions
    OVERRIDING MEMBER FUNCTION toString(SELF IN OUT NOCOPY MyTestA) RETURN VARCHAR2 IS
    BEGIN
    RETURN toString002();
    END;
    FINAL MEMBER FUNCTION toString002(SELF IN OUT NOCOPY MyTestA) RETURN VARCHAR2 IS
    lvText VARCHAR2(1000);
    BEGIN
    lvText := SELF.toString001();
    RETURN 'MyTestA(' || iPk || ', ' || iName || ', ' || 'lvHersteller.toString()' || ', ' || lvText || ')';
    END;
    OVERRIDING MEMBER PROCEDURE log(SELF IN OUT NOCOPY MyTestA, pLogger IN OUT MyLogger) IS
    BEGIN
    pLogger.log(toString());
    END;
    end;
    CREATE OR REPLACE VIEW v_testa OF MyTesta
    WITH OBJECT IDENTIFIER (iPk) AS
    SELECT
    '1.0' iVersion
    ,g.pk iPk, g.NAME iName, g.ora_rowscn iDCN FROM o_geraete g
    DROP TABLE o_geraete;
    CREATE TABLE
    o_geraete
    pk VARCHAR2(16)
    , name VARCHAR2(100)
    , hersteller_FK VARCHAR2(16)
    , zaehlernummer VARCHAR2(20)
    , dummy VARCHAR2(10)
    INSERT INTO o_geraete
    VALUES(
    '100', 'Stromzähler', '1', 'AB-56', 'dumb'
    INSERT INTO o_geraete
    VALUES(
    '200', 'Wasserzähler', '2', 'WS-09', 'dumb'
    In forms I created a form from the view and coded into the on-insert-trigger:
    declare
         lvtest mytesta;
    begin
         message('1');
         lvtest := new mytesta(:blk_testa.iname, 1);
         message('2');
         message('3' || lvtest.tostring());
    exception
         when others then
              message('Exception: ' || sqlerrm);
    end;
    And in that forms block I got the exception.
    Perhaps someone has ANY idea...
    Thanx a lot
    Matthias
    Message was edited by:
    user522343
    Message was edited by:
    user522343

  • Urgent: Application Object Type for ALE IDoc

    Hi All,
    I am struggling with ALE IDoc, I just wanted to know that is it mandatory to create Application Object Type when i have created my own message type, Idoc type, segment type and Function Module. I am Getting an error while excuting transaction we42( Maintaining Process code)
    Error: Application Object Type is not planned.
    Please Help with this.  i don't have any requirement of filtering or serialisation, so still do i need to create these application objects.
    Useful ans will be rewarded.
    Thanx

    Hi,
    Yes u need to have the assignment of Object type as ur extending the IDOC.
    Check the steps below:
    TCode- BD95.
    Create ALE object type  “Z...”  with table name “EKKO” and Field name “-BSART”
    Step2:
    Tcode- BD59 – “Assignment of Object type to Message”
    Give the message type “ORDERS”.
    Assign the object type “Z........” to segment type “E1EDK01’ with field “BSART”.
    Regards
    Kannaiah

  • Cheat Sheet/Listing of Object types and transactions they are available in?

    Does anyone know how to obtain a listing of the standard object types and where they would be available? 
    We have already worked with the Travel Management Trip Docuemnts and I know that object type BUS2089 is available through the Object for Services area of transaction PR05.  So we store entries in the TOA01 table for this object and they are available to us in the object services section.
    But now we want to leverage the functionality we built and extend it to other areas.  But I spent a lot of time today trying to find out what object could be used through transaction IE03 for an equipment record and finally found EQUI.  Now I just have to test it out.
    I see a lot of standard document types available as well and don't know what they are for - for Plant Maintenance work order notifications object type BUS2038 is there with PMONOTFPAP, PMIDAMAGE and PMIREQUEST already available.  I didn't want to create a new one if these are available for work order notification images, etc.
    It would be nice if there was a spreadsheet or listing that detailed each object type and where it was used in the system.
    (I did try searching but didn't find this question/answer on a broad basis.)

    Tarun,
    Thanks for replying.  I think that we are agreeing on the same details, but it doesn't really answer my question.
    I guess what I am looking for is if I asked the following question:
         What object type is used when populating the object services link from within an equipment record via IE03?
    How would you obtain the answer to this question - besides just knowing it?
    It's the same way that I know the following:
         What object type is used when populating the object services link from within a trip via PR05?  --> BUS2089
         What object type is used when populating the object services link from within a work order via IW33?  --> BUS2007
         What object type is used when populating the object services link from within a wo notification via IW23?  --> BUS2038
    The last two were easy because it prompts you when creating an attachment.  The first one someone told me the answer to.
    We will be doing image links for many different documents (invoices, journal entries, HR employee records, etc) and I'm just trying to figure out how to know which objects to use.  Once I know the object I know how to configure the OAC* tables for use.
    Any help is much appreciated.
    Thanks!

  • Mapping refcursors with object types in a procedure

    Hi all,
    I need some help regarding the mapping of refcursors with object types .
    Example: Procedure "A" has object types as input/output parameters which lies in the Web Method Application as a API.
    We are creating a procedure "B" which has ref cursors as input/ouput parameters
    which will map to the Procedure "A"'s object type parameters.
    It will be highly needful for the solution.
    Regards
    Saugata

    Your pseudocode has a lot of steps in it, but you didn't say which step you need help with. Since I already covered going from a nested table type to a refcursor, I'll assume you want an example that goes the other way now, like from a refcursor to a nested table type. Here's one ...
    SQL>
    SQL>
    SQL> set serveroutput on
    SQL>
    SQL> create type nested_table_type as table of varchar2(14) ;
      2  /
    Type created.
    SQL> show errors
    No errors.
    SQL>
    SQL>
    SQL> create function func
      2    ( p_cursor in sys_refcursor )
      3    return nested_table_type
      4  as
      5    v_nested_table nested_table_type ;
      6  begin
      7
      8    fetch p_cursor bulk collect into v_nested_table ;
      9    return( v_nested_table );
    10
    11  end;
    12  /
    Function created.
    SQL> show errors
    No errors.
    SQL>
    SQL> select func( cursor( select dname from dept ) ) as nested_table from dual ;
    NESTED_TABLE
    NESTED_TABLE_TYPE('ACCOUNTING', 'RESEARCH', 'SALES', 'OPERATIONS')If your cursor selects objects instead of simple data types, the code is pretty much the same.
    SQL> create type object_type as object ( c1 varchar2(14), c2 varchar2(13) );
      2  /
    Type created.
    SQL> show errors
    No errors.
    SQL>
    SQL> create type nested_table_type as table of object_type ;
      2  /
    Type created.
    SQL> show errors
    No errors.
    SQL>
    SQL>
    SQL>
    SQL> create function func
      2    ( p_cursor in sys_refcursor )
      3    return nested_table_type
      4  as
      5    v_nested_table nested_table_type ;
      6  begin
      7
      8    fetch p_cursor bulk collect into v_nested_table ;
      9    return( v_nested_table );
    10
    11  end;
    12  /
    Function created.
    SQL> show errors
    No errors.
    SQL>
    SQL> select
      2    func( cursor( select object_type( dname, loc ) from dept ) ) as object_table
      3  from dual ;
    OBJECT_TABLE(C1, C2)
    NESTED_TABLE_TYPE
      ( OBJECT_TYPE('ACCOUNTING', 'NEW YORK'),
        OBJECT_TYPE('RESEARCH', 'DALLAS'),
        OBJECT_TYPE('SALES', 'CHICAGO'),
        OBJECT_TYPE('OPERATIONS', 'BOSTON')
      )(NB I manually reformated the query results for clarity).

  • Assign error with complex type return message

    Dear all,
    I have an axis web service with complex type return message. When I invoke the web service, and try to assign one element of the result to other variable, it fails with following error message(BPEL Fault:{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure{}
    The invoking web service and assignment BPEL source is as follows:
    <invoke name="registerConference" partnerLink="conferenceCenter" portType="tns:ConfArrangementPort" operation="Conference_Register" inputVariable="registerInput" outputVariable="registerOutput"/>
    <copy>
    <from variable="registerOutput" part="Conference_RegisterReturn" query="/Conference_RegisterReturn/confcity"></from>
    <to variable="bookHotelInput" part="si" query="/si/city"/>
    </copy>
    I tunneled the response SOAP message:
    ==== Response ====
    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    Date: Sun, 31 Oct 2004 08:28:27 GMT
    Server: Apache Coyote/1.0
    Connection: close
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
    <ns1:Conference_RegisterResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://conference.sjtu.edu">
    <ns1:Conference_RegisterReturn href="#id0"/>
    </ns1:Conference_RegisterResponse>
    <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:ConfInfo" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://conference.sjtu.edu">
    <confcity xsi:type="xsd:string">star</confcity>
    <confend xsi:type="xsd:string">20041120</confend>
    <confstart xsi:type="xsd:string">20041116</confstart>
    </multiRef>
    </soapenv:Body>
    </soapenv:Envelope>
    ==============
    However, when i check the invoke activity audit trail, it return the following info:
    <messages>
    <registerInput>
    <part xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" name="gi">
    <gi xmlns="http://conference.sjtu.edu">
    <attendeename xmlns="">ss</attendeename>
    <confname xmlns="">hh</confname>
    </gi>
    </part>
    </registerInput>
    <registerOutput>
    <part xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" name="Conference_RegisterReturn">
    <ns1:Conference_RegisterReturn xmlns:ns1="http://conference.sjtu.edu" href="#id0" />
    </part>
    </registerOutput>
    </messages>
    The detailed value of the return message lost, only leaving the href. Can I find the desired value again? should I try another XPATH expression? should I parse the result from the SOAP message directly? Or it's a problem of the system itself?
    Hope you can do me a favor, thanks.

    From Axis's user guide: RPC services default to the soap section 5 encoding rules, objects will be encoded via "multi-ref" serialization. Document services do not use any encoding (so in particular, you won't see multiref object serialization or SOAP-style arrays on the wire)
    May be I should try document service style instead of RPC. Thanks for your reply.

  • Query Operator "IS" is not working good for object type "String"

    Hi,
    I have a problem with advanced search. When the object type is String, and I want to search directly value (for exemple 'a') i have returned all value starts with 'a', even though I set Query Operator to "IS"
    When I use Query operator "setByUser", and then set property to "IS", query behaviour is correct.
    Behaviour example for operator "IS":
    values: a, ab, abc
    searching: 'a' --> expected results: a results: a, ab, abc
    Any sugestions??
    Sorry for my English
    Regards,
    Wojciech Mularczyk

    Syed,
    Only under advanced search. The operator used for quick search is defined through two properties in JhsAdvancedSearch bean class:
    private String defaultStringOperator = "startsWith";
    private String defaultNonStringOperator = "is";
    So, if you have a String attribute which holds numbers and you want to apply the "is" operator to this attribute, you can change the default value of "defaultStringOperator" by creating a custom template for searchBean.vm, and add the following property:
    <managed-property>
    <property-name>defaultStringOperator </property-name>
    <value>is</value>
    </managed-property>
    Note hat you can already apply this technique in the current release.
    Steven Davelaar,
    JHeadstart Team.

Maybe you are looking for

  • Cannot invert a b/w layer

    In the past I have always been able to create a duplicate layer, make it b/w and then invert. I have tried select/invert, and Ctrl-I. Nothing happerns. I think I am going crazy. What have I done wrong? Windows 7 Prof, CS6

  • Refresh system matrix

    I have added a user defined field at the row level.I am performing some calculation on this udf in the goods receipt po form.I need to refresh this system matrix after performing calculations.Is it possible to refresh system matrix programatically ?

  • Sending unix command with java

    Hi! I need to terminate program from server with "Ctrl+x" command. How do I send this kind of command to the server?

  • IPhone Config Utility 1.1 for Windows:  Cert Chooser not working for SSL

    I have installed the iPhone Configuration Utility for Windows 1.1 and I cannot add SSL certificates into Configuration Profiles. The Certificate Chooser opens, but there is no way for me to add an SSL certificate. Blank list and no button to browse o

  • My Nokia n97 mini was stolen, and when i found it ...

    I have a problem, my Nokia n97 mini was stolen, and when i found it my "lock code" was chandged. . .i used "hard reset" bud my phone dosent work at code 12345 or 0000. . .how can I ever found out witch is the code after "hard reset" ? O.o Moderator's