Problem publishing using pub-sub adapter

Hi,
I want to see events from my EPN in the Visualizer. For that I created an adapter that connects to a channel in side the EPN. It is a httppub adapter.
When I am trying to start it for publishing from the visualizer I get in the Eclipse (I run the CEP from the Eclipse):
<18:20:23 IST 08/12/2011> <Error> <EventInspector> <BEA-2060506> <Stage adapter cannot be configured for event tracing because it is not an event source. The stage must implement StreamSource or EventSource to be an event source.>
Isn't the adapter "automatically" publish the event? Do I need to create a bean for that?
Below the adapter config and my EPN file:
Adapter config:
<?xml version="1.0" encoding="UTF-8"?>
<wlevs:config xmlns:wlevs="http://www.bea.com/ns/wlevs/config/application">
<http-pub-sub-adapter>
<name>adapter</name>
<server-context-path>/pubsub</server-context-path>
<channel>/InputChannel</channel>
<user>wlevs</user>
<password>welcome1</password>
</http-pub-sub-adapter>
</wlevs:config>
EPN file:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:osgi="http://www.springframework.org/schema/osgi"
xmlns:wlevs="http://www.bea.com/ns/wlevs/spring"
xmlns:jdbc="http://www.oracle.com/ns/ocep/jdbc"
xmlns:spatial="http://www.oracle.com/ns/ocep/spatial"
xmlns:ha="http://www.oracle.com/ns/cep/config/cluster"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd
http://www.bea.com/ns/wlevs/spring
http://www.bea.com/ns/wlevs/spring/spring-wlevs-v11_1_1_3.xsd
http://www.oracle.com/ns/ocep/jdbc
http://www.oracle.com/ns/ocep/jdbc/ocep-jdbc.xsd
http://www.oracle.com/ns/ocep/spatial
http://www.oracle.com/ns/ocep/spatial/ocep-spatial.xsd">
     <wlevs:event-type-repository>
          <wlevs:event-type type-name="StringEvent">
               <wlevs:class>com.oracle.cep.training.events.StringEvent</wlevs:class>
          </wlevs:event-type>
     </wlevs:event-type-repository>
     <!-- HA EPN -->
     <wlevs:adapter id="JMSInboundEventsAdapter" provider="jms-inbound">
          <wlevs:listener ref="HaInputAdapter"/>
          <wlevs:instance-property name="converterBean" ref="CSVInboundMessageConverter"/>
          <!-- <wlevs:listener ref="EventListenerCSV2" /> -->
     </wlevs:adapter>
     <bean id="CSVInboundMessageConverter" class="com.oracle.cep.training.converter.CSVInboundMessageConverter"> </bean>
     <!-- <bean id="EventListenerCSV2" class="com.oracle.cep.training.listeners.EventListenerCSV" /> -->
     <wlevs:adapter id="HaInputAdapter" provider="ha-inbound" >
          <!-- <wlevs:instance-property name="eventType" value="StringEvent"/> -->
          <wlevs:instance-property name="keyProperties" value="messageText"/>
          <wlevs:instance-property name="timeProperty" value="arrivalTime"/>
     </wlevs:adapter>
     <wlevs:channel id="InputChannel" event-type="StringEvent">
          <wlevs:listener ref="Processor" />
          <wlevs:listener ref="adapter" />
          <wlevs:source ref="HaInputAdapter" />
          <wlevs:application-timestamped>
               <wlevs:expression>arrivalTime</wlevs:expression>
          </wlevs:application-timestamped>          
     </wlevs:channel>
     <wlevs:processor id="Processor">
          <wlevs:listener ref="OutputChannel" />
     </wlevs:processor>
     <wlevs:channel id="OutputChannel" event-type="StringEvent">
          <wlevs:listener ref="CSVBean" />
          <wlevs:listener ref="HaCorrelatingAdapter" />
     </wlevs:channel>
     <wlevs:adapter id="HaCorrelatingAdapter" provider="ha-correlating" >
          <wlevs:instance-property name="correlatedSource" ref="clusterCorrelatingOutstream"/>
          <wlevs:listener ref="JMSOutboundAdapter"/>
          <wlevs:instance-property name="failOverDelay" value="2000"/>
          <wlevs:listener ref="CSVBean" />
     </wlevs:adapter>
     <bean id="CSVBean" class="com.oracle.cep.training.listeners.EventListenerCSV">
     </bean>
     <bean id="CSVOutboundJmsMessageConverter" class="com.oracle.cep.training.converter.CSVOutboundJmsMessageConverter">
     </bean>
     <wlevs:adapter id="JMSOutboundAdapter" provider="jms-outbound">
          <wlevs:instance-property name="converterBean" ref="CSVOutboundJmsMessageConverter"/>
     </wlevs:adapter>
     <wlevs:adapter id="JMSInboundEventsAdapter2" provider="jms-inbound">
          <wlevs:instance-property name="converterBean" ref="CSVInboundMessageConverter"/>
     </wlevs:adapter>
     <wlevs:channel id="clusterCorrelatingOutstream" event-type="StringEvent" advertise="true">
          <wlevs:source ref="JMSInboundEventsAdapter2"/>
     </wlevs:channel>
     <wlevs:adapter id="adapter" provider="httppub" />
