Serialization issue (probably?)

Greetings fellow Java devs.
I am fairly new to the subject of serialization. I am developing production code for a company and I need another pair of eyes to look at what I'm doing and help me figure it out. I have spent days debugging this god forsaken problem and it's just becoming a huge hindrance.
I am trying to manage a LinkedList data structure with methods for "adding (inserting)" "removing" "setting" etc. There are two lists, a "LinkedList<WI_Item> watchList" and "LinkedList<WI_Item> ignoreList" of custom-Objects ("WI_Item" just a DS to hold info needed).
The problem: The "System.outs" in the "remove" and "insert" methods work fine, as expected. The "watchList" and "ignoreList" LinkedLists update as expected. However, it seems that every other time a reference is made to those objects, they have "reset" to what they were when the file was originally read in by the constructor. In other words, the Objects appear to change for a short while, and then they go back to their original state.
What am I doing wrong? Thanks for your help. I haven't got any energy to debug this anymore. :(
    public void removeFromWatch(WI_Item item){
        System.out.println("Old WatchList: " + watchList);
        watchList.remove(item);
        System.out.println("New WatchList: " + watchList);
        setWatchList(watchList);
        System.out.println("Same WatchList: " + watchList);
    public void removeFromIgnore(WI_Item item){
        System.out.println("Old IgnoreList: " + ignoreList);
        ignoreList.remove(item);
        System.out.println("New IgnoreList: " + ignoreList);
        setIgnoreList(ignoreList);
        System.out.println("Same IgnoreList: " + ignoreList);
    public void insertIntoWatch(WI_Item item){
        System.out.println("Old WatchList: " + watchList);
        watchList.add(item);
        System.out.println("New WatchList: " + watchList);
        setWatchList(watchList);
        System.out.println("Same WatchList: " + watchList);
    public void insertIntoIgnore(WI_Item item){
        System.out.println("Old ignoreList: " + ignoreList);
        ignoreList.add(item);
        System.out.println("New ignoreList: " + ignoreList);
        setIgnoreList(ignoreList);
        System.out.println("Same IgnoreList: " + ignoreList);I overrode the toString method for the "WI_Item" object so this displays as if it was printing a LinkedList of Strings (" [Item 1, Item 2, Item 3] ")
And here are the two methods you will notice in that code (setWatchList, setIgnoreList) which handle the writing of the object.
    public void setWatchList(LinkedList<WI_Item> watchList){
        FileOutputStream fos = null;
        ObjectOutputStream watchOOS = null;
        try{
            fos = new FileOutputStream(watchListFile);
            watchOOS = new ObjectOutputStream(fos);
            watchOOS.writeObject(watchList);
            fos.close();
            watchOOS.close();
        } catch(Exception e){
            JOptionPane.showMessageDialog(new JFrame(),
                "Error writing watch list " + e.getMessage(),
                "Error writing watch list " + e.getMessage(),
                JOptionPane.INFORMATION_MESSAGE);
    public void setIgnoreList(LinkedList<WI_Item> ignoreList){
        FileOutputStream fos = null;
        ObjectOutputStream ignoreOOS = null;
        try{
            fos = new FileOutputStream(ignoreListFile);
            ignoreOOS = new ObjectOutputStream(fos);
            ignoreOOS.writeObject(ignoreList);
            fos.close();
            ignoreOOS.close();
        } catch(Exception e){
            JOptionPane.showMessageDialog(new JFrame(),
                "Error writing ignore list " + e.getMessage(),
                "Error writing ignore list " + e.getMessage(),
                JOptionPane.INFORMATION_MESSAGE);
    }The reading of the object (from the file) is done in the constructor, and only there. Whenever I need to "read" the list, I just return the LinkedLists.
    public LinkedList<WI_Item> getIgnoreList(){
        return ignoreList;
    public LinkedList<WI_Item> getWatchList(){
        return watchList;
    }Here is the constructor (which reads in the Objects once and only once):
    LinkedList<WI_Item> watchList;
    LinkedList<WI_Item> ignoreList;
    String watchListPath = "watchlist";
    String ignoreListPath = "ignorelist";
    InputStream ignoreListStream;
    InputStream watchListStream;
    File ignoreListFile;
    File watchListFile;
    URI ignoreListUri;
    URI watchListUri;
    ObjectInputStream ignoreOIS;
    ObjectInputStream watchOIS;
    public WatchIgnoreManager(){
        try{
            ignoreListStream = Main.class.getResourceAsStream(ignoreListPath);
            watchListStream = Main.class.getResourceAsStream(watchListPath);
            ignoreListUri = Main.class.getResource(ignoreListPath).toURI();
            watchListUri = Main.class.getResource(watchListPath).toURI();
            ignoreListFile = new File(ignoreListUri);
            watchListFile = new File(watchListUri);
            ignoreOIS = new ObjectInputStream(ignoreListStream);
            watchOIS = new ObjectInputStream(watchListStream);
            watchList = (LinkedList<WI_Item>)watchOIS.readObject();
            ignoreList = (LinkedList<WI_Item>)ignoreOIS.readObject();
        } catch(Exception e){
            e.printStackTrace();
            JOptionPane.showMessageDialog(new JFrame(),
                "DataWriter Error " + e.getMessage(),
                "DataWriter Error " + e.getMessage(),
                JOptionPane.INFORMATION_MESSAGE);
        } finally {
            try{
                ignoreListStream.close();
                watchListStream.close();
                ignoreOIS.close();
                watchOIS.close();
            } catch(Exception e){
                e.printStackTrace();
...

Here is the full code for this class, if it helps.
package firebirdprogram;
/* imports edited out for space */
public class WatchIgnoreManager {
    LinkedList<WI_Item> watchList;
    LinkedList<WI_Item> ignoreList;
    String watchListPath = "watchlist";
    String ignoreListPath = "ignorelist";
    InputStream ignoreListStream;
    InputStream watchListStream;
    File ignoreListFile;
    File watchListFile;
    URI ignoreListUri;
    URI watchListUri;
    ObjectInputStream ignoreOIS;
    ObjectInputStream watchOIS;
    public WatchIgnoreManager(){
        try{
            ignoreListStream = Main.class.getResourceAsStream(ignoreListPath);
            watchListStream = Main.class.getResourceAsStream(watchListPath);
            ignoreListUri = Main.class.getResource(ignoreListPath).toURI();
            watchListUri = Main.class.getResource(watchListPath).toURI();
            ignoreListFile = new File(ignoreListUri);
            watchListFile = new File(watchListUri);
            ignoreOIS = new ObjectInputStream(ignoreListStream);
            watchOIS = new ObjectInputStream(watchListStream);
            watchList = (LinkedList<WI_Item>)watchOIS.readObject();
            ignoreList = (LinkedList<WI_Item>)ignoreOIS.readObject();
            ignoreOIS.close();
            watchOIS.close();
            ignoreListStream.close();
            watchListStream.close();
        } catch(Exception e){
            e.printStackTrace();
            JOptionPane.showMessageDialog(new JFrame(),
                "DataWriter Error " + e.getMessage(),
                "DataWriter Error " + e.getMessage(),
                JOptionPane.INFORMATION_MESSAGE);
    public void insertIntoWatch(String part_no, String description){
        insertIntoWatch(new WI_Item(part_no, description));
    public void insertIntoIgnore(String part_no, String description){
        insertIntoIgnore(new WI_Item(part_no, description));
    public void insertIntoWatch(WI_Item item){
        System.out.println("Old WatchList: " + watchList);
        watchList.add(item);
        System.out.println("New WatchList: " + watchList);
        setWatchList(watchList);
        System.out.println("Same WatchList: " + watchList);
    public void insertIntoIgnore(WI_Item item){
        System.out.println("Old ignoreList: " + ignoreList);
        ignoreList.add(item);
        System.out.println("New ignoreList: " + ignoreList);
        setIgnoreList(ignoreList);
        System.out.println("Same IgnoreList: " + ignoreList);
    public void removeFromWatch(String part_no){
        WI_Item itemToDelete = null;
        for(WI_Item item : getWatchList()){
            if(item.getPart_no().equals(part_no)){
                itemToDelete = item;
        removeFromWatch(itemToDelete);
    public void removeFromIgnore(String part_no){
        WI_Item itemToDelete = null;
        for(WI_Item item : getIgnoreList()){
            if(item.getPart_no().equals(part_no)){
                itemToDelete = item;
        removeFromIgnore(itemToDelete);
    public void removeFromWatch(WI_Item item){
        System.out.println("Old WatchList: " + getWatchPartNos());
        watchList.remove(item);
        System.out.println("New WatchList: " + getWatchPartNos());
        setWatchList(watchList);
        System.out.println("Same WatchList: " + getWatchPartNos());
    public void removeFromIgnore(WI_Item item){
        System.out.println("Old IgnoreList: " + getIgnorePartNos());
        ignoreList.remove(item);
        System.out.println("New IgnoreList: " + getIgnorePartNos());
        setIgnoreList(ignoreList);
        System.out.println("Same IgnoreList: " + getIgnorePartNos());
    public LinkedList<String> getWatchPartNos(){
        System.out.println("Get Watch Part Nos " + getWatchList());
        LinkedList<String> results = new LinkedList<String>();
        for(WI_Item item : getWatchList()){
            results.add(item.getPart_no());
        return results;
    public LinkedList<String> getIgnorePartNos(){
        System.out.println("Get Ignore Part Nos " + getIgnoreList());
        LinkedList<String> results = new LinkedList<String>();
        for(WI_Item item : getIgnoreList()){
            results.add(item.getPart_no());
        return results;
    public LinkedList<String> getBothPartNos(){
        LinkedList<String> results = new LinkedList<String>();
        for(String s : getWatchPartNos()){
            results.add(s);
        for(String s : getIgnorePartNos()){
            results.add(s);
        System.out.println("Returning " + results);
        return results;
    public LinkedList<WI_Item> getIgnoreList(){
        return ignoreList;
    public LinkedList<WI_Item> getWatchList(){
        return watchList;
    public LinkedList<WI_Item> getBoth(){
        LinkedList<WI_Item> both = new LinkedList<WI_Item>();
        for(WI_Item item : getWatchList()){
            both.add(item);
        for(WI_Item item : getIgnoreList()){
            both.add(item);
        return both;
    public void setWatchList(LinkedList<WI_Item> watchList){
        FileOutputStream fos = null;
        ObjectOutputStream watchOOS = null;
        try{
            fos = new FileOutputStream(watchListFile);
            watchOOS = new ObjectOutputStream(fos);
            watchOOS.writeObject(watchList);
            watchOOS.close();
            fos.close();
        } catch(Exception e){
            JOptionPane.showMessageDialog(new JFrame(),
                "Error writing watch list " + e.getMessage(),
                "Error writing watch list " + e.getMessage(),
                JOptionPane.INFORMATION_MESSAGE);
    public void setIgnoreList(LinkedList<WI_Item> ignoreList){
        FileOutputStream fos = null;
        ObjectOutputStream ignoreOOS = null;
        try{
            fos = new FileOutputStream(ignoreListFile);
            ignoreOOS = new ObjectOutputStream(fos);
            ignoreOOS.writeObject(ignoreList);
            ignoreOOS.close();
            fos.close();
        } catch(Exception e){
            JOptionPane.showMessageDialog(new JFrame(),
                "Error writing ignore list " + e.getMessage(),
                "Error writing ignore list " + e.getMessage(),
                JOptionPane.INFORMATION_MESSAGE);
}

Similar Messages

  • [svn] 1543: Bug: BLZ-152-lcds custom Date serialization issue - need to add java.io. Externalizable as the first type tested in AMF writeObject() functions

    Revision: 1543
    Author: [email protected]
    Date: 2008-05-02 15:32:59 -0700 (Fri, 02 May 2008)
    Log Message:
    Bug: BLZ-152-lcds custom Date serialization issue - need to add java.io.Externalizable as the first type tested in AMF writeObject() functions
    QA: Yes - please check that the fix is working with AMF3 and AMFX and you can turn on/off the fix with the config option.
    Doc: No
    Checkintests: Pass
    Details: The problem in this case was that MyDate.as was serialized to MyDate.java on the server but on the way back, MyDate.java was serialized back to Date.as. As the bug suggests, added an Externalizable check in AMF writeObject functions. However, I didn't do this for AMF0Output as AMF0 does not support Externalizable. To be on the safe side, I also added legacy-externalizable option which is false by default but when it's true, it restores the current behavior.
    Ticket Links:
    http://bugs.adobe.com/jira/browse/BLZ-152
    Modified Paths:
    blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/endpoints/AbstractEndpoint.ja va
    blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/io/SerializationContext.java
    blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/io/amf/Amf3Output.java
    blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/io/amfx/AmfxOutput.java
    blazeds/branches/3.0.x/resources/config/services-config.xml

  • Olympus EM5 - profile issue (probably), raw file example provided

    Olympus EM5 - profile issue (probably)
    raw file in question, posted by somebody in dpreview forum = https://dl.dropbox.com/u/50147350/P8261159.ORF

    As evident from your screenshot, those letters are not blown in raw - there are only a few pixels where one of the channels (blue) is reaching saturation. However, that blue color is very saturated and is mostly falling outside output color space (which is usually sRGB or Adobe RGB) or in other words, your monitor isn't able to display that color
    Conversion from raw color space to output color space is done using profiles and can be colorimetric or perceptual. If conversion is colorimetric, colors outside output color space are simply clamped into the range (for instance RGB  -15, -30, 270 --> 0, 0, 255). If conversion is perceptual, colors that would fall outside color space are compressed into it (for instance it could be  -15, -30, 270 --> 10, 5, 253). In first case, colors inside output color space are 'correct', while those outside are wrong - less saturated and possibly with wrong hue. In the second case, colors outside color space are 'less wrong', but colors inside color space are also 'less correct', but overall result is mostly more pleasing to the eye. This compression is performed differently by each manufacturer.
    Each camera model has own set of profiles. Most simple profile is an 3x3 array named color matrix, used for this color conversion - it is embedded in ACR for all supported cameras and can be also written in raw file. It is colorimetric. Then there is Adobe standard profile for all supported cameras in form of dcp file. It is a combination of matrix and lookup table conversion, which is still close to being colorimetric (however, there are several versions). Other profiles that are emulating camera rendering are perceptual (on some cameras there is also one profile said to be colorimetric, for instance Faithful profile in Canon cameras). Unfortunately, there are no camera profiles for Olympus yet, so colorimetric conversion is the only option (ok, another option is using new version of sRGB profile and its perceptual rendering intent, but it is not possible directly in ACR).
    In this particular case, you can improve the look of those letters by moving saturation slider of blue primary (camera calibration tab) from 0 to about -15, which will modify color matrix used for conversion and desaturate whole blue range. Or do the similar thing with slider in HSL tab
    If PV2010 used, some of blown blue color turns violet. It's also a know issue, actually I also reported it several years ago, and is caused by usage of Photo pro color space as intermediate and some clamping of values in ACR workflow. In this case it may be corrected in calibration tab by moving blue hue slider a bit to left, which will change hues of blue range towards cyan.
    Etc. This area is quite complex, I'm familiar only with a small part of it, which I needed for making camera profiles

  • Pof Serialization issue

    Hi guys,
    I get an "unknown user type issue" for only one class defined in my pof-config-file. The rest are ok which is the part I can't get my head round.
    Log (showing config load)
    Everything seems to load ok. In fact, just to confirm, I messed up some tags in the xml file and I got problems. So it's finding the file ok.
    +010-06-30 11:35:11.965/1.212 Oracle Coherence GE 3.5.3/465 <D5> (thread=Cluster, member=n/a): Member 1 joined Service InvocationService with senior member 1+
    +2010-06-30 11:35:12.007/1.255 Oracle Coherence GE 3.5.3/465 <D5> (thread=Invocation:Management, member=2): Service Management joined the cluster with senior service member 1+
    +2010-06-30 11:35:12.267/1.514 Oracle Coherence GE 3.5.3/465 <Info> (thread=Cluster, member=2): Loading POF configuration from resource "file:/mnt/linux-share/zeus/Zeus-core/config/zeus-pof-config.xml"+
    +2010-06-30 11:35:12.268/1.515 Oracle Coherence GE 3.5.3/465 <Info> (thread=Cluster, member=2): Loading POF configuration from resource "jar:file:/mnt/linux-share/repository/com/tangsol/coherence/3.5.3/coherence-3.5.3.jar!/coherence-pof-config.xml"+
    +2010-06-30 11:35:12.283/1.530 Oracle Coherence GE 3.5.3/465 <D5> (thread=DistributedCache, member=2): Service DistributedCache joined the cluster with senior service member 1+
    +2010-06-30 11:35:12.338/1.585 Oracle Coherence GE 3.5.3/465 <D5> (thread=DistributedCache, member=2): Service DistributedCache: received ServiceConfigSync containing 2040 entries+
    Exception
    Exception in thread "main" java.lang.IllegalArgumentException: unknown user type: org.zeus.query.QueryInvocable
    at com.tangosol.io.pof.ConfigurablePofContext.getUserTypeIdentifier(ConfigurablePofContext.java:400)
    at com.tangosol.io.pof.ConfigurablePofContext.getUserTypeIdentifier(ConfigurablePofContext.java:389)
    at com.tangosol.io.pof.PofBufferWriter.writeObject(PofBufferWriter.java:1432)
    at com.tangosol.io.pof.ConfigurablePofContext.serialize(ConfigurablePofContext.java:338)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.writeObject(Service.CDB:4)
    at com.tangosol.coherence.component.net.Message.writeObject(Message.CDB:1)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.InvocationService$InvocationRequest.write(InvocationService.CDB:3)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketPublisher.packetizeMessage(PacketPublisher.CDB:137)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketPublisher$InQueue.add(PacketPublisher.CDB:8)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.dispatchMessage(Grid.CDB:50)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.post(Grid.CDB:35)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.send(Grid.CDB:1)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.InvocationService.execute(InvocationService.CDB:31)
    at com.tangosol.coherence.component.util.safeService.SafeInvocationService.execute(SafeInvocationService.CDB:1)
    at org.ebtic.bpm.zeus.query.DistributedQueryProcessor.invokeQuery(DistributedQueryProcessor.java:133)
    at org.ebtic.bpm.zeus.query.DistributedQueryProcessor.query(DistributedQueryProcessor.java:95)
    at org.ebtic.bpm.zeus.query.DistributedQueryProcessor.main(DistributedQueryProcessor.java:56)
    My pof-config file looks like this:
    +<!DOCTYPE pof-config SYSTEM "pof-config.dtd">+
    +<pof-config>+
    +<user-type-list>+
    +<include>coherence-pof-config.xml</include>+
    +<user-type>+
    +<type-id>10001</type-id>+
    +<class-name>org.util.ZeusKey</class-name>+
    +</user-type>+
    +<user-type>+
    +<type-id>10002</type-id>+
    +<clas-name>org.query.QueryInvocable</clas-name>+
    +</user-type>+
    +<user-type>+
    +<type-id>10003</type-id>+
    +<class-name>org.sequencegenerator.ZeusSequenceGenerator$State</class-name>+
    +</user-type>+
    +</user-type-list>+
    +<allow-interfaces>true</allow-interfaces>+
    +<allow-subclasses>true</allow-subclasses>+
    +</pof-config>+
    Only the class QueryInvocable is causing a problem. ZeusKey and SequenceGenerator are working perfectly well.
    QueryInvocable looks like the following:
    public class QueryInvocable
    extends AbstractInvocable implements ExternalizableLite,
    PortableObject
    +{+
    private String m_sCacheName;
    private PartitionSet partitionSet;
    public QueryInvocable()
    +{+
    +}+
    public QueryInvocable(String sCacheName, PartitionSet partitions)
    +{+
    m_sCacheName = sCacheName;
    partitionSet = partitions;
    +}+
    +public PartitionSet getPartitionSet(){+
    return partitionSet;
    +}+
    +public String getCacheName(){+
    return m_sCacheName;
    +}+
    +public void setPartitionSet(PartitionSet pSet){+
    this.partitionSet = pSet;
    +}+
    +public void setCacheName(String name){+
    this.m_sCacheName = name;
    +}+
    +/**+
    +* {@inheritDoc}+
    +public void run(){+
    +try{+
    ZeusQueryProcessor client = new ZeusQueryProcessor("Distributed Query Processor", partitionSet);
    client.process();
    +}+
    +catch(Exception e){+
    System.err.println("Exception creating ZeusQueryProcessor.");
    e.printStackTrace();
    +}+
    +}+
    +public void readExternal(PofReader reader) throws IOException{+
    System.out.println("Reading in....");
    m_sCacheName = reader.readString(0);
    partitionSet = (PartitionSet) reader.readObject(1);
    +}+
    +public void writeExternal (PofWriter writer) throws IOException{+
    System.out.println("Writing out....");;
    writer.writeString(0, m_sCacheName);
    writer.writeObject(1, partitionSet);
    +}+
    +public void readExternal(DataInput in) throws IOException{+
    System.out.println("Reading in....");
    m_sCacheName = (String) ExternalizableHelper.readObject(in);
    partitionSet = (PartitionSet) ExternalizableHelper.readObject(in);
    +}+
    +public void writeExternal(DataOutput out) throws IOException{+
    System.out.println("Writing out....");;
    ExternalizableHelper.writeObject(out, m_sCacheName);
    ExternalizableHelper.writeObject(out, partitionSet);
    +}+
    +}+
    Edited by: user11218537 on 30-Jun-2010 00:54

    user11218537 wrote:
    Sorry, this was the result of my not-very-efficient attempt to anonymize my code posting. The package and class names do actually match.
    I may have "by accident" solved the problem but I am not sure since I have to test properly. It appears that if I define the PofSerialization stuff in the pof-context.xml, which is then referenced from my coherence-cache-config.xml, I should not set the tangosol.pof.enabled=true flag.
    I was basically trying to turn of pof so that I could test something else in my code but it appears that just by removing that flag in the cache-server.sh script (which I had added earlier), the problem disappeared and coherence is still using pof.
    What am I missing? Is this behaviour correct?If you remove the tangosol.pof.enabled flag from the Java properties, then POF by default will not be used.
    On the other hand if you still have POF configured for certain services with the <serializer> element referring to a PofContext implementation e.g. ConfigurablePofContext, then those services (and only those services) will use POF.
    Best regards,
    Robert

  • Serialization issue with Java 5 enum

    Hi,
    In one of my DTO class, i have used an enum as an instance variable. But I am getting a serialization error during RMI call.
    Caused by: org.omg.CORBA.MARSHAL: Mismatched serialization UIDs : Source (RepId RMI:com.nokia.oss.interfaces.usermanagement.dtos.UMStatusDTO:1191975053A2D5C1:0000000000000001) = 0000000000000001 whereas Target (RepId RMI:com.nokia.oss.interfaces.usermanagement.dtos.UMStatusDTO:7F5FECD5609C39F7:6318A841C6045391) = 6318A841C6045391  vmcid: IBM  minor code: 8B1  completed: No
         at com.ibm.rmi.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:467)
         at com.ibm.rmi.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:209)
         at com.ibm.rmi.iiop.CDRInputStream.read_value(CDRInputStream.java:1638)
         at com.ibm.rmi.util.ProxyUtil.copyObject(ProxyUtil.java:450)
         at com.ibm.rmi.util.ProxyUtil.invokeWithClassLoaders(ProxyUtil.java:754)
         at com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:1161)
         at $Proxy322.createUserProfiles(Unknown Source)
         at com.nokia.oss.interfaces.usermanagement.ejb.useradministration._UMUserAdministration_Stub.createUserProfiles(Unknown Source)
         at com.nokia.oss.tmf615.uamadapters.connectors.UMAPI$2$1.run(UMAPI.java:187)
         at com.nokia.oss.tmf615.uamadapters.connectors.UMAPI$2$1.run(UMAPI.java:186)
         at java.security.AccessController.doPrivileged(AccessController.java:246)
         at com.nokia.oss.tmf615.uamadapters.connectors.UMAPI$2.run(UMAPI.java:184)
         at com.nokia.oss.tmf615.uamadapters.connectors.UMAPI$2.run(UMAPI.java:182)
         at java.security.AccessController.doPrivileged(AccessController.java:279)
         at javax.security.auth.Subject.doAs(Subject.java:573)
         at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:168)
         at com.nokia.oss.tmf615.uamadapters.connectors.UMAPI.createUserProfiles(UMAPI.java:179)
         at com.nokia.oss.tmf615.uamadapters.operations.impl.UserManagerImpl.createUserProfile(UserManagerImpl.java:148)
         at com.nokia.oss.tmf615.uamadapters.operations.impl.UserManagerImpl.createUser(UserManagerImpl.java:81)
         at com.nokia.oss.tmf615.requesthandler.factory.ManageUAMImpl.createUser(ManageUAMImpl.java:103)
         at com.nokia.oss.tmf615.requesthandler.operations.RequestProcessor.addUserRequest(RequestProcessor.java:342)
         at urn.oasis.names.tc.SPML._2._0.wsdl.SPMLRequestPortTypeImpl.spmlAddRequest(SPMLRequestPortTypeImpl.java:1028)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:618)
         at com.sun.xml.ws.api.server.InstanceResolver$1.invoke(InstanceResolver.java:246)
         at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:146)
         at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:257)
         at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
         at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243)
         at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444)
         at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
         at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
         at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:129)
         at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:160)
         at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:75)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:593)
         at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:533)
         at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3548)
         at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:269)
         at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:818)
         at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478)
         at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:125)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:267)
         at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
         at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
         at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
         at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
         at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
         at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
         at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)
         at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)
         at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)
         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)My environment has WebSphere Application Server 6.1.
    Earlier, I had used serialVersionUID generated by Eclipse, but to debug I changed it to 1L. But still I am facing the same issue. Any help in solving this issue is greatly appreciated.
    Thanks.

    Caused by: org.omg.CORBA.MARSHAL: Mismatched serialization UIDs : Source (RepId RMI:com.nokia.oss.interfaces.usermanagement.dtos.UMStatusDTO:1191975053A2D5C1:0000000000000001) = 0000000000000001 whereas Target (RepId RMI:com.nokia.oss.interfaces.usermanagement.dtos.UMStatusDTO:7F5FECD5609C39F7:6318A841C6045391) = 6318A841C6045391  vmcid: IBM  minor code: 8B1  completed: NoEarlier, I had used serialVersionUID generated by Eclipse, but to debug I changed it to 1L.Why? To debug what? How would that help? This is exactly the problem that the exception message (above) is reporting. Change it back to 6318A841C6045391L.

  • POF Serializer issue

    I have a strange issue using a POF serializer where one of the fields of the class is not populated when the object is retrieved from the cache.
    The class looks like:
    public class RegionSerializer extends AbstractPersistentEntitySerializer<RegionImpl> {
         private static final int REGION_CODE = 11;
         private static final int NAME = 12;
         private static final int ID_REGION = 13;
         private static final int ID_CCY_RPT = 14;
         @Override
         protected RegionImpl createInstance() {
              return new RegionImpl();
         public void serialize(PofWriter out, Object o) throws IOException {
              RegionImpl obj = (RegionImpl) o;
              super.serialize(out, obj);
              out.writeObject(REGION_CODE, obj.getRegionCode());
              out.writeString(NAME, obj.getName());
              out.writeInt(ID_REGION, obj.getIdRegion());
              out.writeObject(ID_CCY_RPT, obj.getIdCcyRpt());
         public Object deserialize(PofReader in) throws IOException {
              RegionImpl obj = (RegionImpl) super.deserialize(in);
              obj.setRegionCode((RegionCode) in.readObject(REGION_CODE));
              obj.setName(in.readString(NAME));
              obj.setIdRegion(in.readInt(ID_REGION));
              obj.setIdCcyRpt((CurrencyCode) in.readObject(ID_CCY_RPT));
              return obj;
    }and the RegionCodeSerializer...
    public class RegionCodeSerializer implements PofSerializer{
         private static final int CODE = 11;
         public void serialize(PofWriter out, Object o) throws IOException {
              RegionCode obj = (RegionCode) o;
              out.writeString(CODE, obj.getCode());
         public Object deserialize(PofReader in) throws IOException {
              RegionCode obj = new RegionCode();
              obj.setCode(in.readString(CODE));
              return obj;
    }the output from the log after inserting and retrieving from the cache is
    06-Oct-2010 10:11:28,277 BST DEBUG refdata.RefDataServiceImpl main - Region count:4
    06-Oct-2010 10:11:28,277 BST INFO  cache.TestCacheStartUp main - REGION FROM DAO: RegionImpl[RegionImpl[objectId=5],regionCode=EMEA,name=LONDON]
    06-Oct-2010 10:11:28,277 BST INFO  cache.TestCacheStartUp main - REGION FROM DAO: RegionImpl[RegionImpl[objectId=6],regionCode=US,name=NEW YORK]
    06-Oct-2010 10:11:28,277 BST INFO  cache.TestCacheStartUp main - REGION FROM DAO: RegionImpl[RegionImpl[objectId=7],regionCode=APAC,name=TOKYO]
    06-Oct-2010 10:11:28,277 BST INFO  cache.TestCacheStartUp main - REGION FROM DAO: RegionImpl[RegionImpl[objectId=8],regionCode=NON_PYRAMID_DESKS,name=NON PYRAMID DESKS]
    06-Oct-2010 10:11:28,293 BST INFO  cache.TestCacheStartUp main - Is Cache empty?: false
    06-Oct-2010 10:11:28,293 BST INFO  cache.TestCacheStartUp main - Cache Size is: 4
    06-Oct-2010 10:11:28,324 BST INFO  cache.TestCacheStartUp main - REGION FROM CACHE: RegionImpl[RegionImpl[objectId=6],regionCode=US,name=<null>]
    06-Oct-2010 10:11:28,324 BST INFO  cache.TestCacheStartUp main - REGION FROM CACHE: RegionImpl[RegionImpl[objectId=7],regionCode=APAC,name=<null>]
    06-Oct-2010 10:11:28,324 BST INFO  cache.TestCacheStartUp main - REGION FROM CACHE: RegionImpl[RegionImpl[objectId=8],regionCode=NON_PYRAMID_DESKS,name=<null>]
    06-Oct-2010 10:11:28,324 BST INFO  cache.TestCacheStartUp main - REGION FROM CACHE: RegionImpl[RegionImpl[objectId=5],regionCode=EMEA,name=<null>]as can be seen from the output the name field is null after retrieving. It seems that the 3 remaining fields after regionCode are being ignored by the deserialize (or serialize method) in the serializer class above but I can't see why? Any ideas?

    Hi,
    You need to call read/writeRemainder() method at the end of serialization/deserialization to properly terminate reading/writing of a user type.
    Thanks,
    Wei

  • Serialization issue for ValueChangeEvent

    Hi,
    We have a bean registered in pageFlowScope. This bean has an instance variable of type ValueChangeEvent.
    At run time, we are seeing the below exception when the scope is seriazed:
    java.io.NotSerializableException: javax.faces.event.PhaseId
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
    at
    oracle.adfinternal.controller.state.SessionBasedScopeMap.writeScopeMap(SessionB
    asedScopeMap.java:122)
    ValueChangeEvent is Serializable. ValueChangeEvent extends FacesEvent which is Serializable.
    From http://myfaces.apache.org/core12/myfaces-api/apidocs/serialized-form.html#javax.faces.event.FacesEvent, FacesEvent has a Serializable Field _phaseId of type PhaseId. However, PhaseId is not Serializable.
    Is this a bug ?

    Hi,
    Thannks for the response.
    The bean implements Serializable. And the issue is caused by having an instance variable of type ValueChangeEvent.
    We are not able to serialize ValueChangeEvent object though it implements Serializable because the super class (FacesEvent) has a Serializable Field of type PhaseId which doesn't implement Serializable.

  • IDOC Serialization issue.

    Hi,
    I tried to do IDOC serialization using this blog
    /people/community.user/blog/2006/11/04/how-to-serialize-idoc-xml-messages-fed-into-xi
    But in this blog its says to create a queue processing rule using WE85 transaction.
    My system is not as WAS 6.40, so when i tried to run WE85 transaction, it says transaction doesn't exist. SAP system is of enterprise version 4.7 (WAS 6.2)  and it doesn't have WE85.
    What is an alternative to this and how to achieve IDOC serialization.
    Thanks,
    Swapna

    Hi,
    http://help.sap.com/saphelp_nw04/helpdata/en/bd/277264c3ddd44ea429af5e7d2c6e69/content.htm
    The link above which has detail help on serialization.hope this helps.Pls check whether this helps.
    Regards,
    Sharath

  • Serialization issue

    I have an ArrayList that gets serialized and written to a file. I can then do the reverse and deserialize within the same program. I hit a scope problem when I ask a seperate java program to do the latter half of the above i.e. access the elements of the ArrayList. This is because the initial serialization involved an inner private static class that is only accessible within its outer class. This private static inner class is causing me grief because it needs to be referenced by other programs in order to access its primitive types. Any ideas on how i may re-engineer things? Below is a snippet.
    public class outerClass {
    // Data Structure to hold user input 
    private static class StringHolder implements Serializable {
          private String str1;
          private String str2;
          private String str3;
          // constructor takes 3 strings
          private StringHolder(String str1, String str2, String str3) {
             this.str1 = str1;
             this.str2 = str2;
             this.str3 = str3;
    }        // end of StringHolder class
    }

    Err, make the inner class public?
    If you have existing serializations that you want to deserialize, you can't. If that makes them worthless, throw them away.

  • POF Serialization Issue (HashMap)

    Hi.
    It looks like the following use, produced EOFException error in java serialization.
    I couldn't find any clear documentation regarding whether readMap (java) should be paired to readDictionary (.net) for pof, but currently by using a type pair of Dictionary<String, Double> in .NET side and HashMap<String, Double> in java we started getting the error below.
    Is it a wrong use? Should Hashtable be used instead? Or some other collection? Please advise.
    Error: An exception occurred while decoding a Message for Service=Proxy:ExtendTcpProxyService:TcpAcceptor received from: TcpConnection(Id={CUT}, Open=true, Member(Id=0, Timestamp=3981-11-15 06:40:05.166, Address=10.111.12.147:0, MachineId=0, Location={CUT}, Role=.NET RTC client), {CUT}): java.io.EOFException
         at com.tangosol.io.nio.ByteBufferReadBuffer$ByteBufferInput.readByte(ByteBufferReadBuffer.java:340)
         at com.tangosol.io.AbstractReadBuffer$AbstractBufferInput.readUnsignedByte(AbstractReadBuffer.java:435)
         at com.tangosol.io.AbstractReadBuffer$AbstractBufferInput.readPackedInt(AbstractReadBuffer.java:560)
         at com.tangosol.io.MultiBufferReadBuffer$MultiBufferInput.readPackedInt(MultiBufferReadBuffer.java:683)
         at com.tangosol.io.pof.PofBufferReader.readAsUniformObject(PofBufferReader.java:3344)
         at com.tangosol.io.pof.PofBufferReader.readMap(PofBufferReader.java:2537)
    Java Pof where it occurs:
    writer.writeMap(40, getMyDict());
    setMyDict((HashMap<String, Double>)reader.readMap(40, new HashMap<String, Double>()));
         public HashMap<String, Double> getMyDict() {
              return myDict;
         public void setMyDict(HashMap<String, Double> MyDict) {
              this.myDict = MyDict;
    .NET Pof:
    writer.WriteDictionary<String, Double>(40, MyDict);
    MyDict = ((Dictionary<String, Double>)reader.ReadDictionary<String, Double>(40, new Dictionary<String, Double>()));
    public Dictionary<String, Double> MyDict
    get { return myDict; }
    set { myDict = value; }
    Notes: If it helps, 40 is the last pof index on that object. The error appears sometime, not constantly based on data.

    AntonZ wrote:
    Hi.
    It looks like the following use, produced EOFException error in java serialization.
    I couldn't find any clear documentation regarding whether readMap (java) should be paired to readDictionary (.net) for pof, but currently by using a type pair of Dictionary<String, Double> in .NET side and HashMap<String, Double> in java we started getting the error below.
    Is it a wrong use? Should Hashtable be used instead? Or some other collection? Please advise.
    Error: An exception occurred while decoding a Message for Service=Proxy:ExtendTcpProxyService:TcpAcceptor received from: TcpConnection(Id={CUT}, Open=true, Member(Id=0, Timestamp=3981-11-15 06:40:05.166, Address=10.111.12.147:0, MachineId=0, Location={CUT}, Role=.NET RTC client), {CUT}): java.io.EOFException
         at com.tangosol.io.nio.ByteBufferReadBuffer$ByteBufferInput.readByte(ByteBufferReadBuffer.java:340)
         at com.tangosol.io.AbstractReadBuffer$AbstractBufferInput.readUnsignedByte(AbstractReadBuffer.java:435)
         at com.tangosol.io.AbstractReadBuffer$AbstractBufferInput.readPackedInt(AbstractReadBuffer.java:560)
         at com.tangosol.io.MultiBufferReadBuffer$MultiBufferInput.readPackedInt(MultiBufferReadBuffer.java:683)
         at com.tangosol.io.pof.PofBufferReader.readAsUniformObject(PofBufferReader.java:3344)
         at com.tangosol.io.pof.PofBufferReader.readMap(PofBufferReader.java:2537)
    Java Pof where it occurs:
    writer.writeMap(40, getMyDict());
    setMyDict((HashMap<String, Double>)reader.readMap(40, new HashMap<String, Double>()));
         public HashMap<String, Double> getMyDict() {
              return myDict;
         public void setMyDict(HashMap<String, Double> MyDict) {
              this.myDict = MyDict;
    .NET Pof:
    writer.WriteDictionary<String, Double>(40, MyDict);
    MyDict = ((Dictionary<String, Double>)reader.ReadDictionary<String, Double>(40, new Dictionary<String, Double>()));
    public Dictionary<String, Double> MyDict
    get { return myDict; }
    set { myDict = value; }
    Notes: If it helps, 40 is the last pof index on that object. The error appears sometime, not constantly based on data.How is the class containing the map serialized? Is it a PortableObject or do you use a PofSerializer for serializing it? If you use a PofSerializer, please verify that you did not forget the writeRemainder / readRemainder calls from the end of the serialize/deserialize methods.
    Best regards,
    Robert

  • Cross product Color Rendering Issue (probably not profiles)

    I can't yet figure this scene out:
    I use a grayscale tif file as a slide/theme background in Apple's Keynote. Since it's grayscale, it prints using only K ink from both Preview and when imported into an InDesign page.
    Since the grayscale serves only as background, completed slides are of course full of color elements on top of the background. Trouble is when I print to my color laser the background area prints in CMYK (and as a further test, when I print to an inkjet the background area prints in RGB or RGBK). This "quatra-toning" massively shifts the variously shaded K background to very blue-ish. (the images is of a piece of slate stone).
    This color shift persists no matter how I can figure to save the slides: using Keynotes export to save slides as jpgs, pngs, or tifs. It also persists when printing from screen captures (which I believe OS X saves as pngs by default). Yet *all* these formats show a nice grayscale slate background onscreen.
    I guess there's some color rendering, or color management, or both issue. I'm no color management maven, but I have used Bridge to set a suite-wide colorspace, and have used Photoshop to change the export files' colorspace as needed.
    What's the fix? TIA. Bart

    Bart,
    Why not try the Color Management forum: http://www.adobeforums.com/cgi-bin/webx?14@@.eea5b31
    Neil

  • Hub and spoke VPN issue - probably simple

    Hello,
    I setup a Hub & Spoke VPN configuration as a temporary solution to get phones working at a client with 5 Sites. 
    Site A: HQ and main PBX System - Cisco ASA 5520
    Sites B-E: Remote Sites with PBX systems with ASA 5505's
    I configured my crypto access-lists to allow all interesting traffic to/from all sites, and it's working for the most part. 
    Refer to this short discussion for further reference
    https://supportforums.cisco.com/message/4162268#4162268
    Recently the customer started saying sometimes the call forwarding between sites isn't working correctly.  Upon further testing, it seems that you have to ping to/from both ends of the Spokes before traffic will start passing through properly.
    E.g.
    Site B wants to talk to Site C
    I need to initiate a ping on Site B to Site C which fails
    Initiate a ping on Site C to Site B and the first packet drops, then the rest go through
    Initiate Ping on Site B to Site C and all works just fine.
    Traffic going to/from Site A to/from any remote site (Sites B-E) works fine 100% of the time.
    This is happening for all remote sites.  When traffic has been initiated on both ends, it works just fine, but after a specific timeout it appears to stop working.
    Probably something simple I'm missing.  Any help is greatly appreciated.
    (Also, kind of silly but I realize that I didn't need same-security-traffic on each spoke, correct?)

    The purpose of doing VPN is that you want 2 or more different networks seamlessly become line 1 common network. Your class B network having 192.168.0.0 and class C networks 192.168.10.0 are in the same network sine both are in the network 192.168.x.x network. Try to consider changing the Class B network into 192.169.0.0 or you can change the Class C network into 192.169.10.0.

  • Type Safe enum with Serializable issue

    The following code is copied from www.javapractices.com
    public final class SimpleSuit {
      public static final SimpleSuit CLUBS = new SimpleSuit ("Clubs");
      public static final SimpleSuit DIAMONDS = new SimpleSuit ("Diamonds");
      public static final SimpleSuit HEARTS = new SimpleSuit ("Hearts");
      public static final SimpleSuit SPADES = new SimpleSuit ("Spades");
      public String toString() {
        return fName;
      private final String fName;
      private SimpleSuit(String aName) {
        fName = aName;
    }It is known to be typesafe and able to perform object equality.
    Eg:
    SimpleSuit s = SimpleSuit.SPADES;
    if (s == SimpleSuit.SPASES)
    ..Thus, it is simple and fast enough by object equality comparison.
    But if I implement SimpleSuit with java.io.Serializable and send it over the network, of course that would become a totally new objects, therefore I can't usr object equality anymore. Any solution to make it work over Serialization?
    Thanks,
    Jax

    A serializable class may provide a 'readResolve' method. This is used to "designate a replacement when an instance of it is read".
    A common approach with enums is to provide a unique identifier (e.g, a string name, or integer id). The enum class can then provide a readResolve method which determines the correct replacement instance based on this id.
    An example of this is also available on the javapractices site you mentioned:
    http://www.javapractices.com/Topic1.cjp

  • What am I doing wrong with this filter (counter/frequency issue), probably another newb question.

    I extracted the part of my VI that applies here.  I have a 6602 DAQ board reading a counter for frequency, using a Cherry Corp proximity sensor.  Getting a lot of noise and errant ridiculously high readings.  Speed of shaft which it's measuring is currently 2400rpm with one pulse per revolution so 40hz. 
    Trying to use the express filter VI to clean up the signal and ignore anything over, say, 45hz and under 35hz.  No matter what setting I choose I continually get the  20020 error, Analysis:  The cut-off frequency, fc, must meet:  0 <= fc <= fs/2.  I know this relates to sample period somehow, but for the life of me I can't understand what I'm doing wrong. 
    I used this VI without filtering on bench tests with a hand-drill and got perfect output every time.  Now it's on the machine and being erratic.  Any help here will ease my stress level significantly, thanks.
    VI attached
    Still confused after 8 years.
    Attachments:
    RPM.vi ‏92 KB

    Hello Ralph,
    I'm not sure about mounting your sensor to your rig, but I can provide a couple ideas about the filtering. Depending on the type of noise, the digital filters on the PCI-6602 could help eliminate the behavior you are seeing. If the noise manifests as a "glitches" or a bouncing signal, you could use another counter with a minimum period to help eliminate the noise. This concept is discussed in greater detail in this KnowledgeBase. I noticed that you are using NI-DAQmx; the practical application of the digital filters on the PCI-6602 in NI-DAQmx is discussed in this KnowledgeBase. A more detailed description of the behavior of these filters is provided in the NI-DAQmx Help (Start>>All Programs>>National Instruments>>NI-DAQ) in the book entitled "Digital Filtering Considerations for TIO-Based Devices".
    I also wanted to comment on your original post and explain why you were receiving error -20020. For convenience, I have copied the text of the error code below.
    Error -20020 occurred at an unidentified location
    Possible reason(s):
    Analysis:  The cut-off frequency, fc, must meet:  0 <= fc <= fs/2.
    I think you may have misunderstood exactly what the Filter express VI does. The Filter express VI takes a series of values in a waveform and performs filtering on those signals. So, it will look at a waveform made up of X and Y values and apply the defined filter to this waveform. Specifically in your application, the cut-off frequency (fc) is the Upper Cut-Off level that you specified in the Filter express VI; any frequency components of the waveform outside of the range you have defined will be filtered. The fs is the sample rate based on the data that you wire to the Signal input of the Filter express VI. In your VI, this data is coming from the DAQ Assistant. So, fs will be the sample rate of the DAQ Assistant and is associated with the rate at which points are acquired. The sample rate does NOT relate to the bandwidth of the signal, except that the Nyquist theorem tells us that the sample rate must be at least twice the signal bandwidth in order to determine periodicity of the signal. So, in this case, the sample rate of the DAQ Assistant would need to be at least double the high cut-off frequency.
    However, you are performing a frequency measurement using a counter. I think this is where the confusion comes in. For the frequency measurement using a counter, the DAQ Assistant returns a decimal value which represents the rate of the pulse train being measured by the counter. It does not return the actual waveform that is being read by the counter. It is this waveform that would be band-pass filtered to eliminate frequency content outside of the filter's bandwidth. Instead of the Filter express VI, I would recommend that you simply discard values that are outside the range you specify. I have modified the code you posted earlier to perform this operation. The image below shows the changes that I made; rather than using the Filter express VI, I simply compare the frequency to the "Low Threshold" and "High Threshold". I use a Case structure to display the value on if it is within the limits. Otherwise, I display a "NaN" value. I have also attached the modified VI to this post.
    Message Edited by Matt A on 09-04-2007 07:58 PM
    Matt Anderson
    Hardware Services Marketing Manager
    National Instruments
    Attachments:
    RPM (Modified).JPG ‏17 KB
    RPM (modified).vi ‏72 KB

  • XML/XSD Issues, probably simple

    I'm trying to use a DOMReader, based much on the one from the one from the tutorial at this site, and am coming up across a SAXParseException talking about "Grammar not found". This has been a particularily frusterating message as no website at least at the top of the search lists refers to the ares of the document in question as "grammar", it seems so strange that SAX does. Anyways, as far as I can tell the program is saying my link to my XSD file is broken, which makes sense because before I implemented the error catcher it was pointing me at an unnamed error on line two, the namespace line. Anyways, I'm sure this is a simple solution but I've been at this for hours, I just can't put my finger on it.
    Here's the lines I think are having the trouble. If I'm wrong about them, sorry.
    The XML file:
    <?xml version="1.0" encoding="UTF-8"?>
    <foo xmlns="http://www.example.org/foo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/foo schemaFile.xsd">
    </foo>And the Schema:
    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/foo" xmlns:foo="http://www.example.org/foo" elementFormDefault="qualified">
    <element name="foo">
    </element>
    </schema>Thanks in advance.

    I got that error also so I added these lines under declaring the DocumentBuilderFactory factory;
    and before starting the builder = factory.newDocumentBuilder();
    factory.setAttribute(JAXP_SCHEMA_LANGUAGE,W3C_XML_SCHEMA);
    factory.setAttribute(JAXP_SCHEMA_SOURCE,[Insert path to schema here]);
    I don't know what your code is but it is worth a try to see if it works.
    On a side note I also had
    factory.setValidating(true);
    factory.setNamespaceAware(true);

Maybe you are looking for

  • Apache 2.4 problem with SSL

    hello, i have updated my configuration to apache 2.4, i replaced my httpd.conf with the pacnew one. I use mod_mpm_prefork.so. i can access regular websites (http) and php is ok. Nevertheless i have an handshake error when i try to access https websit

  • Migration from PPC 10.4.11 to iMac 10.6.2 OS 9 files

    I am about to use migration assistant to move my old PPC files and apps to a new 27" iMac running 10.6.2. I'd like to do everything, files and apps and settings and I plan on using a firewire cable and target mode. The old computer is 10 years old...

  • I tunes wont open keeps closing

    windows says there is a problem with i tunes and it shuts it down. Ive uninstalled and redownloaded but same problem. I need to update my apple tv

  • Missing BIOS updates in Update Retriever

    Hello, When I do a search in Update Retriever 5.00.0010 for   Lenovo M92         2121 / Windows 7 Lenovo M82        2929 / Windows 7 Lenovo M82        2756 / Windows 7 A lot of updates is shown, but no Bios Updates , how come? (I'm almost sure that o

  • Error when trying to use FaceTime on MacBook Pro with OS X Lion

    I have been trying to use Facetime on my MacBook Pro that has OS X Lion, and I keep on getting an error that reads: "The server encountered an error processing registration. Please try again later." Can anyone help me out with the fix to this error?