ORA-31167: XML nodes over 64K in size cannot be inserted

Hi there,
we have just recently upgraded our database from 9i r2 to 10g (Oracle Database 10g Enterprise Edition Release 10.2.0.3.0).
The following code was working fine in 9i but is now failing with the error listed in the subject of this thread. I am not actually inserting data at all but merely parsing it. Is there any way I can avoid this error while still performing the parse in PL/SQL?
begin
select test.b2c(xml) into xml_clob
from sde.gdb_usermetadata, admin.sn_resource_metadata
where id = rm_mdid
and rm_rid = resource_id;
v_parser := xmlparser.newParser;
XMLParser.parseClob(v_parser,xml_clob);
xml_doc := xmlparser.getDocument(v_parser);
xmlparser.freeParser(v_parser);
dbms_lob.freetemporary(xml_clob);
end;
The code actually fails at the line XMLParser.parseClob(v_parser,xml_clob);
Many thanks,
David
Message was edited by:
dverna

Hi A_Non,
many thanks for that. I'd already seen that posting and was just wondering if there was still any way to parse XML within a PL/SQL procedure rather than exporting a CLOB to a client or other server side program.
Currently, the parse is being done to provide information to an ASP web application. Based on Mark's suggestion i'd have to export the clob to the ASP and perform the processing using the MSXML object. Not a huge inconvenience in this case but i'd prefer to have everything contained in the DB.
I have other procedures that parse the same XML documents and load relational tables based on the data contained therein. As these are all scheduled to run overnight in Oracle i'd rather not have to rewrite the code in other languages when Oracle was handling it quite nicely in 9i (it's annoying because there is only 1 node >64k which I don't actually need anyway).
Anyway, thanks for the pointer and if you or anyone else has further ideas they'd be much appreciated. I think an upgrade to 11g may be someway off!
Cheers,
David

