Aq Adapter ( ESB ) and CLOB payload

I have a AQ adapter which consists of the following payload :
CREATE OR REPLACE TYPE "XML_CLOB_TYPE" AS OBJECT
(XML CLOB
I've added an AQ adapter in ESB which enqueues messages to this specific queue. I've got a certain payload ( in XML format ) that I want to enqueue in this queue. When I add a routing rule to the routing service and create a XLST mapper I can only see XML as the target attribute. which is quite obvious as this is the defined type.
Is there an easy way to enqueue a full XML message into this CLOB? Or is the possibility to escape all the < and > signs in my xsl like this?
<xsl:template match="/">
<obj1:XML_CLOB_TYPE>
<XML>
&lt ; test &gt ;
<xsl:value-of select="/imp1:transacties/imp1:transactie/imp1:brokerid"/>
&lt ;/ test &gt ;
</XML>
</obj1:XML_CLOB_TYPE>
</xsl:template>
the above method works but is cumbersome and (IMHO) quite ugly.
anyone has a better working solution?
TIA
updated escaping
Message was edited by:
Martin.Kleinman
updated escaping.
Message was edited by:
Martin.Kleinman

Hi Martin-
I am facing a similar issue. Here is the details, please let me know how you resolved it.
We have created an AQ in Oracle DB which will have the following message Structure:
CREATE OR REPLACE TYPE enqueue_payload AS OBJECT
( field1 VARCHAR2(100),
field2 VARCHAR2(100),
field3 DATE,
field4 VARCHAR2(100),
field5 NUMBER,
payload CLOB,
In the Payload field we are enqueing an XML message.
We have to use a OSB proxy service to dequeue the message from the AQ, transform it to another format and send to a SOA Composite.
We created a AQ Adapter in Jdeveloper 11g and imported the WSDL, XSD and .jca jca binding file into the OSB project. And configured the OSB proxy service using the WSDL imported.
However in OSB proxy service message flow when I try to create an XQUERY transformation, I see that the Payload field does not expose the structure of the XML message that is being enqueued. I even changed the message structure definition to have the payload field as XMLType. But it didn't help.
On analyzing the XSD created by AQ Adapter, I see that the payload is being defined as "string" in the XSD.
Inputs Needed
=========
1. How can we parse the payload field defined as CLOB/XMLType in OSB so that I can see the structure of the XML message it holds ?
2. Is there any in-built function in OSB to convert it to XML ?
3. Any other inputs in order to transform the XML message coming in the payload field as CLOB/XMLType
Please provide your inputs and I hope that I have clearly explained my use case.
Thanks in advance for your time and help!!
Regards,
Dibya

Similar Messages

  • Setting JMS Message header and properties in JMS Adapter ESB Component

    Hi,
    I am new to using some of these adapters in Oracle ESB and need some help.
    I am trying to define a JMS Publisher using JMS Adapter component in JDeveloper. I would like to publish messages with message property set to a topic. I dont find a way to do that.
    I see that for consuming JMS messages, the JMS Adapter allows to specify message selector but I could not find a way for producing message with a user defined message property. I would like to use that property in the message selector to filter messages and consume.
    I am using Oracle SOA Suite 10.1.3.3.x
    Can someone help please?
    Thanks.

    Thanks for the response.
    I think I found the solution although I havent tried it out yet.
    ESB sample 110.JMStoJMSHeaders outlines the approach.
    It is my understanding that JMS Message selector can work on JMS header or JMS properties (user defined) but not on JMS body. (All the three constitue a JMS message). Hence the need to set a JMS property prior to publishing the message to a topic/queue.
    Thanks.

  • FTP Adapter, B2b and SOA performance Test

    Hi All,
    We have a requirement to processes Large XML files ranging from 1 MB to 200 MB. Our Flow is FTP Adapter picks the XML's Repeatable Nodes. BPEL Transforms and Loops thru each XML node and calls B2B Adapter in Each Loop. We are doing Advanced EDI batching to aggregate all the nodes in one XML to one EDI. Files upto 7 MB are working fine with FTP fileraise property= 1 and polling frequency=300s. Files with 14MB are failing with JTA transaction Time Out (Time Out Set=500s) and Server running in PROD mode. We are using SOA Suite 11.1.1.7 and HIPAA 834 Transactions. Is there a Payload size Limitation For FTP Adapter or SOA Suite? Do we need to Follow a different approach to achieve our functionality? Do we need to set any Performance parameters? Please share your thoughts.
    Thanks In Advance!!!

    Pl do not post duplicates - FTP Adapter, B2b and SOA performance Test

  • Using WCF Cutom Adapter to return CLOB (or similar)

    Hi all,
    I am trying to return mulitple sets of data from an Oracle table each of which exceed VARCHAR2(4000).
    I wish to do this in one call to a stored procedure as the intention is to assign the returned data to a messages body parts so that I can send them as multiple seperate attachments to an email (using the SMTP adapter).
    My oracle stored procedure and returned data types are as follows:
        PROCEDURE get_job(
            po_job_id OUT jobs.job_id%TYPE, po_endpoint OUT data.endpoint%TYPE,
            po_job_type OUT job_types.job_type_id%TYPE, po_data OUT rec_data_table);
        TYPE rec_data_table IS TABLE OF rec_data
           INDEX BY BINARY_INTEGER;
        TYPE rec_data IS RECORD (
            data CLOB
            --data VARCHAR2(4000));
    If I do restrict the data to VARCHAR2(4000), as shown commented out in the rec_data RECORD above everything works fine.
    However, to return anything larger I believe would require me to return a CLOB (even though I would probably only be returning data of a few MBytes not GBytes).
    Having tried this I get the following error:
    "The adapter "WCF-Custom" raised an error message. Details "Microsoft.ServiceModel.Channels.Common.TargetSystemException: ORA-03113: end-of-file on communication channel
    Process ID: 499868
    Session ID: 201 Serial number: 33735 ---> Oracle.DataAccess.Client.OracleException: ORA-03113: end-of-file on communication channel
    Process ID: 499868
    Session ID: 201 Serial number: 33735"
    I am using Oracle 11gR2, BizTalk 2010 and the WCF adapter with oracle bindings.
    Researching this I find conflicting information:
    "LOB types: The WCF-based Oracle DB adapter provides rich support for BLOB, CLOB and BFILE types in tables and stored procedures/functions. The adapter also exposes special operations for streaming BLOB/CLOB/BFILE data in the WCF service model
    interface." Source: http://blogs.msdn.com/b/adapters/archive/2007/10/29/biztalk-oracle-adapter-vs-wcf-based-oracle-db-adapter.aspx
    “Due to the limitation of associative arrays, PL/SQL tables or PL/SQL tables of records that contain any of the following data types are not supported in the Oracle Database adapter:
    BFILE
    BLOB
    CLOB ……….”
    Source: http://msdn.microsoft.com/en-us/library/dd788520.aspx
    Also, this post (http://social.msdn.microsoft.com/Forums/en-US/303cc67c-5e01-4ecb-ba5c-184a1d73a7f7/biztalk-wcf-adpater-oracle-store-procedure-returning-clob?forum=biztalkediandas2) seems to indicate
    it is possible but there is no detail so not sure if it matches my requirements.
    I have also had a quick look at the
    Operate_LOB sample but not sure if this will provide me with the solution I am after as I really wanted to return an array of CLOBS (or similar).
    I have seen various other posts but nothing that definitively answers my questions and from my tests I would say that I can’t easily return largish amounts of data (a few MBs) in a single element
    from Oracle …. unless of course I am missing something.
    Can anyone give me a definitive answer as to whether I can do what I have set out above … if not I will turn my attention to a different solution.
    Many Thanks for any help/advice you can provide,
    Regards,
    Dave

    From your description, it can hardly give precise troubleshooting for this problem, you can
    consider opening a support case with us. Visit this link to see the various support options that are available to better meet your needs: 
    http://support.microsoft.com/default.aspx 

  • Message flow between advanced adapter engine and messaging system for ICO scenarios

    Dear all,
    I'm working on a PI 7.31 AEX box and created an ICO object for one interface with HTTP_AAE2IDoc scenario. The interface works quite well. When I looked in to message log of messages for this interface in PI monitor, I noticed that the internal XI message are put totally 5 times into the send queue and retrieved from send queue. In some steps I only see after retrieving a message from send queue and immediately put it back into send queue. Can someone please kindly explain the message flow between advanced adapter engine and messaging system and what exactly happens after each retrieving a message from send queue?
    Below is an example of message log for one message:
    12/08/2014 09:26:06.472    Information    MP: processing local module localejbs/CallSapAdapter
    12/08/2014 09:26:06.472    Information    Application attempting to send an XI message asynchronously using connection HTTP_AAE_http://sap.com/xi/XI/System
    12/08/2014 09:26:06.478    Information    Trying to put the message into the send queue
    12/08/2014 09:26:06.499    Information    Message successfully put into the queue
    12/08/2014 09:26:06.499    Information    The message was successfully retrieved from the send queue
    12/08/2014 09:26:06.499    Information    The application sent the message asynchronously using connection HTTP_AAE_http://sap.com/xi/XI/System. Returning to application
    12/08/2014 09:26:06.500    Information    HTTP adapter successfully processed interface PlantResponse_Out
    12/08/2014 09:26:06.501    Information    Trying to put the message into the send queue
    12/08/2014 09:26:06.501    Information    Message status set to DLNG
    12/08/2014 09:26:06.513    Information    Message successfully put into the queue
    12/08/2014 09:26:06.513    Information    The message was successfully retrieved from the send queue
    12/08/2014 09:26:06.515    Information    Message status set to DLNG
    12/08/2014 09:26:06.533    Information    Trying to put the message into the send queue
    12/08/2014 09:26:06.548    Information    Message successfully put into the queue
    12/08/2014 09:26:06.548    Information    The message was successfully retrieved from the send queue
    12/08/2014 09:26:06.550    Information    Message status set to DLNG
    12/08/2014 09:26:06.551    Information    Executing Request Mapping "http://styrolution.com/pi/Integration/PlantMaintenance/PlantResponse/PlantResponse_to_Zcol_Basf_Inotif02_Inotif01_Zeupm_Inotif01_Ludwigshafen" (SWCV 085d2320fb3b11e2cc0bf4d50aea8c33)
    12/08/2014 09:26:06.563    Information    Trying to put the message into the send queue
    12/08/2014 09:26:06.571    Information    Message successfully put into the queue
    12/08/2014 09:26:06.571    Information    The message was successfully retrieved from the send queue
    12/08/2014 09:26:06.573    Information    Trying to put the message into the send queue
    12/08/2014 09:26:06.573    Information    Message status set to DLNG
    12/08/2014 09:26:06.580    Information    Message successfully put into the queue
    12/08/2014 09:26:06.580    Information    The message was successfully retrieved from the send queue
    12/08/2014 09:26:06.582    Information    Message status set to DLNG
    12/08/2014 09:26:06.583    Information    Delivering to channel: IDOC_R
    12/08/2014 09:26:06.583    Information    MP: processing local module localejbs/IDocOutboundModuleBean
    12/08/2014 09:26:06.583    Information    XI message received for processing
    12/08/2014 09:26:06.587    Information    Sender Party: Sender Service:SXX Receiver Party: Receiver Service:RXXCLNT200 Communication Channel:IDOC_R
    12/08/2014 09:26:06.588    Information    IDOC metadata repository is RXX
    12/08/2014 09:26:06.589    Information    Control record is not mandatory - control record will be added if not available
    12/08/2014 09:26:06.590    Information    XML Payload parsed to idoc document list with number of idocs: 1
    12/08/2014 09:26:06.595    Information    Sending idoc message to receiver R/3 system with TID XIh{lsRI824UITC0009OalmW
    12/08/2014 09:26:06.813    Information    IDOC message sent to receiver R/3 system
    12/08/2014 09:26:06.817    Information    TID XIh{lsRI824UITC0009OalmW confirmed
    12/08/2014 09:26:06.819    Information    Message was successfully transmitted to endpoint <local> using connection HTTP_AAE_http://sap.com/xi/XI/System
    12/08/2014 09:26:06.821    Information    Message status set to DLVD
    Thanks & regards
    Dingjun

    Hello All,
    Thanks for the prompt responses and with best information, But apart from this,I need how an adapter(File/JDBC) works along
    with AAE in PI 7.1. When does the job of File/JDBC adapter is completed and resumed in a synchronous case. That is,
    File Location --> file adapter -
    > XI(AAE) --> JDBC adapter --> database.
    In file sender, lets suppose we have synchronous settings(Best Effort). Now when File adapter's job is finished and when it
    gets back the response back from XI. Please explain step by step from starting(file adapter polling the location) to getting the response coming back to XI.
    Regards,
    Achari.

  • ESB and Stateful web services

    Folks,
    I’ve got two web services that are called in succession. The first web service performs a search and caches the results on the server, returning only some basic information about how many results were found (in the payload) and a session id (as an attribute in a HTTP header). The second service is called afterwards, passing some page request information (in payload) and the session id (in the HTTP header). The session id is used to find the appropriate search results and return them lazily (based the given page request information).
    The web service requests are done through ESB and OWSM. My problem, however, is that according to the ESB developer’s guide (http://download-west.oracle.com/docs/cd/B31017_01/integrate.1013/b28211.pdf , page 5-29, ‘Limitations of ESB Header Support’) ESB is not capable of setting header attributes (at least not SOAP header attributes).
    Is it possible to use stateful web services with the ESB? If so, how is the SessionID handled on the ESB and how is it correlated with the clients of the ESB who are getting the results back from this stateful web service?
    Thanks in advance,
    Joseph

    Dave,
    We have invoked the two services mentioned above in four different manners using Java code.
    1. We are invoking the services through ESB with no success. The HTTP header (set-cookie) never makes it back.
    2. We are invoking the services through Web Services Manager (the services are registered directly with OWSM) with no success. The HTTP header (set-cookie) never makes it back.
    3. We are invoking the services through Web Services Manager (with ESB providing a wrapper for the services) with no success. The HTTP header never (set-cookie) makes it back.
    4. Invoking the services directly (no OWSM, no ESB). This method is successful. HTTP headers are being exchanged without incident.
    We are using Ethereal to check out the traffic going back and forth so we can see the SOAP headers getting propagated back and forth as you had mentioned. The problem is that the HTTP headers (as mentioned in my first posting) containing the session information are getting dropped when using ESB or Web Services Manager.
    Any suggestions?
    Thanks,
    Joseph

  • Oracle ESB and Mediator

    Hi,
    I am evaluating many ESB products and Oracle is one of them, I have installed fusion middleware 11g and managed to configure it along with Jdeveloper requirements, but the bad news were that 11g does not support Oracle ESB yet and it supports the “Mediator” which is light version of ESB, could anyone please comment on this, is that’s right and is it ok to use Mediator instead on Oracle ESB, knowing that we need a robust heavy transactional ESB with many adapters to be supported.
    Thanks,

    Oracle ESB’s primary mission was
    to provide service mediation and application integration capabilities to SOA
    composite application developers. This use-case can be described as “in-line
    mediation” since it is used for transformation, routing and event delivery inside of
    what is logically a composite application.
    Oracle Service Bus on the other
    hand focused on solving the operations and scalability problems in a standalone
    service bus. Here the use-cases that it focused on were those of service
    virtualization, on-ramping and aggregation of external services and gateway
    functionality.
    By combining the respective strengths of Oracle ESB and AquaLogic Service Bus(Now OSB)
    in the Oracle SOA Suite platform, Oracle will enable all the common ESB usecases
    and provide unmatched flexibility and functional capabilities.
    The Mediator(OESB/ESB) is an intra-composite mediation component that is
    deployed within an application. It is responsible for brokering
    communications between components that make up a composite, enabling
    transformation, routing, event delivery and payload validation inside the
    composite. The main users of the Mediator are application developers
    assembling multiple components into a composite application which can
    be deployed, versioned and managed as a single deployment unit (all based
    on the SCA, or Service Component Architecture, standard). This is the
    component that all the Oracle Fusion Applications are leveraging, as well
    as AIA – the Oracle Application Integration Architecture. Oracle ESB
    seamlessly evolves into the Mediator in the 11gR1 release.
    The Oracle Service Bus provides standalone service bus capabilities,
    enabling separation of concerns between application developers and target
    systems or services. The main users of the Oracle Service Bus are
    integration developers and operations personnel. Their mission is to shield
    application developers from changes in the endpoint services or systems
    and to prevent those systems from being overloaded with requests from
    upstream applications. In the 10g and 11g releases, the Oracle Service Bus
    will also be augmented with key features from the current Oracle ESB,
    such as domain-value-map, cross-references, JCA adapters and a
    JDeveloper-based design-time. The Oracle Service Bus is based on
    Aqualogic Service Bus, with the incorporation of some of the advanced
    features from the Oracle SOA platform.

  • Exploring the transaction boundaries between ESB and BPEl

    Hi
    I was working on how to explore the transaction boundaries between the ESB and BPEL.
    How to work on these I have some confusions over in this.
    Please help me.
    Cheers.

    Jan,
    Are you sure about this ?
    http://www.oracle.com/technology/products/integration/esb/files/esb-transactions-errorhandling.pdf
    I'm not a die-hard at the transaction-mechanisme so some wild guessings.
    If i look at this document, i can define on every routing rule the sync/async processing.
    If i select on both db-adapter-routings the sync-option, and i make sure both dbadapter-connections make use of the xA properties in the datasource-properties, shouldn't this help him on his way?
    I haven't tested it, so im curious what it would do, or do i miss something?

  • BLOB and CLOB data in BI Publisher

    Hello,
    I have an XML file with blob and clob data in it. I am using BI desktop publisher to load the xml file and create the rtf template. I am getting the following error:
    ConfFile: C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\config\xdoconfig.xml
    Font Dir: C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\fonts
    Run XDO Start
    Template: C:\work\employee.rtf
    RTFProcessor setLocale: en-us
    FOProcessor setData: C:\work\employee.xml
    FOProcessor setLocale: en-us
    Do i need to install anything or am i missing any configuration to read the blob and clob? Please advise
    thanks

    Check this out, hopefully it'll help you
    http://oraclebizint.wordpress.com/2007/11/12/oracle-bi-ee-101332-working-with-clob-fields/
    Fiston

  • How to copy a table with LONG and CLOB datatype over a dblink?

    Hi All,
    I need to copy a table from an external database into a local one. Note that this table has both LONG and CLOB datatypes included.
    I have taken 2 approaches to do this:
    1. Use the CREATE TABLE AS....
    SQL> create table XXXX_TEST as select * from XXXX_INDV_DOCS@ext_db;
    create table XXXX_TEST as select * from XXXX_INDV_DOCS@ext_db
    ERROR at line 1:
    ORA-00997: illegal use of LONG datatype
    2. After reading some threads I tried to use the COPY command:
    SQL> COPY FROM xxxx/pass@ext_db TO xxxx/pass@target_db REPLACE XXXX_INDV_DOCS USING SELECT * FROM XXXX_INDV_DOCS;
    Array fetch/bind size is 15. (arraysize is 15)
    Will commit when done. (copycommit is 0)
    Maximum long size is 80. (long is 80)
    CPY-0012: Datatype cannot be copied
    If my understanding is correct the 1st statement fails because there is a LONG datatype in XXXX_INDV_DOCS table and 2nd one fails because there is a CLOB datatype.
    Is there a way to copy the entire table (all columns including both LONG and CLOB) over a dblink?
    Would greatelly appriciate any workaround or ideas!
    Regards,
    Pawel.

    Hi Nicolas,
    There is a reason I am not using export/import:
    - I would like to have a one-script solution for this problem (meaning execute one script on one machine)
    - I am not able to make an SSH connection from the target DB to the local one (although the otherway it works fine) which means I cannot copy the dump file from target server to local one.
    - with export/import I need to have an SSH connection on the target DB in order to issue the exp command...
    Therefore, I am looking for a solution (or a workaround) which will work over a DBLINK.
    Regards,
    Pawel.

  • Does anyone know how to connect an older 20" cinema display with the (ADC) adapter end and connect it to a MacBook Pro 17" 2008 model (DVI) ?????

    Does anyone know how to connect an older 20" cinema display with the (ADC) adapter end and connect it to a MacBook Pro 17" 2008 model (DVI) ?????

    I believe you naeed the Apple ADC to DVI adapter.

  • J2SE adapter engine and SSL testing

    Hi there,
    We are currently doing a B2B scenario whereby SAP XI sends a message to the J2SE adapter engine in the DMZ and then that sends the message via HTTPS / SSL to the receiving service....
    In order to test that the HTTPS / certificate etc worked I wrote a small Java application and dialled out of the network. I inserted the DER file into my CACERTS file on my local machine using the keytool as a "trusted certificate". The Java application worked 100% and did the SSL handshake fine and POSTED the data fine as well......
    Now I am no expert in the J2SE adapter engine but decided to try testing the same SSL connection using the J2SE adapter engine from my LOCAL machine with me dialled out onto the Internet.
    I logged into the J2SE adapter engine and imported the same DER file into the engine  (actually inserted into the "truststore.jks" file). I them went into the "Test Environment" of the J2SE adapter and have been trying to test.....
    I have a few questions:
    1. Do I have to use a P12 or PFX file for this sort of communication? Reason I ask is that with the Java application all I needed was the DER file?
    2. In the full blown scenario do I have to have SSL configured between XI and the J2SE adapter engine as well? Or can that stay as HTTP?
    My basic config for the test is roughly:
    WS.targetURL=https://someserver:4433/soap/someInbox
    WS.SOAPAction=CustomSoapAction
    SSLauthentication=true
    Do I really need the following two?
    SSLcertificate=somecert.p12
    SSLcertificatePassword=somepassword
    From my logic all I should need if the DER file loaded into the J2SE adapter which I have done......
    Has anyone done successfull SSL / HTTPS testing from the J2SE adapter engine using the "Test Environment"?
    Any advise would be greatly appreciated
    Kind regards
    Lynton

    Hi
    Not a answer to your question but why use the J2SE adapter engine in the DMZ and why not the J2EE Decentral Adapter Engine?
    Regards
    Bhavesh

  • Best practice for version control B2B, ESB and BPEL

    Hello,
    we are setting up a new system using B2B, ESB and BPEL. The development team is more experienced working with PL/SQL, Oracle Workflow and we are worried that Jdeveloper generates changes to the source files during development and that we might have problems with the version control.
    Is there any best practice for setting up version control for these systems? Do we need to take anything in particular into consideration when setting up the projects?
    We are using Serena Dimensions 9.1 for version control with the add-on in Jdeveloper.
    Thanks in advance!

    I believe JDeveloper has a plugin for Dimensions.
    I havent used it but to get it, go to tools (It may be help I don't have JDeveloper on this machine to confirm) check for updates.
    If you select the thrid party check box - next, you will see an entry for dimentions.
    Configure the connection and develop as you would any other project.
    cheers
    James

  • What is ESB and OSB? why OSB when ESB avail? when to use which of these?

    Hi,
    What is ESB and OSB? why OSB when ESB avail? when to use which of these? Which is recommendabale?

    ESB (Enterprise Serice Bus) is backbone of SOA. OSB (Oracle Service Bus) is an ESB product. Before the acquisition of BEA, Oracle was using OESB (Oracle Enterprise Service Bus) as a service bus but after that Oracle renamed ALSB (Aqualogic Service Bus) to OSB. Below SOD should help you out in understanding -
    http://www.oracle.com/technology/products/integration/service-bus/docs/Oracle-Service-Bus-SOD.pdf
    Regards,
    Anuj

  • Set a variable in Adapter Module and read it during message mapping

    Hi guys,
    is there any way, how I could set some variable and store its value during the adapter module processing and read back this value in message mapping and use it? Without using a database or files.. I mean, some j2ee storage or something like that..
    Thanks for your help,
    Olian

    Hi guys,
    thanks for your answers..  just a clarification, what the problem is.
    I need to validate a message in the adapter module, if it's digital signature is valid. If it is, I need to send back to the sender a return code (message) OK, otherwise ERROR. I can't modify the message (or dynamic configuration) as I'm using a WSS in the sender channel. The system doesn't allow me to change anything in the message, so I can't find out in the mapping what the validation result was. I then tried to do the validation directly in the message mapping, but I have some issues there with libraries or what, because the validation code, which works in the adapter module, doesn't work in the mapping java class. So my final thought was maybe I could validate the message in the adapter module and pass the result to the message mapping and then create an appropriate return message (in the mapping). However, I see no way of passing a value there. I'm stuck and have no Idea how to resolve the problem. Any hints guys?
    Thanks a lot for your help!
    Olian

Maybe you are looking for