</beans>

Sorry maybe I should have gave detailed information:
On the visualizer I opened the EPN->right click on the http pub adapter->open panel-> trace event->put the channel name->start->get a message "you are about to start event tracing"->pressOK
nothing happens the status stays OFF.
In the Eclipse (I run the server from the Eclipse) I get:
<20:44:33 IST 08/12/2011> <Error> <EventInspector> <BEA-2060506> <Stage adapter cannot be configured for event tracing because it is not an event source. The stage must implement StreamSource or EventSource to be an event source.>
When going to view strean the channel is not there.
Am I doing something wrong?

Similar Messages

  • Problem in implementing Pub/Sub using Oracle AQ

    Hi,
    I am using 10.1.2.0.0 Process Manager
    I have created a publishing service which publishes a PAYLOAD as well as two header fields (Header holds the name of TARGET_SYSTEM and SOURCE_SYSTEM). In the receipients list I specified two names i.e. Bob and Jon with a comma seperator.
    I published a message to a queue and now I can see data in the queue table.
    Then I created two subscribing services (one for Bob and another for Jon).Here I specified the Consumer name as Jon in one service and Bob in another.
    When I deploy the subscription services and run them, it is not subscribing to the queue.
    Is there any additional step I need to perform in order to create the Consumer/ Subscriber?
    Regards,
    Vikas

    Hi,
    This is vikas again.
    Does some one know where to find out the document that can explain Using Oracle AQ in BPEL and steps to create rule based Consumer?
    Thanks & Regards,
    Vikas

  • Need to use JMS in Web service for PUB/SUB pattern

    Hi All,
    I have JMS configured in my Web logic server 10.3.4.
    I have stand alone program for JMS in PUB/SUB pattern.
    I have Web service application with Apache CXF framework.
    Now, the problem I need to integrate JMS in my web service application for new web service with PUB/SUB pattern.
    Can any one guide me to this.
    I am trying to use @WLJmsTransport annotation provided by Weblogic. Is this approach is correct?
    And It is giving error during deployment that weblogic.jws.WLJmsTransport is not allowed as it is a JAX-WS type web service.
    I think It is creating problem with annotation parameters.
    I am using annotation like @WLJmsTransport(contextPath="transports", serviceUri="JMSTransport", queue="Queue", portName="JMSTransportServicePort")
    and ConnectionFactory with name ConnectionFactory and JNDI jms/ConnectionFactory, Queue with name Queue and JNDI jms/Queue, Topic with name Topic and JNDI jms/Topic.
    Thanks
    Thanks in advance.
    Edited by: HBM on 21 Apr, 2011 1:42 AM

    Use this link.
    http://webloic-wonders.com/weblogic/2011/04/30/jms-based-webservice-on-weblogic-server/
    Thanks.
    Harshal

  • Pub.Sub.Agent problem

    Hi everybody,
    i have an iMac G5 and a Macbook intel 2.5 ghz.
    Sometimes i use the wifi network to send file from a computer to another.
    Now the iMac and the Macbook have the same probem.
    Pub.Sub.Agent use the 70/90 % of cpu.
    I don't understand when it started.
    How can i stop that? If i close mail and safari seem the problem temporary solved, but when i close (forced) the pub.sub.agent in few mintutes it starts again.
    Thank you in advance and sorry for my bad english

    One or more of them is probably broken. Remove them one by one and see if the problem goes away.

  • Problem while using SELECT Operation in DB Adapter

    Hi,
    I am trying to use the DB Adapter with SELECT operation on one of the tables in our database. The query looks some thing like,
    SELECT ORDER_HEADER_ID, SHIPPING_GRP_ID, ATG_SHIPPING_GROUP_ID, SO_HEADER_ID, ORDER_NUMBER, SHIP_ITEM_ID FROM <TABLE_NAME> WHERE (<CNAME> = #orderID)
    I have selected order_header_id as the primary key during the creation of my process. And the rest are selected as part of the query.
    The problem that I having is that I am getting the same data for all the rows, the output is as follows
    <root>
    <XxacOrderStatusDetail>
    <orderHeaderId>265</orderHeaderId>
    <shippingGrpId>262</shippingGrpId>
    <ShippingGroupId>sg832798</ShippingGroupId>
    <soHeaderId>4016992</soHeaderId>
    <orderNumber>82555268</orderNumber>
    <ShipItemId>r421379</ShipItemId>
    </XxacOrderStatusDetail>
    <XxacOrderStatusDetail>
    <orderHeaderId>265</orderHeaderId>
    <shippingGrpId>262</shippingGrpId>
    <ShippingGroupId>sg832798</ShippingGroupId>
    <soHeaderId>4016992</soHeaderId>
    <orderNumber>82555268</orderNumber>
    <ShipItemId>r421379</ShipItemId>
    </XxacOrderStatusDetail>
    <XxacOrderStatusDetail>
    <orderHeaderId>265</orderHeaderId>
    <shippingGrpId>262</shippingGrpId>
    <ShippingGroupId>sg832798</ShippingGroupId>
    <soHeaderId>4016992</soHeaderId>
    <orderNumber>82555268</orderNumber>
    <ShipItemId>r421379</ShipItemId>
    </XxacOrderStatusDetail>
    </root>
    For the output above the "ShipItemId" should return different values but it is returning the same for all the results that are returned. As in the first entry should have r421379 then r421380 and then r421381 for the last one.
    When I try including the "ShipItemId" as a primary key I am able to get the correct value but my process will fault in case if there is a null value for the column.
    I wanted to know if there is a way that I can resolve this problem?
    JDeveloper Version: Build JDEVADF_11.1.1.6.0_GENERIC_111205.1733.6192.1
    SOA Version is also 11.1.1.6.0
    Database Driver(Selected during data source creation on WLS) : Oracle's Driver(Thin XA) for Instance connection
    Can anyone please help me with this?
    Thanks.

    Hi,
    You are in a catch 22 situation, it won't work without a proper primary key defined, and a primary key is not suppose to contain nulls...
    This type of case is one of the reasons I always tend to prefer to have surrogate keys on the database... If you had a surrogate key defined your problem just wouldn't exist.
    Some references bellow...
    http://pic.dhe.ibm.com/infocenter/cbi/v10r1m1/index.jsp?topic=%2Fcom.ibm.swg.ba.cognos.ug_ds.10.1.1.doc%2Fc_surrogatekeys.html
    http://en.wikipedia.org/wiki/Surrogate_key
    Cheers,
    Vlad

  • Using an Ethernet Adapter for Internet with my Emac - getting IP problems

    Hi, I used this Ethernet Adapter just fine with my laptop, and now have everything migrated to an EMac. Using 10.4.11, so everything is the same. But I get strange drops (Gmail even told me I had a 'flaky' internet connection) and have to launch Network and am usually told (under Network Status):
    Ethernet Adapter (enl) has a self-assigned IP address and may not be able to connect to the Internet.
    I can sometimes get it working by hitting the Renew DHCP lease or Configure IPv6 and Apply Now. Sometimes that doesn't work, but if I switch to another User it starts working correctly, and is fine when I return to my preferred user. Sometimes nothing works until I restart. It's frustrating, because it is time consuming to fix and I never know when I am going to be dropped. This never happened with my laptop, so I am pretty sure it's something in my Network pane.
    Thanks, ahead of time, for any suggestions.
    Any suggestions?

    I did reinstall the software, but your question got me to thinking ...
    I had the problem again after I turned off the computer for an hour, to do some RL stuff, and when I turned it on I got the "self-assigned" IP report again. The IP6 was off, so that wasn't the only issue. I did a renew lease thing, which did nothing on my usual User side, but when I switched to the other User it worked again.
    So I'm wondering ... the User side I am mostly using was the one that migrated over from the Laptop. The one that tends to turn it on is the one that had a User installed on it already. Maybe some setting migrated from the Laptop. Perhaps I should try deleting the software, and reintalling it from the CD. It seems to be affecting the IP selection, somehow.
    The other thing is maybe I should just put in a manual setting on the IP, the one the dongle seems to like. I'm wondering if IPs are being reassigned by the router in the main house and that's why mine goes bonkers for no reason. Only thing is ... that never happened when it was just on the laptop.
    Hey, thanks, Kappy, for all your help. I know it's tough when you can't see exactly what I'm talking about.

  • How to Create web service using JMS with PUB/SUB pattern.

    Hi All,
    I need to expose web service using JMS with PUB/SUB pattern.
    if you have any source for this.
    I tried to use @WLJmsTransport annotation but unable to get it done.
    I have configured all JMS server, topic, and connection factory.
    Thanks.

    Hi, I am having web sample web service program which is simple one.
    But I need to Modify this to JMS enable.
    Can any one help me?
    Thanks.

  • Problem in executing SP using reciver JDBC adapter

    Hi all,
    when i am execting a SP using Reciever JDBC adapter i am getting the below error,
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'WD_WRAP_PROCESS_APPMT_REQ_PR' (structure 'STATEMENT'): java.lang.IllegalArgumentException
    i guess this error is because of DATE field that i am using in the SP. can any one give me the solution how to handle DATE field.
    Thank You,
    Madhav

    HI Madhav,
    you check the below weblog for data and time issue with DB.
    http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3417500)ID0760453250DB00677869991075830602End?blog=/pub/wlg/2002
    hope it will use for issue.
    Regards,
    Ramesh

  • Tuxedo calling EJB in pub/sub model

    Hello Everyone,
    I have a tuxedo application which works on pub/sub architecture. I have an eLink
    adapter which publishes the data from the database and an another adapater which
    has subscribed for it. So once this gets the data(tuxedo server-c program) how
    does this call EJB(java)in my WLE Domain 5.1v . does JOLT/JET help in such scenarios?
    Just wondering JOLT enabling of the server (the server which subscribes for the
    data) helps here!
    Please help. It's urgent.
    with regds
    siva

    Hi,
    we have exactly the same problem!! We also use FP14
    Please help!
    Greetings
    Thomas

  • Looking for sample code to create my own pub/sub!

    I am a new bee in JMS. So I would really appreciate if
    some one could give me some hint to start up with my school project. I am looking for a sample Java code that will:
    For the Publisher:
    1. Connect to a broker [create it, if it does not exist]
    2. Create a publisher/destination.
    3. Create a pub-sub queue
    4. Publish a message
    5. Ack or Nak depending on if the subscriber got or did not get the message.
    For the Subscriber:
    1. Connect to a broker [create it, if it does not exist]
    2. Subscribe to the broker
    3. Subscribe to the Queue
    4. Show an received messages on the console.
    Here are the command line params for both the Publisher and subscriber:
    runPub 127.0.0.1:7676 myTestBroker myQueue "this is my message"
    runSub 127.0.0.1:7676 myTestBroker myQueue
    Please tell me if there are similar java code that will do all this and work with ANY JMS compatible client. i.e. I should not have to use the Admin tool of any JMS Server (MQSeries, iPlanet, SonicMQ etc etc). The code should follow the JMS spec and do this programmatically.
    Thank you very very much in advance for doing this great favor.
    With regards,
    Amir.

    Thanks a lot for that hint. I think that's a great tutorial for a beginner. I could compile those sample codes from chapter 4 with out any problem, but could not run it. I also installed j2sdkee1.3.1 and updated my classpath according to the spec. But when I tried to run the "j2ee -verbose" command it was giving me the following error message:
    ERROR: Set J2EE_HOME before running this script.
    Any advise for me that I should follow next. Thanks again.

  • Please advise regarding implementing pub/sub in a BPEL process.

    Hi guys,
    Requirement
    The customer information comes as HTTP/SOAP message and is sent to the BPEL process as input. BPEL uses ESB and database adapters to create the customer in Oracle apps. Now, we need to send the same customer information with the Oracle apps customer number to some other systems. The number of systems is not know at this time, so we need a pub/sub mechanism where we can publish the customer creation event with the required parameters (customer name, number, etc.). Then we just create subscriptions to that event as an when required. This gives us the flexibility to add subscriptions withougt changing the initial BPEL process.
    My questions
    I can think of three ways to do this, please advise.
    1. Use Oracle workflow business events and subscriptions. At the end of the BPEL process, raise the wf event and the subscriptions to that will be processed by workflow engine. My doubt here is that most of the times the subscriptions is another BPEL process, so does it make sense to go from BPEL to WF and then WF to PL/SQL to invoke a new BPEL?
    2. Use Advanced Queues (Oracle AQ). This is similar to using Oracle WF and to me the issues are also the same.
    3. Use routing rules in ESB -- I am not really sure if this can be done to replicate a pub/sub scenario, please advise and elaborate.
    As a summary, we want the ability to have pub/sub within BPEL and/or ESB. Any other suggestions are also welcome.
    Thanks!

    I have the same question , but could not find the releveant post in ESB forum.. is the response posted ? pls post the link to that thread...

  • Cisco call manager pub & sub definitions

    I'm just beginning to learn Cisco VOIP. Can someone explain to me in a simple way what SUB & PUB mean in relation to Cisco Unity & call manager mean, and how it's used in the real world. My supervisor wants me to do a unity & UCM backup, and I'm not really sure what I'm doing
    Thank You very much.

    PUB = Publisher
    SUB = Subscriber.
    In simple terms, think of the Publisher as the manager of the CUCM cluster. Configuration changes are typically done on the Publisher, and it distributes those changes to the Subscribers. Subscribers perform call processing, phone registration, software conference bridge, music on hold, etc., and in some setups the Publisher will as well (depends on size and design, as Jaime mentioned).
    The Pub-Sub relation for Unity is a little different... which one handles voicemail traffic depends completely on how the connectivity with CUCM is configured. In some setups, they will be distributed voicemail traffic evenly, while in other setups the Pub may get all traffic until its ports are full, and then overflow to the Sub as a backup.

  • CUCMv8 install pub sub validation error

    I am doing a fresh install of a CUCM pub sub. The version is 8. Cisco sent a DVD with 8.0.1 version of CUCM installation software. The cisco servers probably had a pre loaded installation software with version 8.0.2. Somehow after I started installing the Pub, it installed the 8.0.2.40000-1 version, totally ignoring the 8.0.1.10000-26 on the DVD. Once I finished with the Pub and started installing the Sub, after the first node access configuration there was an error which said the version on Pub does not match the one on Sub. I guess the DVD erased the partition on the Sub which had the 8.0.2.40000-1 on it and went ahead with installing 8.0.1.10000-26
    How do I rectify this? Should I reinstall the Pub with 8.0.1.10000-26 and follow suit on the Sub? Or should I download 8.0.2.40000-1 from the Cisco support and try installing 8.0.2 on the Sub? My question is since the Sub is a blank server with nothing on it, how would I be able to tftp into it from the Pub's CLI and push the 8.0.2 iso? Cisco does not upload bootable iso files and at the same time does not recommend converting non bootable to bootable files. Hence the solution of downloading non bootable 8.0.2 iso files and converting into a bootable DVD and installing is out of question.
    Cisco rep suggested I install 8.0.3. Can I just download 8.0.3, burn a DVD (he said its bootable file) and pop it into the server and commence installation?
    Thanks, appreciate your help.

    Hi
    Basically the download images from Cisco are not bootable (primarily to make life difficult for engineers, but also to discourage piracy I suspect). This leaves you two main choices:
    1) Yes, you can boot the publisher from 8.0.1 media you have, install 8.0.1, and then continue your subscriber build. If you like you can then download any 8.0(x) image from Cisco and upgrade using the normal documented procedures.
    2) Alternatively, if your sub is running 8.0.1, partway through the install it will say 'do you wish to install a patch as part of this installation'... if you pick yes, you can then point the server at a downloaded version (e.g. the same version as your pub is running) and it will apply that version. You would be using your existing media to boot the server, and then applying the latest downloaded version.
    If you intend to go to 8.0.3 you may just upgrade your pub, and then do step two above on your sub (boot from your media, and then apply an 8.0.3 download). You can apply the downlaoded file from an SFTP server or from a burned DVD.
    Regards
    Aaron
    Please rate helpful posts...

  • A question regarding Synchronous, Pub-Sub non-durable model

              Scenario:
              Non-durable, publish-subscribe, syncronous model.
              Publisher1 and Publisher2 both post messages to a Topic at the same time. How to
              design the non durable Subscribers that would be able to obtain both these messages
              in the same thread?
              e.g. if i in my program I create 2 subscribers, with selectors configured for the
              2 different messages...
              program start
              1. create sub1 using selector1 for topic1
              2. create sub2 using selector2 for topic1
              3. sub1.receive(timeout)
              4. sub2.receive(timeout)
              5. further processing using both the obtained messages
              6. program end.
              In the above case, if messages arrive at the same time in the topic, only sub1 will
              be able to get the message, as sub2 won't be active at that time.
              Is there anyway to acheive this considering Synchronous, Pub-Sub non-durable model
              is to be used?
              Many thanks...
              

              Thanks for the response.
              Is a subscriber active the moment it is created?
              e.g. objSub=tsession.createSubscriber(topic,strMessSelector,true);
              or it is said to be active when we call
              objSub.receive() (in case of synchronous subscriber)
              "Shean-Guang Chang" <[email protected]> wrote:
              >I don't know the details of the design. You can use a single subscriber
              >without a selector and then do two receive to get both message.
              >If you have to use selector so sub1 can only select message from pub1 and
              >sub2 can only select message from pub2 then you need sub3 without a
              >selector and sub3 will do blocking receive first and then once the sub3
              >receives a message you can use sub1 and sub2 to do receiveNoWait.
              >
              >e.g.
              >while (true) {
              > if (sub3.receive() ! = null) { // have message in the topic
              > if (sub1.receiveNoWait() != null) { // got message from pub1
              > do something
              > }
              > if (sub2.receiveNoWait() != null) {// got message from pub2
              > do something
              > }
              > }
              >}
              >
              >"vinay s" <[email protected]> wrote in message
              >news:[email protected]...
              >>
              >> Scenario:
              >> Non-durable, publish-subscribe, syncronous model.
              >> Publisher1 and Publisher2 both post messages to a Topic at the same time.
              >How to
              >> design the non durable Subscribers that would be able to obtain both these
              >messages
              >> in the same thread?
              >> e.g. if i in my program I create 2 subscribers, with selectors configured
              >for the
              >> 2 different messages...
              >>
              >> program start
              >> 1. create sub1 using selector1 for topic1
              >> 2. create sub2 using selector2 for topic1
              >> 3. sub1.receive(timeout)
              >> 4. sub2.receive(timeout)
              >> 5. further processing using both the obtained messages
              >> 6. program end.
              >>
              >> In the above case, if messages arrive at the same time in the topic, only
              >sub1 will
              >> be able to get the message, as sub2 won't be active at that time.
              >>
              >> Is there anyway to acheive this considering Synchronous, Pub-Sub
              >non-durable model
              >> is to be used?
              >>
              >> Many thanks...
              >
              >
              

  • Using a variable in "arrayTerminatedBy" clause while using a file adapter

    Hi All,
    How can read a file of sample shown below using a file adapter.
    ABC|20081010|
    2008|xxxxxxx|
    2007|yyyy|
    2009|zzzzzzz|
    3|20081010|
    first line is the header
    last line is footer
    middle portion is the body
    '3' in the footer is the total no of record count in the body
    I am able to read the header and body.
    The problem i am facing is; when it is reading the footer it is treating the footer as a record in the body and is throwing an error stating - expected the format as "yyyy"
    I have to use "arrayTerminatedBy" to indicate the end of the body. But that terminating field is a varying field. How can i use this variable field in the "arrayTerminatedBy" clause.
    Can any one help in reading this file
    Thanks in advance
    Edited by: user10308218 on 11-Oct-2008 02:23
    Edited by: user10308218 on 11-Oct-2008 02:24

    See if this helps, I haven't tested it but it will give you a hint in how to achieve it. As you can see I use the startsWith command. I'm not sure how to handle your detail as it seems to start with different elements every time.
    cheers
    James
    <?xml version="1.0" encoding="UTF-8" ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
    targetNamespace="http://TargetNamespace.com/Write_File"
    xmlns:tns="http://TargetNamespace.com/Read_File"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified" nxsd:encoding="ASCII" nxsd:stream="chars" nxsd:version="NXSD">
    <xsd:element name="FileRecord">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Header" nxsd:startsWith="ABC|" maxOccurs="1">
    <xsd:complexType>
    <xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
    <xsd:element name="FileDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="&quot;"/>
    <xsd:element name="Record" maxOccurs="unbounded">
    <xsd:complexType>
    <xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
    <xsd:element name="DetailData1" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|" nxsd:quotedBy="&quot;"/>
    <xsd:element name="DetailData2" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="&quot;"/>
    <xsd:element name="Footer" nxsd:startsWith="3|" maxOccurs="unbounded">
    <xsd:complexType>
    <xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
    <xsd:element name="FooterData" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="&quot;"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>

Maybe you are looking for