Similar Messages

  • ORA-31167: XML nodes over 64K in size cannot be inserted -rdbms 10.2.0.4

    Hi.
    trying to load large XML onto a 10.2.0.4 database - using sqlldr. The logfile shows:
    Record 1: Rejected - Error on table LOAD_BS_XML.
    ORA-31167: XML nodes over 64K in size cannot be inserted
    ORA-06512: at "SYS.XMLTYPE", line 5
    My XSD:
                        <xs:element name="Orders" minOccurs="0" maxOccurs="unbounded">
                             <xs:element name="Picture" type="xs:base64Binary" minOccurs="0" xdb:SQLType="BLOB"/>
    ..Is there a way to circumvent this limit - without upgrading to 11gR2?
    /Claus
    Edited by: user500977 on Dec 6, 2011 8:41 AM
    Edited by: user500977 on Dec 6, 2011 8:42 AM
    Edited by: user500977 on Dec 6, 2011 8:43 AM

    Hello,
    I am also running into this problem using and Oracle 10.1.0.5 version of the database. Unfortunately I do not see our customer updating their version in the near future.
    I am inserting customer data into a table with an XMLType column. There is currently no problem with inserting the data and as far as I can tell this data is not being truncated. However, when fetching this data I get the ORA-31167 error. It seems that when I execute the parser to fetch, using the extractvalue method to sort the result set based on nodes in the XMLType column.
    My solutions seem limited as I must present the data in a user defined order, I can not change the content of the XML and the customer will not be updating their version of oracle soon. Is there another way around this problem ?

  • Truncate Node: ORA-31167: XML nodes over 64K in size cannot be inserted

    I'm trying to migrate from a mysql platform to oracle. Mostly because the spatial engine from mysql sucks.
    I'm using Oracle-XE. I'm trying to import GeoCaching gpx files. The file contains 500 waypoints and one of the waypoints has a description greater than 64K. Since a palm pda can't handle that much text in CacheMate I'm fine with truncating the node.
    Is there a way to tell XMLType to truncate any node over 64K?
    Thanks.

    Hello,
    I am also running into this problem using and Oracle 10.1.0.5 version of the database. Unfortunately I do not see our customer updating their version in the near future.
    I am inserting customer data into a table with an XMLType column. There is currently no problem with inserting the data and as far as I can tell this data is not being truncated. However, when fetching this data I get the ORA-31167 error. It seems that when I execute the parser to fetch, using the extractvalue method to sort the result set based on nodes in the XMLType column.
    My solutions seem limited as I must present the data in a user defined order, I can not change the content of the XML and the customer will not be updating their version of oracle soon. Is there another way around this problem ?

  • ORA-31167: 64k size limit for XML node

    Hi,
    I have an application that archives XML documents provided by another organization. The other organization, a government regulatory body, controls the format and content of the documents. Many of the documents have large text nodes consisting of hundreds of kilobytes of CSV data.
    This application was developed against Oracle 9i and runs fine on that product. Testing against Oracle 10g, I get "ORA-31167: XML nodes over 64K in size cannot be inserted".
    As I read it, 64k is a fixed limit in Oracle10g. This limit did not seem to appear in Oracle9i however?
    What are my options for upgrading this application to Oracle10g? I can think of:
    1) Stay on 9i.
    2) Mess around with the XML content. This kind of compromises the purpose of the application, which is to archive the documents unchanged.
    3) Store the documents as CLOBs and forego the XML DB features.
    4) Abandon Oracle and use another XML database???!
    I've been really impressed with Oracle XML DB to date. I find this limitation quite hard to believe. I'm really hoping there is a simple alternative that I'm missing.
    Any ideas?
    John Hurst
    Wellington, New Zealand

    I inherited an application that was developed against Oracle 9.2.0.8, and which was recently upgraded to Oracle 10.2.0.3. I get "ORA-31167: XML nodes over 64K in size cannot be inserted" on about 5% of the documents, unfortunately they are the most important documents.
    Since the only data retrieval is with getCLOB(), I have attempted the xmlparse workaround xmlparse(DOCUMENT someCLOB WELLFORMED) yet still receive the ORA-31167 error.
    @ After more deugging, the getXMLFromFile() causes the error not the insert, while a getFileContent()successfully completes.
    Can you suggest another way to extract the values from the XML?
    Any chance of a 10g patch for this limit?
    Thanks,
    Procedure SQL:
    BEGIN
    freeCLOBOnExit := tempCLOB IS NULL;
    DBMS_LOB.createTemporary(tempCLOB, TRUE, DBMS_LOB.SESSION);
    xmlFileContent := xdb_utilities.getXMLFromFile(fileName, directoryName, tempCLOB=>tempCLOB);
    x_assetid := xmlFileContent.extract('/cds:document/cds:document-spec/cds:asset-id/text()', 'xmlns:cds="http://cds.central"').getStringVal();
    x_sourceid := xmlFileContent.extract('/cds:document/cds:document-spec/cds:source-id/text()', 'xmlns:cds="http://cds.central"').getStringVal();
    x_synopsis := xmlFileContent.extract('/cds:document/cds:document-spec/cds:synopsis/text()', 'xmlns:cds="http://cds.central"').getStringVal();
    x_date := xmlFileContent.extract('/cds:document/cds:document-spec/cds:update-date/text()', 'xmlns:cds="http://cds.central"').getStringVal();
    o_date := get_xml_date(x_date);
    x_audience := xmlFileContent.extract('/cds:document/cds:document-spec/cds:audience/text()', 'xmlns:cds="http://cds.central"').getStringVal();
    x_collection := xmlFileContent.extract('/cds:document/cds:document-spec/cds:collection-name/text()', 'xmlns:cds="http://cds.central"').getStringVal();
    DELETE from INFODOC where asset_id = x_assetid;
    INSERT INTO INFODOC VALUES( x_assetid, x_sourceid, x_synopsis, o_date, x_audience, x_collection, xmlparse(DOCUMENT tempCLOB WELLFORMED));
    COMMIT;
    IF (freeCLOBOnExit) THEN
    dbms_lob.freeTemporary(tempCLOB);
    ELSE
    dbms_lob.trim(tempCLOB, 0);
    END IF;
    END;
    Table DDL:
    CREATE TABLE "SYSTEM"."INFODOC"
    (     "ASSET_ID" VARCHAR2(35 BYTE),
         "SOURCE_ID" VARCHAR2(25 BYTE) NOT NULL ENABLE,
         "SYNOPSIS" VARCHAR2(256 BYTE) NOT NULL ENABLE,
         "UPDATE_DATE" DATE NOT NULL ENABLE,
         "AUDIENCE" VARCHAR2(15 BYTE) NOT NULL ENABLE,
         "COLLECTION_NAME" VARCHAR2(20 BYTE) NOT NULL ENABLE,
         "XMLDOC" "SYS"."XMLTYPE" NOT NULL ENABLE
    ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "INFODOC"
    XMLTYPE COLUMN "XMLDOC" STORE AS CLOB (
    TABLESPACE "INFODOC" ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10
    NOCACHE LOGGING
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)) ;
    Message was edited by:
    dauza
    Message was edited by:
    dauza

  • 64k size limit for XML node

    HI,
    Is 64k still the limit size for an XML NODE in oracle 10g version.
    Thanks,

    You keep asking all these XML questions...
    Have you considered asking on the XML DB forum?
    XML DB
    That's usually the best place for XML issues.

  • Increase UDP sending size over 64k bytes and get error -113,sending buffer not enough

    Dear all,
    I have a case that I must send a data over 64k bytes in a socket with UDP . I got a error-113 shows "A message sent on a datagram socket was larger than the internal message buffer or some other network limit, or the buffer used to receive a datagram was smaller than the datagram itself.".I searched for this issue and got the closest answer as below:
    http://digital.ni.com/public.nsf/allkb/D5AC7E8AE545322D8625730100604F2D?OpenDocument
    It said I have to change buffer size with Wsock.dll. I used the same mathod to increaes the send buffer to 131072 bytes by choice optionname to so_sndbuf (x1001) and give it value with 131072 and it worked fine without error. However I still got an error 113 while sending data with " UDP Write.vi ". It seems UDP write.vi reset the buffer size? Are there any other things cause the error?
    I attached example code. In UDP Sender.vi you can see I change send buffer size to 131072 and send date included a 65536 bytes data.There is also a UDP receiver.vi and there is some missing VI which you can get from the LINK. But it's not necessary.
    Attachments:
    UDP Sender.vi ‏14 KB
    UDP Receiver.vi ‏16 KB
    UDP_set_send_buffer.vi ‏16 KB

    The header for a UDP packet includes a 16 bit field that defines the size of the UDP message (HEADER AND DATA)
    16 bits limits you to a total size of 65635 bytes, minus the header sizes; a minimum of 20 bytes are required to define an IP packet and 8 bytes for UDP leaving an effective data payload of 65507
     bytes.
    LabVIEW is not the issue...
    http://en.wikipedia.org/wiki/User_Datagram_Protocol#Packet_structure
    Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T
    If you don't hate time zones, you're not a real programmer.
    "You are what you don't automate"
    Inplaceness is synonymous with insidiousness

  • Xs:group refs and "ORA-30936: Maximum number (1) of XML nodes exceeded'

    We registered a subset of the IBM DITA schemas in Oracle XDB. These schemas contain a lot of xs:group definitions where references to these groups contain "minOccurs" and "maxOccurs" atttributes, for instance:
    <xs:group name="category">
    <xs:sequence>
    <xs:element ref="category"/>
    </xs:sequence>
    </xs:group>
    <xs:complexType name="metadata.class">
    <xs:sequence>
    <xs:group ref="audience" minOccurs="0" maxOccurs="unbounded"/>
    <xs:group ref="category" minOccurs="0" maxOccurs="unbounded"/>
    <xs:group ref="keywords" minOccurs="0" maxOccurs="unbounded"/>
    <xs:group ref="prodinfo" minOccurs="0" maxOccurs="unbounded"/>
    <xs:group ref="othermeta" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="mapkeyref" type="xs:string"/>
    <xs:attributeGroup ref="global-atts"/>
    <xs:attribute ref="class" default="- topic/metadata "/>
    </xs:complexType>
    When we create an instance document that contains more than one "category" element under the element "metadata" element, like:
    <metadata>
    <audience type="purchaser" othertype="" job="using" otherjob="" experiencelevel="general"/>
    <category/>
    <category/>
    </metadata>
    we get the error: ORA-30936: Maximum number (1) of 'category' XML node elements exceeded
    This error is not consistent with the schema and XML parsers like Xerces and the Oracle "XDK parser" think the instance is fine.
    When we skip the reference to the group and reference the element definition "category" directly the problem is gone:
    <xs:complexType name="metadata.class">
    <xs:sequence>
    <xs:group ref="audience" minOccurs="0" maxOccurs="unbounded"/>
    <xs:element ref="category" minOccurs="0" maxOccurs="unbounded"/>
    <xs:group ref="keywords" minOccurs="0" maxOccurs="unbounded"/>
    <xs:group ref="prodinfo" minOccurs="0" maxOccurs="unbounded"/>
    <xs:group ref="othermeta" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="mapkeyref" type="xs:string"/>
    <xs:attributeGroup ref="global-atts"/>
    <xs:attribute ref="class" default="- topic/metadata "/>
    </xs:complexType>
    In this case the problems for the other group references like "audience" remain.
    It looks like Oracle XDB doesn't honor the cardinality attributes "minOccurs" and "maxOccurs" on xs:group elements that are references. Does anyone experienced similar problems?
    Thanks,
    Maarten

    This sounds like bug 5204107. You'll need to open a tar with Oracle Support if you need a fix for this..
    It happens when a group is used once without a maxOccurs and then later with a maxOccurs.
    The workaround is 'in-line' the group before registering the XML Schema. This can be done as follows (assuming the group definition and reference are in the same XML Schema)..
    procedure expandGroup(xmlschema in out xmltype, groupName varchar2,xsdDirectory varchar2)
    is
      xsdSchemaPath varchar2(512);
      groupModel xmltype;
      sequenceModel xmlType := xmlType('<xsd:sequence ' || xdb_namespaces.XMLSCHEMA_PREFIX_XSD || '><xsd:sequence/></xsd:sequence>');
      maxOccursValue binary_integer;
    begin
      -- FInd the Group Definition
      if xmlSchema.existsNode('/xsd:schema//xsd:group[@ref="' || groupName || '"]',NAMESPACES) = 1 then
        if xmlSchema.existsNode('/xsd:schema/xsd:group[@name="' || groupName || '"]',NAMESPACES) = 1 then
          select extract
                   xmlSchema,
                   '/xsd:schema/xsd:group[@name="' || groupName || '"]',
                   NAMESPACES
            into groupModel
            from dual; 
        else
          dbms_output.put_line('xsdDirectory = ' || xsdDirectory);
          select PATH,
                 extract
                   CONTENTS,
                   '/xsd:schema/xsd:group[@name="' || groupName || '"]',
                   NAMESPACES
            into xsdSchemaPath, groupModel
            from (
                   select PATH, xdburitype(path).getXML() CONTENTS
                     from PATH_VIEW
                    where under_path(res,xsdDirectory) = 1
           where existsNode
                   CONTENTS,
                   '/xsd:schema/xsd:group[@name="' || groupName || '"]',
                   NAMESPACES
                 ) = 1;
           dbms_output.put_line('Resolved ' || groupModel.extract('/xsd:group/@name',NAMESPACES).getStringVal() || ' in Schema ' || xsdSchemaPath);
        end if;
        if groupModel.existsNode('/xsd:group/xsd:annotation',NAMESPACES) = 1 then
          select deleteXML
                   groupModel,
                   '/xsd:group/xsd:annotation',
                   NAMESPACES
            into groupModel
            from dual;
        end if;
        -- create a sequence that can be placed in-line in the XML Schema to replace the <group ref=""/>
        groupModel := groupModel.extract('/xsd:group/*',NAMESPACES);
        select updateXML
                 sequenceModel,
                 '/xsd:sequence/xsd:sequence',
                groupModel,
                 NAMESPACES
          into sequenceModel
          from dual;
        if xmlSchema.existsNode('/xsd:schema//xsd:group[@ref="' || groupName || '" and not(@maxOccurs)]',NAMESPACES) = 1 then
          select updateXML
                   xmlSchema,
                   '/xsd:schema//xsd:group[@ref="' || groupName || '" and not(@maxOccurs)]',
                  sequenceModel,
                   NAMESPACES
            into xmlSchema
            from dual;
        end if;
        select insertChildXML
                 sequenceModel,
                 '/xsd:sequence',
                 '@maxOccurs',
                 'unbounded',
                 NAMESPACES
          into sequenceModel
          from dual;
        if xmlSchema.existsNode('/xsd:schema//xsd:group[@ref="' || groupName || '" and @maxOccurs="unbounded"]',NAMESPACES) = 1 then
          select updateXML
                   xmlSchema,
                   '/xsd:schema//xsd:group[@ref="' || groupName || '" and @maxOccurs="unbounded"]',
                   sequenceModel,
                   NAMESPACES
            into xmlSchema
            from dual;
        end if;
        while xmlschema.existsNode('/xsd:schema//xsd:group[@ref="' || groupName || '"]',NAMESPACES) = 1 loop
          maxOccursValue := xmlSchema.extract('/xsd:schema//xsd:group[@ref="' || groupName || '"]/@maxOccurs').getNumberVal();
          select updateXML
                   sequenceModel,
                  '/xsd:sequence/@maxOccurs',
                   maxOccursValue,
                   NAMESPACES
            into sequenceModel
            from dual;
          select updateXML
                   xmlSchema,
                   '/xsd:schema//xsd:group[@ref="' || groupName || '" and @maxOccurs="' || maxOccursValue || '"]',
                   sequenceModel,
                   NAMESPACES
            into xmlSchema
            from dual;
        end loop;
      end if;
    end;
    --

  • TP Agreement Not Found -- OAGIS XML document over AS2

    Hi,
    I am getting TP Agreement not found error while receiving OAGIS XML document over AS2. Below is error message.
    Agreement not found for trading partners: FromTP SOALocal, ToTP Powell with document type PROCESS_INVOICE_002-null-INBOUND
    I am not sure why it says null-INBOUND. It appears like it is not able to identify Document Version. DOCTYPE_REVISION=7.2.1 is being passed in the AS2 transport headers but still it does not recognize the version.
    I am not sure what is missing. Please give some ideas hints.
    Below is the Business Message:----
    Id     AC12149513F1F78141400000E7DEDE00
    Message Id     AC12149513F1F78136200000E7DED800
    Refer To Message     Refer To Message
    Sender Type     AS2 Identifier
    Sender Value     SOALocal
    Receiver Type     AS2 Identifier
    Receiver Value     PowellIndustries
    Sender     SOALocal
    Receiver     Powell
    Agreement Id     
    Agreement     
    Document Type     PROCESS_INVOICE_002
    Document Protocol     OAG
    Document Version     7.2.1
    Message Type     REQ
    Direction     INBOUND
    State     MSG_ERROR
    Acknowledgement Mode     NONE
    Response Mode     ASYNC
    Send Time Stamp     06/07/2013 11:28:49 AM
    Receive Time Stamp     06/07/2013 11:28:50 AM
    Document Retry Interval(Channel)     0
    Document Remaining Retry(Channel)     0
    Document Retry Interval(Agreement)     
    Document Remaining Retry(Agreement)     
    Native Message Size     10788
    Translated Message Size     
    Business Action Name     
    Business Transaction Name     
    Xpath Name1     
    Xpath Value1     
    Xpath Expression1     
    Xpath Name2     
    Xpath Value2     
    Xpath Expression2     
    Xpath Name3     
    Xpath Value3     
    Xpath Expression3     
    Correlation From XPath Name     
    Correlation From XPath Value     
    Correlation From XPath Expression     
    Correlation To XPath Name     
    Correlation To XPath Value     
    Correlation To XPath Expression     
    Wire Message     Wire Message
    Application Message     Application Message
    Payload Storage     Payload Storage
    Attachment     Attachment
    Label     
    Collaboration Id     AC12149513F1F7813BF00000E7DEDB00
    Collabration Name     
    Collabration Version     
    Business Action Name     
    Exchange Protocol Name     AS2
    Exchange Protocol Version     1.1
    Interchange Control Number     
    Group Control Number     
    Transaction Set Control Number     
    Error Code     B2B-50547
    Error Description     Machine Info: (pwl.pri) Agreement not found for trading partners: FromTP SOALocal, ToTP Powell with document type PROCESS_INVOICE_002-null-INBOUND.
    Error Level     ERROR_LEVEL_COLLABORATION
    Error Severity     ERROR
    Error Text     Agreement not found for trading partners: FromTP SOALocal, ToTP Powell with document type PROCESS_INVOICE_002-null-INBOUND.
    Below is the Wire Message:----
    Id     AC12149513F1F78115400000E7DED600
    Message Id     AC12149513F1F78115400000E7DED600
    Business Message     AC12149513F1F78141400000E7DEDE00
    Packed Message     Packed Message
    Payload     Payload
    Protocol Message Id     <38383939373331343630313931303737@SOALocal>
    Refer To Protocol Message Id     
    Protocol Collaboration Id     
    Protocol Transport Binding     ChannelName=SOALocal dcID=CHANNEL_nlzbB-7511847722850817684 AS2-To=PowellIndustries DOCTYPE_NAME=PROCESS_INVOICE_002 TE=trailers, deflate, gzip, compress DOCTYPE_REVISION=7.2.1 Date=Fri, 07 Jun 2013 16:28:49 GMT AS2-Version=1.1 Accept-Encoding=gzip, x-gzip, compress, x-compress AS2-From=SOALocal url=http://pwl.pri/b2b/transportServlet Content-Transfer-Encoding=binary Message-ID=<38383939373331343630313931303737@SOALocal> Content-type=application/pkcs7-mime; smime-type="enveloped-data" MSG_RECEIVED_TIME=Fri Jun 07 11:28:49 CDT 2013 ECID-Context=1.71b9d2a41e5aaef0:-10db6371:13f1ee6cb74:-8000-000000000000276d;khvE MIME-version=1.0 tpName=PowellIndustries User-Agent=AS2 Server Oracle HTTPClient Version 10h Content-Length=13663 Host=pwl.pri:8001 Connection=close, TE useProxy=false From=SOALocal additionalHeaders=DOCTYPE_NAME=PROCESS_INVOICE_002#DOCTYPE_REVISION=7.2.1
    Message Digest     Message Digest
    Digest Algorithm     md5
    Transport Protocol     HTTP
    Transport Protocol Version     1.1
    Url     http://pwl.pri:8001/b2b/transportServlet
    security     
    Transport Headers     ChannelName=SOALocal dcID=CHANNEL_nlzbB-7511847722850817684 AS2-To=PowellIndustries DOCTYPE_NAME=PROCESS_INVOICE_002 TE=trailers, deflate, gzip, compress DOCTYPE_REVISION=7.2.1 Date=Fri, 07 Jun 2013 16:28:49 GMT AS2-Version=1.1 Accept-Encoding=gzip, x-gzip, compress, x-compress AS2-From=SOALocal url=http://pwl.pri:8001/b2b/transportServlet Content-Transfer-Encoding=binary Message-ID=<38383939373331343630313931303737@SOALocal> Content-type=application/pkcs7-mime; smime-type="enveloped-data" MSG_RECEIVED_TIME=Fri Jun 07 11:28:49 CDT 2013 ECID-Context=1.71b9d2a41e5aaef0:-10db6371:13f1ee6cb74:-8000-000000000000276d;khvE MIME-version=1.0 tpName=PowellIndustries User-Agent=AS2 Server Oracle HTTPClient Version 10h Content-Length=13663 Host=pwl.pri:8001 Connection=close, TE useProxy=false From=SOALocal additionalHeaders=DOCTYPE_NAME=PROCESS_INVOICE_002#DOCTYPE_REVISION=7.2.1
    certificates     certificates
    State     ERROR
    Reattempt Count     
    Error Code     B2B-50547
    Error Description     Machine Info: (pwl.pri) Agreement not found for trading partners: FromTP SOALocal, ToTP Powell with document type PROCESS_INVOICE_002-null-INBOUND.
    Error Text     Agreement not found for trading partners: FromTP SOALocal, ToTP Powell with document type PROCESS_INVOICE_002-null-INBOUND.
    exchangeRetryInterval     
    exchangeRemainingRetry     
    Message Size     10788
    Thanks
    Ismail M.

    Hi Anuj,
    Here is the payload from the wire message. We are using 11.1.1.6.0
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <PROCESS_INVOICE_002 xmlns="http://www.openapplications.org/171_process_invoice_002">
      <CNTROLAREA xmlns="">
        <BSR>
          <VERB value="PROCESS">PROCESS</VERB>
          <NOUN value="INVOICE">INVOICE</NOUN>
          <REVISION value="002">002</REVISION>
        </BSR>
        <SENDER>
          <LOGICALID>POWELLIND</LOGICALID>
          <COMPONENT>B2B</COMPONENT>
          <TASK/>
          <REFERENCEID/>
          <CONFIRMATION>0</CONFIRMATION>
          <LANGUAGE>ENG</LANGUAGE>
          <CODEPAGE/>
          <AUTHID>oracle B2B</AUTHID>
        </SENDER>
        <DATETIME qualifier="CREATION">
          <YEAR/>
          <MONTH/>
          <DAY/>
          <HOUR/>
          <MINUTE/>
          <SECOND/>
          <SUBSECOND/>
          <TIMEZONE/>
        </DATETIME>
      </CNTROLAREA>
      <DATAAREA xmlns="">
        <PROCESS_INVOICE>
          <INVHEADER>
            <AMOUNT qualifier="DOCUMENT" type="T" index="1">
              <VALUE>5413</VALUE>
              <NUMOFDEC>2</NUMOFDEC>
              <SIGN>+</SIGN>
              <CURRENCY>USD</CURRENCY>
              <DRCR>D</DRCR>
            </AMOUNT>
            <DATETIME qualifier="DOCUMENT" index="1">
              <YEAR>2013</YEAR>
              <MONTH>03</MONTH>
              <DAY>15</DAY>
              <HOUR>00</HOUR>
              <MINUTE>00</MINUTE>
              <SECOND>00</SECOND>
              <SUBSECOND>0000</SUBSECOND>
              <TIMEZONE>-0500</TIMEZONE>
            </DATETIME>
            <DOCUMENTID>1000182</DOCUMENTID>
            <DESCRIPTN/>
            <DOCTYPE/>
            <PAYMETHOD/>
            <REASONCODE/>
            <USERAREA/>
            <PARTNER>
              <NAME index="1">Powell US Operating Unit</NAME>
              <ONETIME/>
              <PARTNRID/>
              <PARTNRTYPE>Supplier</PARTNRTYPE>
              <SYNCIND/>
              <ACTIVE/>
              <CURRENCY/>
              <DESCRIPTN/>
              <DUNSNUMBER/>
              <GLENTITYS/>
              <NAME index="1">Powell US Operating Unit</NAME>
              <PARENTID/>
              <PARTNRIDX/>
              <PARTNRRATG/>
              <PARTNRROLE/>
              <PAYMETHOD/>
              <TAXEXEMPT/>
              <TAXID/>
              <TERMID/>
              <USERAREA/>
              <CONTACT>
                <NAME index="1">No Sales Credit</NAME>
                <CONTCTTYPE/>
                <DESCRIPTN/>
                <EMAIL/>
                <FAX index="1"/>
                <TELEPHONE index="1"/>
                <USERAREA/>
              </CONTACT>
            </PARTNER>
            <PARTNER>
              <NAME index="1">PO Box 843823, Dallas, Dallas, TX, 75284-3823, United States</NAME>
              <ONETIME/>
              <PARTNRID/>
              <PARTNRTYPE>RemitTo</PARTNRTYPE>
              <SYNCIND/>
              <ACTIVE/>
              <CURRENCY/>
              <DESCRIPTN/>
              <DUNSNUMBER/>
              <GLENTITYS/>
              <NAME index="1">PO Box 843823, Dallas, Dallas, TX, 75284-3823, United States</NAME>
              <PARENTID/>
              <PARTNRIDX/>
              <PARTNRRATG/>
              <PARTNRROLE/>
              <PAYMETHOD/>
              <TAXEXEMPT/>
              <TAXID/>
              <TERMID/>
              <USERAREA/>
              <ADDRESS>
                <ADDRLINE index="1">PO Box 843823</ADDRLINE>
                <ADDRTYPE/>
                <CITY>Dallas</CITY>
                <COUNTRY>United States</COUNTRY>
                <COUNTY>Dallas</COUNTY>
                <DESCRIPTN/>
                <FAX index="1"/>
                <POSTALCODE/>
                <REGION/>
                <STATEPROVN>TX</STATEPROVN>
                <TAXJRSDCTN/>
                <TELEPHONE index="1"/>
                <URL/>
                <USERAREA/>
              </ADDRESS>
              <CONTACT>
                <NAME index="1"/>
                <CONTCTTYPE/>
                <DESCRIPTN/>
                <EMAIL/>
                <FAX index="1"/>
                <TELEPHONE index="1"/>
                <USERAREA/>
              </CONTACT>
            </PARTNER>
            <PARTNER>
              <NAME index="1"/>
              <ONETIME/>
              <PARTNRID/>
              <PARTNRTYPE>Carrier</PARTNRTYPE>
              <SYNCIND/>
              <ACTIVE/>
              <CURRENCY/>
              <DESCRIPTN/>
              <DUNSNUMBER/>
              <GLENTITYS/>
              <NAME index="1"/>
              <PARENTID/>
              <PARTNRIDX/>
              <PARTNRRATG/>
              <PARTNRROLE/>
              <PAYMETHOD/>
              <TAXEXEMPT/>
              <TAXID/>
              <TERMID/>
              <USERAREA/>
              <ADDRESS>
                <ADDRLINE index="1"/>
                <ADDRTYPE/>
                <CITY/>
                <COUNTRY/>
                <COUNTY/>
                <DESCRIPTN/>
                <FAX index="1"/>
                <POSTALCODE/>
                <REGION/>
                <STATEPROVN/>
                <TAXJRSDCTN/>
                <TELEPHONE index="1"/>
                <URL/>
                <USERAREA/>
              </ADDRESS>
              <CONTACT>
                <NAME index="1"/>
                <CONTCTTYPE/>
                <DESCRIPTN/>
                <EMAIL/>
                <FAX index="1"/>
                <TELEPHONE index="1"/>
                <USERAREA/>
              </CONTACT>
            </PARTNER>
            <DOCUMNTREF>
              <DOCTYPE>INV</DOCTYPE>
              <DOCUMENTID>10005:21009</DOCUMENTID>
              <PARTNRID/>
              <PARTNRTYPE>Supplier</PARTNRTYPE>
              <DESCRIPTN/>
              <DOCUMENTRV/>
              <LINENUM/>
              <NOTES index="1"/>
              <SCHLINENUM/>
              <SUBLINENUM/>
              <USERAREA/>
            </DOCUMNTREF>
            <INVTAX>
              <AMOUNT qualifier="TAX" type="T" index="1">
                <VALUE>413</VALUE>
                <NUMOFDEC>2</NUMOFDEC>
                <SIGN>+</SIGN>
                <CURRENCY>USD</CURRENCY>
                <DRCR>D</DRCR>
              </AMOUNT>
              <AMOUNT qualifier="TAXBASE" type="T" index="1">
                <VALUE>5413</VALUE>
                <NUMOFDEC>2</NUMOFDEC>
                <SIGN>+</SIGN>
                <CURRENCY>USD</CURRENCY>
                <DRCR>D</DRCR>
              </AMOUNT>
              <QUANTITY qualifier="PERCENT">
                <VALUE/>
                <NUMOFDEC/>
                <SIGN/>
                <UOM/>
              </QUANTITY>
              <DESCRIPTN/>
              <LINENUM/>
              <TAXCODE/>
              <TAXJRSDCTN/>
              <USERAREA/>
            </INVTAX>
            <PYMTTERM>
              <AMOUNT qualifier="DISCNT" type="T" index="1">
                <VALUE/>
                <NUMOFDEC/>
                <SIGN/>
                <CURRENCY/>
                <DRCR/>
              </AMOUNT>
              <DATETIME qualifier="DISCNT" index="1">
                <YEAR/>
                <MONTH/>
                <DAY/>
                <HOUR/>
                <MINUTE/>
                <SECOND/>
                <SUBSECOND/>
                <TIMEZONE/>
              </DATETIME>
              <DATETIME qualifier="DUE" index="1">
                <YEAR>2013</YEAR>
                <MONTH>04</MONTH>
                <DAY>14</DAY>
                <HOUR>00</HOUR>
                <MINUTE>00</MINUTE>
                <SECOND>00</SECOND>
                <SUBSECOND>0000</SUBSECOND>
                <TIMEZONE>-0500</TIMEZONE>
              </DATETIME>
              <DATETIME qualifier="PYMTTERM" index="1">
                <YEAR>1952</YEAR>
                <MONTH>01</MONTH>
                <DAY>01</DAY>
                <HOUR>00</HOUR>
                <MINUTE>00</MINUTE>
                <SECOND>00</SECOND>
                <SUBSECOND>0000</SUBSECOND>
                <TIMEZONE>-0600</TIMEZONE>
              </DATETIME>
              <DESCRIPTN>Net Due in 30 Days</DESCRIPTN>
              <TERMID>30 NET</TERMID>
              <USERAREA>
                <AMOUNT qualifier="TOTAL" type="T" index="1">
                  <VALUE>5413</VALUE>
                  <NUMOFDEC>2</NUMOFDEC>
                  <SIGN>+</SIGN>
                  <CURRENCY/>
                  <DRCR>D</DRCR>
                </AMOUNT>
              </USERAREA>
            </PYMTTERM>
          </INVHEADER>
          <INVLINE>
            <AMOUNT qualifier="EXTENDED" type="T" index="1">
              <VALUE>50</VALUE>
              <NUMOFDEC/>
              <SIGN>+</SIGN>
              <CURRENCY/>
              <DRCR>D</DRCR>
            </AMOUNT>
            <OPERAMT qualifier="UNIT" type="T">
              <VALUE>5</VALUE>
              <NUMOFDEC/>
              <SIGN>+</SIGN>
              <CURRENCY/>
              <UOMVALUE>1</UOMVALUE>
              <UOMNUMDEC>0</UOMNUMDEC>
              <UOM/>
            </OPERAMT>
            <QUANTITY qualifier="ITEM">
              <VALUE>10</VALUE>
              <NUMOFDEC/>
              <SIGN>+</SIGN>
              <UOM/>
            </QUANTITY>
            <LINENUM>1</LINENUM>
            <DESCRIPTN>11GA SHEET STEEL HOT ROLLED-PICKLED-OILED COMMERCIAL QUALITY.</DESCRIPTN>
            <ITEM>11GA SHEET STEEL HOT ROLLED-PICKLED-OILED COMMERCIAL QUALITY.</ITEM>
            <ITEMTYPE/>
            <ITEMX>11HRPO</ITEMX>
            <OPENITEM/>
            <PROJACTVTY/>
            <UNIT>LB</UNIT>
            <UPC/>
            <USERAREA/>
            <DOCUMNTREF>
              <DOCTYPE>LINE</DOCTYPE>
              <DOCUMENTID>10005:21009:19019</DOCUMENTID>
              <PARTNRID/>
              <PARTNRTYPE>Supplier</PARTNRTYPE>
              <DESCRIPTN/>
              <USERAREA/>
            </DOCUMNTREF>
            <DOCUMNTREF>
              <DOCTYPE>SalesOrder</DOCTYPE>
              <DOCUMENTID>600813</DOCUMENTID>
              <PARTNRID/>
              <PARTNRTYPE/>
              <DESCRIPTN/>
              <USERAREA/>
            </DOCUMNTREF>
            <DOCUMNTREF>
              <DOCTYPE>PurchaseOrder</DOCTYPE>
              <DOCUMENTID>TEST123</DOCUMENTID>
              <PARTNRID>N/A</PARTNRID>
              <PARTNRTYPE>Customer</PARTNRTYPE>
              <DESCRIPTN/>
              <DOCUMENTRV/>
              <LINENUM/>
              <SCHLINENUM/>
            </DOCUMNTREF>
          </INVLINE>
        </PROCESS_INVOICE>
      </DATAAREA>
    </PROCESS_INVOICE_002>

  • ORA-31185 DOM NODES DO NOT BELONG TO THE SAME DOCUMENT

    Hi all,
    I developed an Oracle function that returns a XMLTYPE. In this function, I first created a node <ROOT> and I would like to append children nodes to this root node.
    To create children nodes I loop on a cursor and each iteration of this loop "build" a XMLTYPE node. I would like append this XMLTYPE node to the root node but for now I get the ORA-31185 error !
    Here is the code of my function (simplified version (without use of cursor)):
    CREATE OR REPLACE
    FUNCTION GET_MEDOC2 RETURN XMLTYPE IS
          parent_document DBMS_XMLDOM.DOMDOCUMENT;
       parent_rootnode DBMS_XMLDOM.DOMNODE;
       child_document  DBMS_XMLDOM.DOMDOCUMENT;
       child_rootnode  DBMS_XMLDOM.DOMNODE;
       rootXML XMLTYPE;
       subXML XMLTYPE;
       countLOOP NUMBER;
    BEGIN
        SELECT XMLELEMENT("ROOT") INTO rootXML FROM DUAL;
        parent_document := DBMS_XMLDOM.newDOMDocument(rootXML);
        parent_rootnode := DBMS_XMLDOM.makeNode(DBMS_XMLDOM.getDocumentElement(parent_document));
         FOR countLOOP IN 1..10 LOOP
            SELECT XMLELEMENT("CHILD", countLOOP) INTO subXML FROM DUAL;
            child_document  := DBMS_XMLDOM.newDOMDocument(subXML);
            child_rootnode  := DBMS_XMLDOM.makeNode(DBMS_XMLDOM.getDocumentElement(child_document));   
            child_rootnode := DBMS_XMLDOM.appendchild(parent_rootnode, child_rootnode);  
         END LOOP;
         RETURN rootXML;
    END GET_MEDOC2;When I execute the following :
    SELECT GET_MEDOC2() FROM DUAL;I get the beautiful ORA-31185 DOM NODES DO NOT BELONG TO THE SAME DOCUMENT
    What I expect is an XML like this :
    <ROOT>
        <CHILD>1</CHILD>
        <CHILD>2</CHILD>
        <CHILD>3</CHILD>
        <CHILD>4</CHILD>
        <CHILD>5</CHILD>
        <CHILD>6</CHILD>
        <CHILD>7</CHILD>
        <CHILD>8</CHILD>
        <CHILD>9</CHILD>
        <CHILD>10</CHILD>
    </ROOT>Can someone help me please ? (I'm on Oracle 10.1.0.5.0)
    Thanks

    Hi,
    I get the beautiful ORA-31185 DOM NODES DO NOT BELONG TO THE SAME DOCUMENTYou need function importNode (or adoptNode) to copy nodes across different documents.
    But, do not use DOM manipulation in this case.
    A single query using SQL/XML functions is certainly simpler and more performant :
    SELECT XMLElement("ROOT",
             XMLAgg(
               XMLelement("CHILD",
                 XMLForest(
                   empno
                 , ename
               ) order by empno
           ) as result
    FROM (
      -- your query goes here, e.g. :
      SELECT empno, ename
      FROM scott.emp
    <ROOT>
      <CHILD>
        <EMPNO>7369</EMPNO>
        <ENAME>SMITH</ENAME>
      </CHILD>
      <CHILD>
        <EMPNO>7499</EMPNO>
        <ENAME>ALLEN</ENAME>
      </CHILD>
      <CHILD>
        <EMPNO>7521</EMPNO>
        <ENAME>WARD</ENAME>
      </CHILD>
      <CHILD>
        <EMPNO>7566</EMPNO>
        <ENAME>JONES</ENAME>
      </CHILD>
      <CHILD>
        <EMPNO>7654</EMPNO>
        <ENAME>MARTIN</ENAME>
      </CHILD>
      <CHILD>
        <EMPNO>7698</EMPNO>
        <ENAME>BLAKE</ENAME>
      </CHILD>
      <CHILD>
        <EMPNO>7782</EMPNO>
        <ENAME>CLARK</ENAME>
      </CHILD>
      <CHILD>
        <EMPNO>7839</EMPNO>
        <ENAME>KING</ENAME>
      </CHILD>
      <CHILD>
        <EMPNO>7844</EMPNO>
        <ENAME>TURNER</ENAME>
      </CHILD>
      <CHILD>
        <EMPNO>7900</EMPNO>
        <ENAME>JAMES</ENAME>
      </CHILD>
      <CHILD>
        <EMPNO>7902</EMPNO>
        <ENAME>FORD</ENAME>
      </CHILD>
      <CHILD>
        <EMPNO>7934</EMPNO>
        <ENAME>MILLER</ENAME>
      </CHILD>
    </ROOT>

  • Upadting a XML node value to another table

    Hi guys,
    Can you please tell me, what is wrong with the below query
    update csabcd cs set (cs.ELEMENT,cs.ELEMENT2,cs.ELEMENT3) =
            (select x.* from abcde a, xmltable ('.' passing XMLTYPE(a.xml)
                 columns mort1 varchar2 (80) path '/alert/tab1/details/Element',
                         mort2 varchar2 (80) path '/alert/tab1/details/Element2',
                         mort3 varchar2 (80) path '/alert/tab1/details/Element3'
                         ) x  where cs.aid = a.aid);i get this error
    ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00229: input source is empty
    Error at line 0
    ORA-06512: at "SYS.XMLTYPE", line 254
    ORA-06512: at line 1Edited by: Depakjan on Oct 21, 2010 1:35 PM

    Well from that sample, the XMLTABLE works ok...
    SQL> ed
    Wrote file afiedt.buf
      1  with abcde as (select '<?xml version="1.0" encoding="UTF-8"?>
      2  <alert>
      3    <tab0 comment="section in XSL component" name="Initial Information">
      4      <details>
      5        <Priority>0001</Priority>
      6        <DateVRUClaimInitiated>2010-06-29</DateVRUClaimInitiated>
      7      </details>
      8      <contacts comment="grid in XSL component">
      9        many child nodes here
    10      </contacts>
    11    </tab0>
    12    <tab1 comment="section in XSL component" name="Additional Information">
    13      <details comment="list collection in XSL component">
    14        <Channel1>123</Channel1>
    15        <Element>1234</Element>
    16        <Element2>1234</Element2>
    17        <Element3>1234</Element3>
    18      </details>
    19      <IPAddresses>
    20        Many child nodes here
    21      </IPAddresses>
    22      <ANIPhones>
    23        Many child nodes here
    24      </ANIPhones>
    25    </tab1>
    26  </alert>' as xml from dual)
    27  --
    28  --
    29  --
    30  select x.*
    31  from abcde a
    32      ,xmltable ('.'
    33                 passing xmltype(a.xml)
    34                 columns mort1 varchar2 (80) path '/alert/tab1/details/Element'
    35                        ,mort2 varchar2 (80) path '/alert/tab1/details/Element2'
    36                        ,mort3 varchar2 (80) path '/alert/tab1/details/Element3'
    37*               ) x
    SQL> /
    MORT1      MORT2      MORT3
    1234       1234       1234
    SQL>There must be something else in the XML that's causing the problem.
    What happens if you just do:
    select xmltype(xml) from abcde(add appropriate where clause for particular ID if necessary)
    Is it able to convert the xml strings to xmltype ok?

  • Convertion of XML node to string using Xquery transformation in OSB

    How to convert XML node to string using a built in function using Xquery transformation in OSB? In BPEL we have the Xpath extension function ora:getContentAsString() to do the same.

    fn:bea-serialize() function converts xml node to string. but it assigns namespace prefix in every xml node during the conversion. So is there any function to remove the namespace prefix from XML node using Xquery built in function?

  • How to binding incoming xml node list to the tree control as dataProvider

    Recently, I faced into one issue: I want to binding incoming xml node (it's not avaliable at start) list to the tree control as a dataProvider.
    Since the incoming xml node list is not avaliable at beginning but I needs to bind it to the tree, so I create one virtual one in the xml, and prepare to remove it before the tree is shown. (ready for the actual node adding). But It did not work.
    Please see the presudo-code here:
    1.  Model layer(CsModel.as)
    public class CsModel
            [Bindable]
            public var treeXML:XML=<nodes><car label="virtualOne" id="1">
                                   </car></nodes>;
            (Here, I want to build binding relationship on the <car/> node,
             one 'virtual/stub' node is set here with lable="virtualOne".
             But this node will be deleted after IdTree
             control is created completely.)      
            [Bindable]
            public var treeData:XMLList =new XMLListCollection(treeXML.car);
    2. view layer(treePage.mxml)
            private var _model:CsModel = new CsModel();
            private function addNode():void
                    var newNode:XML=<car/>;
                    newNode.@label="newOne";
                    newNode.@id=1;
                    _model.treeXML.appendChild(newNode);
                             private function cleanData():void
                                     delete _model.treeXML.car;
            <mx:VBox height="100%" width="100%">
            <mx:Button label="AddNode" click="addNode()" />
            <mx:Tree id="IdTree"  labelField="@label"
              creationComplete="cleanData()"
              dataProvider="{_model}"/>
        </mx:VBox>
    3. Top view layer (App.Mxml)
    <mx:application>
        <treePage />
    </mx:application>
    For method: cleanData(),It's expected that when the treePage is shown, we first delete the virutalOne to provide one 'clear' tree since we don't want show virtualOne to the user. The virutalOne node just for building the relationship between treeData and treeXML at beginning. But the side effect of this method, I found, is that the relationship between treeXML and treeData was cut off. And this leads to that when I added new node (by click the 'addNode' button) to the xmlXML, the xmlData was not affected at all !
    So Is there any other way to solve this issue or bind the incoming xml node list to the xmlListCollection which will be used as Tree control's dataProvider ?

    If u want to display the name : value then u can do like this
    <xsl:eval>this.selectSingleNode("name").nodeName</xsl:eval> : <xsl:value-of select="name" />

  • I have downloaded the two files needed for the upgrade of Adobe Photoshop Elements 8 to version 12 but I cannot open them to make them run and install. What am I supposed to do. One is a very large .7z file just over 1gb in size.

    How do I open  up a .7z file just over 1gb in size? I have just downloaded this as an upgrade from Adobe Photoshop Elements 8 to version 12. I cannot see any sign of the Akamai program on my computer that is supposed to open and install the two files that I downloaded.

    Thanks Hans
    I don’t mind mountain climbing but anything serious to do with a computer scares me silly.
    I installed the 64 bit version of 7zip and once I figured out how to tell the computer to use the right application within that to open the 7zip file, the big file opened and I was able to apply the .exe file to get things going and installed. In the end the default location the installation chose was program files x86 which I think is the 32 bit folder but it all seems to be ok now.
    Many thanks again for your response.
    Cheers
    Peter

  • Calling Web Service from PL/SQL (ORA-31011: XML parsing failed)

    hi all,
    i want to invoke a web service from PL/SQL.
    i found a soap_api package from "Tim Hall".
    but it gives error in "ealtas.soap_api.invoke function"
    ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00007: unexpected end-of-file encountered
    ORA-06512: at "SYS.XMLTYPE", line 48
    ORA-06512: at "EALTAS.SOAP_API", line 135
    ORA-06512: at line 44
    set scan off;
    declare
    P_ADRES_WS VARCHAR2(100) := 'http://<host>:<port>/dswsbobje/qaawsservices/biws?wsdl=1&cuid=AVhBxL14I2dDjz8yFoznRLY';
    P_ENVELOPE VARCHAR2(32767);
    P_FNC VARCHAR2(256) := 'runQueryAsAService';
    ol_req ealtas.soap_api.t_request;
    ol_resp ealtas.soap_api.t_response;
    message varchar2(500);
    BEGIN
    p_envelope := '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:db="DB_SUBS_BUDGET">
    <soapenv:Body>
    <db:runQueryAsAService>
    <db:login>DWH_BO</db:login>
    <db:password>Pass1234</db:password>
    </db:runQueryAsAService>
    </soapenv:Body>
    </soapenv:Envelope>
    ol_req := ealtas.soap_api.new_request(P_FNC, 'xmlns="'||P_ADRES_WS||'"');
    ol_resp := ealtas.soap_api.invoke(ol_req, P_ADRES_WS, p_fnc,P_ENVELOPE);
    ealtas.soap_api.show_envelope(p_envelope);
    message := ealtas.soap_api.get_return_value(ol_resp, 'Db_Timeid', 'xmlns:m="'||P_ADRES_WS||'"');
    DBMS_OUTPUT.PUT_LINE('AAAA -'||message);
    end;
    thanks.
    ealtas.

    AlexAnd thanks for your help.
    ACL is ok.
    can you help me about how can i edit this function. i tried many times but i could not do it :( .
    web service url : <host>:<port>/dswsbobje/qaawsservices/biws?WSDL=1&cuid=AVhBxL14I2dDjz8yFoznRLY
    what must be these variables values ?
    l_url :=
    l_namespace :=
    l_method :=
    l_soap_action :=
    l_result_name :=
    this is the xml;
    <?xml version="1.0" encoding="UTF-8" ?>
    - <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="DB_SUBS_BUDGET" xmlns:tns1="dsws.businessobjects.com" targetNamespace="DB_SUBS_BUDGET" xmlns="http://schemas.xmlsoap.org/wsdl/" name="queryasaservice">
    - <types>
    - <s:schema elementFormDefault="qualified" targetNamespace="DB_SUBS_BUDGET">
    - <s:element name="runQueryAsAService">
    - <s:complexType>
    - <s:sequence>
    <s:element name="login" type="s:string" />
    <s:element name="password" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    - <s:complexType name="Row">
    - <s:sequence>
    <s:element name="Db_Timeid" type="s:string" nillable="true" />
    <s:element name="Db_Tariff" type="s:string" nillable="true" />
    <s:element name="Grossadds" type="s:double" nillable="true" />
    <s:element name="Cancellations" type="s:double" nillable="true" />
    <s:element name="Netadds" type="s:double" nillable="true" />
    <s:element name="Subs" type="s:double" nillable="true" />
    <s:element name="Churn_P" type="s:double" nillable="true" />
    </s:sequence>
    </s:complexType>
    - <s:complexType name="Table">
    - <s:sequence>
    <s:element name="row" maxOccurs="unbounded" type="s0:Row" />
    </s:sequence>
    </s:complexType>
    - <s:element name="runQueryAsAServiceResponse">
    - <s:complexType>
    - <s:sequence>
    <s:element name="table" type="s0:Table" />
    <s:element name="message" type="s:string" />
    <s:element name="creatorname" type="s:string" />
    <s:element name="creationdate" type="s:dateTime" />
    <s:element name="creationdateformated" type="s:string" />
    <s:element name="description" type="s:string" />
    <s:element name="universe" type="s:string" />
    <s:element name="queryruntime" type="s:int" />
    <s:element name="fetchedrows" type="s:int" />
    </s:sequence>
    </s:complexType>
    </s:element>
    - <s:element name="QaaWSHeader">
    - <s:complexType>
    - <s:sequence>
    <s:element name="sessionID" type="s:string" minOccurs="0" maxOccurs="1" nillable="true" />
    <s:element name="serializedSession" type="s:string" minOccurs="0" maxOccurs="1" nillable="true" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </types>
    - <message name="runQueryAsAServiceSoapIn">
    <part name="parameters" element="s0:runQueryAsAService" />
    <part name="request_header" element="s0:QaaWSHeader" />
    </message>
    - <message name="runQueryAsAServiceSoapOut">
    <part name="parameters" element="s0:runQueryAsAServiceResponse" />
    </message>
    - <portType name="QueryAsAServiceSoap">
    - <operation name="runQueryAsAService">
    <documentation>Get Web Service Provider server info</documentation>
    <input message="s0:runQueryAsAServiceSoapIn" />
    <output message="s0:runQueryAsAServiceSoapOut" />
    </operation>
    </portType>
    - <binding name="QueryAsAServiceSoap" type="s0:QueryAsAServiceSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    - <operation name="runQueryAsAService">
    <soap:operation soapAction="DB_SUBS_BUDGET/runQueryAsAService" style="document" />
    - <input>
    - <soap:header message="s0:runQueryAsAServiceSoapIn" part="request_header" use="literal">
    <soap:headerfault message="s0:runQueryAsAServiceSoapIn" part="request_header" use="literal" />
    </soap:header>
    <soap:body use="literal" parts="parameters" />
    </input>
    - <output>
    <soap:body use="literal" />
    </output>
    </operation>
    </binding>
    - <service name="DB_SUBS_BUDGET">
    <documentation />
    - <port name="QueryAsAServiceSoap" binding="s0:QueryAsAServiceSoap">
    <soap:address location="http://<host>:<port>/dswsbobje/qaawsservices/queryasaservice?&cuid=AVhBxL14I2dDjz8yFoznRLY&authType=secEnterprise&locale=en_US&timeout=60&ConvertAnyType=false" />
    </port>
    </service>
    </definitions>

  • SQL Server Agent Failed to decrypt protected XML node

    I'm getting the below error when trying to run sql server agent to run an SSIS package. I've updated folder security to allow sql server agent access, but cannot get the package to execute within SQL Management Studio. The package runs find in SSIS. 
    11.0.2100.60 for 64-bit  Copyright (C) Microsoft Corporation. All rights reserved.    Started:  12:12:00 PM  Error: 2014-11-30 12:12:02.65     Code: 0xC0016016     Source: LoadStgProspects      Description:
    Failed to decrypt protected XML node "DTS:Password" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that
    the correct key is available.  End Error  Error: 2014-11-30 12:12:03.88     Code: 0xC0016016     Source: LoadStgProspects      Description: Failed to decrypt protected XML node "DTS:Password" with error
    0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available.  End Error  Error: 2014-11-30
    12:12:04.74     Code: 0xC0209303     Source: LoadStgProspects Connection manager "Excel Connection Manager"     Description: The requested OLE DB provider Microsoft.Jet.OLEDB.4.0 is not registered. If the 64-bit driver
    is not installed<c/> run the package in 32-bit mode. Error code: 0x00000000.  An OLE DB record is available.  Source: "Microsoft OLE DB Service Components"  Hresult: 0x80040154  Description: "Class not registered".
     End Error  Error: 2014-11-30 12:12:04.74     Code: 0xC020801C     Source: Load prospect files Prospect xls [231]     Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.  The AcquireConnection
    method call to the connection manager "Excel Connection Manager" failed with error code 0xC0209303.  There may be error messages posted before this with more information on why the AcquireConnection method call failed.  End Error  Error:
    2014-11-30 12:12:04.74     Code: 0xC0047017     Source: Load prospect files SSIS.Pipeline     Description: Prospect xls failed validation and returned error code 0xC020801C.  End Error  Error: 2014-11-30 12:12:04.74
        Code: 0xC004700C     Source: Load prospect files SSIS.Pipeline     Description: One or more component failed validation.  End Error  Error: 2014-11-30 12:12:04.74     Code: 0xC0024107     Source:
    Load prospect files      Description: There were errors during task validation.  End Error  Error: 2014-11-30 12:12:04.74     Code: 0xC00220DE     Source: LoadStgProspects      Description: Error
    0xC0012050 while loading package file "C:\Users\Jim\Documents\Visual Studio 2010\Projects\SSISTraining\SSISTraining\LoadStgProspects.dtsx". Package failed validation from the ExecutePackage task. The package cannot run.  .  End Error  DTExec:
    The package execution returned DTSER_FAILURE (1).  Started:  12:12:00 PM  Finished: 12:12:04 PM  Elapsed:  4.337 seconds.  The package execution failed.  The step failed.,00:00:04,0,0,,,,0

    Hi selfdestruct80,
    According to your description, you created SSIS package and it works fine. But you got the error message when the SSIS package was called from a SQL Server Agent job.
    According to my knowledge, the package may not run in the following scenarios:
    The current user cannot decrypt secrets from the package.
    A SQL Server connection that uses integrated security fails because the current user does not have the required permissions.
    File access fails because the current user does not have the required permissions to write to the file share that the connection manager accesses.
    A registry-based SSIS package configuration uses the HKEY_CURRENT_USER registry keys. The HKEY_CURRENT_USER registry keys are user-specific.
    A task or a connection manager requires that the current user account has correct permissions.
    According to the error message, the SSIS Package ProtectionLevel property to EncryptSensitiveWithPassword as ArthurZ mentioned. To solve the problem, you need to go to Command Line tab, manually specify the paassword in SQL Agent Job with the command like below:
    /FILE "\"C:\Users\xxxx\Documents\SQL Server Management Studio\SSIS\Package.dtsx\"" /DECRYPT somepassword /CHECKPOINTING OFF /REPORTING E
    If you have any more questions, please feel free to ask.
    Thanks,
    Wendy Fu
    Wendy Fu
    TechNet Community Support

Maybe you are looking for