Serialazation of objects created using jaxb

I am using jaxb to create java classes from a dtd. Problem is that I am not able to serialize these objects. We are using JMS queues and want to compare the cost (performance) of marshal/unmarshal and serialize/deserialize of these objects. Jaxb faq provides a example http://java.sun.com/xml/jaxb/CheckbookBalance.java but it uses marshal and unmarshal methods to do serialization. I have tried changing the classes generated by jaxb to implement serializable but i get runtime "Object couldnot be serialized" exception. Is there any way to make the objects of classes generated by jaxb serializable?
Thanks,
-Rakesh

IMHO these classes are not meant to be serialised, the XML produced is the medium that is tranmitted between programs. The XMLB classes are available at both ends to do the marshalling/unmarshalling.I dissagree, xml is just an interface to the outside world, so to speak. I'm working with a project that uses jini and rmi, I really don't need the extra hasle of writting custom serialization classes.

Similar Messages

  • Clean up of objects created using NewObject()

    Hello
    I've just started playing around with JNI in order to create a Java API layer on top of an existing C++ library. I figured out how to create an instance of a Java class in native code using env->NewObject() method. My question is who takes care of cleaning up this object? Is it my responsibility ?
    jclass cl = env->FindClass("MyJavaClass");
    jmethodID ctorId = env->GetMethodID(cl, "<init>", "()V");
    jobject obj = env->NewObject(cl, ctorId);
    // set member field (int)
    jfieldID fid = env->GetFieldID(cl, "i", "I");
    env->SetIntField(obj, fid, 5);
    // set member field (string)
    fid = env->GetFieldID(cl, "buffer", "Ljava/lang/String;");
    jstring jstr = env->NewStringUTF("hello from cpp");
    env->SetObjectField(obj, fid, jstr);
    // return object back to Java
    return obj;Thanks
    Amit

    See the [JNI Reference|http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/design.html#wp529], section 'Implementing local references'.
    Notes:
    (a) If you are constructing an object to return to the Java code obviously you don't want to free it yourself.
    (b) Anything you construct inside a JNI method apart from the return value and anything reachable from it can be released by the JVM when the JNI method returns.
    (c) You can use DeleteLocalRef() or Push/PopLocalFrame() to manage objects you create yourself if you like, but unless you do large amounts of object creation, or you have callbacks into Java code, it's not really necessary.
    (d) All this also applies to references that you acquire via JNI calls (e.g. jclass references).
    (e) Another thing often overlooked is that the result of GetStringChars() or GetStringUTFChars() also needs to be released, with ReleaseStringChars() or ReleaseStringUTFChars().

  • Can a object created using static keyword be recreated? Singleton Pattern

    Hi All
    To implement a Singleton I can use the following code
    public Singleton {
    private Singleton(){
    private static final s_instance = new Singleton();
    public Singleton getInstance(){
    return s_instance;
    Now if the Class Singleton gets unloaded during a program execution and again get loaded won't s_instance be recreated? If my question is correct this would lead to be leading to a new Singleton class instance with all the original variables.
    Having answered the above question if I lazily initialize my Singleton using the following code won't the above problem still occur.
    public Singleton {
    private Singleton(){}
    private final volatile Singleton s_instance = null;
    public Singleton () {
    if(s_instance != null) {
    synchronized (s_instance) {
    s_instance = new Singleton();
    return s_instance;
    Having answered all the above questions what is the best way to write a Singleton?

    Would the class get unloaded even if the Singleton object has some valid/reachable references pointing to it?
    On a different note, will all the objects/instances of a class get destroyed if the class gets unloaded.That's the other way round, really: instances cannot be garbage-collected as long as they are strongly reachable (at least one reference pointing to them), and classes cannot be unloaded as long as such an instance exists.
    To support tschodt's point, see the JVM specifications: http://java.sun.com/docs/books/jvms/second_edition/html/Concepts.doc.html#32202
    *2.17.8 Unloading of Classes and Interfaces*
    A class or interface may be unloaded if and only if its class loader is unreachable. The bootstrap class loader is always reachable; as a result, system classes may never be unloaded.
    Will the same case (Custom ClassLoader getting unloaded) occur if I write the singleton using the code wherein we lazily initialize the Singleton (and actually create a Singleton instance rather than it being a Class/static variable).You should check the meaning of this vocabulary ("object", "instance", "reference"): http://download.oracle.com/javase/tutorial/java/javaOO/summaryclasses.html
    The difference between the lazy vs eager initializations is the time when an instance is created. Once it is created, it will not be garbage collected as long as it is reachable.
    Now I'm wondering, whether being referenced by a static attribute of a class guarantees being reachabe. I'm afraid not (see the JLS definition of reachable: http://java.sun.com/docs/books/jls/third_edition/html/execution.html#44762). That is, again, unless the class has been loaded by the system class loader.

  • Xmlns not getting created using jaxb

    Hi, I'm a newbie to JAXB. I went through the tutorial for jaxb on jwdsp 1.5 site and generated source files for a given schema using xjc. However, the generated xml does not seem to output xmlns. Not sure how to set this. Here is the related xsd file:
    <?xml version="1.0"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         <xsd:element name="order">
              <xsd:complexType>
                   <xsd:sequence>
                       <xsd:any namespace="urn:abc.com"/>
                   </xsd:sequence>
                   <xsd:attribute name="xmlns" type="xsd:string" use="required" fixed="urn:abc.com"/>
              </xsd:complexType>
         </xsd:element>
    </xsd:schema>Also, I do not know how to set "any". I tried using a DOM element but I get a ClassCastException when trying to cast to JAXBObject. So any pointers in that regard will be greatly appreciated.

    Hi,
    When you use the MD01 the system will look for the planning file entry and for the materials which have planning file entry will only be included in the planning run.
    KIindly maintain the planning file entry in the md21 or mdab. and rerun your md01.
    it is working in md02 or md03 since  you are giving the input as material.
    reg
    dsk

  • No implementation interfaces created using jaxb 2.0 ?

    Hi,
    I've downloaded the jaxb 2.0 RI and am trying to follow the short tutorial at http://java.sun.com/developer/technicalArticles/WebServices/jaxb/index.html.
    On trying to bind the schema via xsj,sh, which also is meant to generate the implementation interfaces (in an impl directory), I see these aren't created - the other classes are generated OK. Where or how should they be created ?
    thanks

    I am on the same boat. Have you found the answer to this?
    Thanks,
    Juan

  • Exporting 3D Objects for use in Photoshop

    As Photoshop CS3 has the ability to handle 3D layers and Illustrator CS3 has the ability the create 3D objects i do not see any reason why there is no possibility in Illustrator to Export the 3D objects that then can be used in Photoshop. It would be a very appreciated feature.
    Andreas

    > I happen to know for sure that the plug-in does create a 3D model...
    How do you know this? While I Don't know for sure that it doesn't I strongly doubt that it would. The object created using the effect is merely a 2D object extruded to add the illusion of depth. A true 3D model contains far more information, such as features on all sides. Since Illustrator is only a 2D drawing program, there's no need for it to support 3D modeling, so no need for the programmers to spend time storing 3D data in the database of object data.
    So, if you "know for sure" that the plug-in created a 3D model, how do you know this? Can you link to some proof?

  • Help: Creating web service proxy using JAXB generated domains

    Hi,
    I'm currently doing some investigation considering the use of web services (BPEL) as a complete application backend.
    The application should contain a pojo facade which communicates with some web service proxies. By making a datacontrol
    of the pojo facade, I'm able to expose methods to the client layer.
    I generated my domain objects by using the JAXB Compilation option in JDeveloper. By using that, a java class can be generated
    based on an XSD. Disadvantage of this use, seems to be the fact that the ObjectFactory class, generated by JAXB, is overwritten
    each time I create java classes from an XSD.
    Q1: Is there a solution to prevent the ObjectFactory class to be overwritten? I also could decide not to use it.
    After the domain objects are created, I want to call the actual webservice and receive the response by using the JAXB marshaller
    and unmarshaller. Problem here is:
    Q2: How do I (manually?) create a proxy which calls the web service, by using the domain objects generated by JAXB?
    Q3: An important requirement is that it needs to be simple to switch from several environments (eg from development to test). How
    can I fulfill this requirement in a nice, solid solution?
    Any tips working with web services as the backend layer are welcome!
    JDeveloper 10.1.3.4
    ADF Faces/JSF
    BPEL
    Thanks,
    Koen Verhulst

    repost.

  • Runtime error 429, activeX component cant create object while using netbet pro on windows 7 & 8.1 HELP!!!

    runtime error 429, activeX component cant create object while using netbet pro
    does anyone know what I could do to fix this problem??? netbet pro was't available for a while then it's back but has yet to run

    What's netbet pro?
    I'd recommend asking questions about third party applications in the vendor's forum, not a Microsoft forum meant for admin scripting.
    EDIT: Ah, some gambling website...
    Don't retire TechNet! -
    (Don't give up yet - 12,950+ strong and growing)

  • Create object name using a String variable

    Hi,
    I�m making a jsp page and I need to add several objects to a vector. The vector's name is arrayGrupo, and the object is Grupo. The problem is that when I create the instance of the object, I cant �give him different names, so the add in the Vector will always be of the same object instance. Is there anyway to create an object name using a variable?
    Something like this:
    <% if (request.getParameter("grupoNome") != null ) {
                                       nomeG=request.getParameter("grupoNome");
                                       descG=request.getParameter("grupoDesc");
                                       int nG=arrayGrupo.getTamanho(); //size of the array
                                       String xpto=String.valueOf(nG);
                                       Grupo "xpto"= new Grupo(); //here is the problem
                                       xpto.setNomeGrupo(nomeG);
                                       xpto.setDescricao(descG);
                                       xpto.setIdgrupo(arrayGrupo.getTamanho()+1);
                                       arrayGrupo.addGrupo(xpto);
    }%>
    Thanks
    Rui Gon�alves

    I want to show a list of objects that are stored in a vector. But I also want to add objects to that vector. If I just want to add one object, I can use this code:
    <% if (request.getParameter("grupoNome") != null ) {
                                       nomeG=request.getParameter("grupoNome");
                                       descG=request.getParameter("grupoDesc");
                                       Grupo newGrupo = new Grupo(nomeG,descG,arrayGrupo.getTamanho()+1);
                                       arrayGrupo.addGrupo(newGrupo);
    %>
    What should I do if I want to add more than one object to the vector?
    I don�t know if I made myself clear but is quite hard to explain my problem.
    Thanks

  • Tool to create Java Object classes using the Database Tables

    Hi,
    Is their any tools or utility available to create the Java Object Classes using the Database Tables as input.
    Lets Say I am having the Employee, Employee_Salary tables in the Database.The utility has to create the Java Object classes with the relation.
    Please Help...
    Thx..

    Hm, for generating regular Java classes I wouldn't know one from memory. But I suggest you start searching in for example the Eclipse marketspace for a third party plugin that can do it. If all fail, you could always use Hibernate Tools from the Jboss Tools Eclipse plugin set to generate Hibernate/JPA entities and then strip the annotations from them to turn them into regular POJO classes.
    How many tables are we talking about anyway? It might be less effort to just create the classes with properties and then use an IDE to generate getters and setters for them.

  • Web Service Object Parameters and JAXB

    Hi All,
    This is my first post here and I'm hoping one of you might have encountered a similar problem before. One of our business partners provided us with a WSDL for their service, with an embedded XML schema. My job in this case is to write a message driven bean (MDB) that will take a message containing XML off of a queue and call this web service. However, their web service requires an object to be passed as input. So, I've used JAXB to generate a set of classes (from the schema I ripped out of their WSDL) that will unmarshal the XML document that comes off the queue. This works fine, however, the resulting object is an inherently different object than the object I need to pass to the web service, that one was created by auto-generating the Java proxy for the web service. Since these two classes come from the same schema definition, they have the same structure and can hold the same data, but they have different implementations. My plan is to write a method to copy the data from one object to another, but this feels redundant. Is there any approach I could use to make these two auto-generated sets of code be more compatible, other than the obvious answer of having written everything by hand? Thanks in advance for any replies.

    Are the XML instances coming from the queue and the request object to the WS defined by the same schema (from the business partner)? If they are different, there's no other option than to do a copy or some sort of XSLT (not that that's any easier though). But if the instances are defined by the same schema, just use some data binding framework that you can use for both reading the XML from the queue and that is incorporated into the WS toolkit you're using.
    For example, Axis2 allows you to use XMLBeans as a the data binding framework. Using the generated classes from Axis2, you can read in the XML instances from the queue and at the same time have the request object for the WS call.

  • Marshalling Java to XML using JAXB

    Hi,
    I have just downloaded the JAXB reference implementation and have been trying out marshalling Java objects to XML.
    I have a very basic question - can I convert the data from my Java classes into XML and simply send it as a String to another object instead of only having to write it out into a File? Ideally, I want to convert Java to XML from my Business Layer and send XML to my Presentation Layer objects. To do this, I need the XML returned to me in the form of a String and not a File. Any tips will be highly appreciated.

    You should be using Object Factory. JAXB provides one ObjectFactory for each schema.
    Create that particular object and after filling values into that object please set it to the Jaxb object where ever it fits.
    Like
    <Message>
    <Type></Type>
    <Name></name>
    <Message>
    If you want to set Name then JAXB will provide you with setter which be used to set or get. Util you are setting an object which is can repeat more that once then you will have to get a list from the JAXB object and add those objects into the list which will automatically add it the main object.

  • How to use JAXB with web services

    Hi All,
    I am new to JAVA WS and read the sun jee tutorial on JAX-WS and SAXB. Now I can create simple JAX-WS passing simple parameters. Now I want to create a service which take java bean as a parameter or returns a java bean (complex type). I think this is where JAXB should come. However I can understand JAXB seperately, but still could not find how JAXB is work together with my web service. Could someone help me or point to a simple tutorial/example on using JAXB with JAX-WS. Or simply a tutorial that use Complex data type in JAX-WS.
    Thanks
    Nalaka
    Edited by: nalakayoyo on Mar 27, 2008 11:39 PM

    Hi,
    When you are using JAX-WS, there is a tool wsimport, with which you are going to generate the artifacts required to implement the web service.
    When you pass the WSDL as a parameter to the wsimport tool, it will be create the required beans also(JAXB Objects).
    So need of any other external implementation of JAXB when you are working with JAXWS
    Thanks,

  • Compare 2 XML Docs using JAXB

    Hello List,
    I use JAXB for parsing and generating XML docs. It works well after some time to learn to use it.
    But now I want compare 2 xml docs.
    I think the equal function is the right way, but I can't find any implementation from this function in the generated classes.
    Do I look right? Is it possible to compare xml docs with JAXB?
    Any other hints.
    regards Dietmar

    Earlier this year, I needed such a tool and finally wrote one after not being able to find one. It was a lot of work. It compared two DOM documents.
    In our case, we were testing a new server implementation to create XML result files from requests from our client. I connected to a new server and an old server and sent the identical input to both. I then validated the two results using DTD's (which is all we had) and then did a brute force comparison of the two Document objects.
    To make things more difficult, there were some known differences. The new version returned a few new tags and attributes in certain cases. I had to avoid using these as a reason to declare a mismatch. Also, there were timestamps and URLs returned in the files I was processing, so I had to ignore these tags as well.
    Another thing to consider is that attributes do not have to be presented in any sequence, so I had to compare in a non-order-specific way. I built two HashMaps, and first looked up each old attribute in the HashMap for new attributes. If I found a match, I removed this attribute from BOTH HashMaps, when I got to the end, anything lef t over in either HashMap was an orphan.
    It was a lot of work, and my solution is probably not usable outside of its environment, and I don't have permission to release the source anyway.
    Dave Patterson

  • Error on clicking "Report Data Source" in library created using power pivot template

    Hi,
    On clicking on "Report Data Source"  in library created using power pivot template i am getting below exception. Can some one help me in understanding the root cause / fix it.
    Error being shown: Microsoft.ReportingServices.SharePoint.SharedService.Client.RecoverableCommunicationException: The content type text/html; charset=utf-8 of the response message does not match the content type of the binding (application/soap+msbin1).
    If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were: '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     <html xmlns="http://www.w3.org/1999/xhtml">  <head>  <title>IIS 8.0 Detailed Error - 500.19 - Internal Server Error</title>  <style type="text/css">  <!--  body{margin:0;font-size:.7em;font-family:Verdana,Arial,Helvetica,sans-serif;}
     code{margin:0;color:#006600;font-size:1.1em;font-weight:bold;}  .config_source code{font-size:.8em;color:#000000;}  pre{margin:0;font-size:1.4em;word-wrap:break-word;}  ul,ol{margin:10px 0 10px 5px;}  ul.first,ol.first{margin-top:5px;}
     fieldset{padding:0 15px 10px 15px;word-break:break-all;}  .summary-container fieldset{padding-bottom:5px;margin-top:4px;}  legend.no-expand-all{padding:2px 15px 4px 10px;margin:0 0 0 -12px;}  legend{color:#333333;;margin:4px 0 8px -12px;_margin-top:0px;
     font-weight:bold;font-size:1em;}  a:link,a:visited{color:#007EFF;font-weight:bold;}  a:hover{text-decoration:none;}  h1{font-size:2.4em;margin:0;color:#FFF;}  h2{font-size:1.7em;margin:0'. ---> System.ServiceModel.ProtocolException:
    The content type text/html; charset=utf-8 of the response message does not match the content type of the binding (application/soap+msbin1). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024
    bytes of the response were: '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  <html xmlns="http://www.w3.org/1999/xhtml">  <head>  <title>IIS
    8.0 Detailed Error - 500.19 - Internal Server Error</title>  <style type="text/css">  <!--  body{margin:0;font-size:.7em;font-family:Verdana,Arial,Helvetica,sans-serif;}  code{margin:0;color:#006600;font-size:1.1em;font-weight:bold;}
     .config_source code{font-size:.8em;color:#000000;}  pre{margin:0;font-size:1.4em;word-wrap:break-word;}  ul,ol{margin:10px 0 10px 5px;}  ul.first,ol.first{margin-top:5px;}  fieldset{padding:0 15px 10px 15px;word-break:break-all;}
     .summary-container fieldset{padding-bottom:5px;margin-top:4px;}  legend.no-expand-all{padding:2px 15px 4px 10px;margin:0 0 0 -12px;}  legend{color:#333333;;margin:4px 0 8px -12px;_margin-top:0px;  font-weight:bold;font-size:1em;}  a:link,a:visited{color:#007EFF;font-weight:bold;}
     a:hover{text-decoration:none;}  h1{font-size:2.4em;margin:0;color:#FFF;}  h2{font-size:1.7em;margin:0'. ---> System.Net.WebException: The remote server returned an error: (500) Internal Server Error.    
     at System.Net.HttpWebRequest.GetResponse()    
     at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)     -
     -- End of inner exception stack trace ---    Server stack trace:     
     at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory`1 factory, WebException responseException, ChannelBinding channelBinding)    
     at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)    
     at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)    
     at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.Request(Message message, TimeSpan timeout)    
     at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)    
     at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)    
     at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)    Exception rethrown
     at [0]:     
     at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)    
     at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)    
     at Microsoft.ReportingServices.ServiceContract.IReportServiceManagement.get_IsWebServiceEnabled()    
     at Microsoft.ReportingServices.SharePoint.SharedService.Client.ReportingWebServiceApplicationProxy.<>c__DisplayClass8`1.<ExecuteOnApplication>b__6(IReportServiceManagement proxy, Int32 dummy)    
     at Microsoft.ReportingServices.SharePoint.SharedService.Client.ReportingWebServiceApplicationProxy.ExecuteOnChannel[T](String siteUrl, String xmlNamespace, Action`2 method, IChannel channel, Int32 maxFaultSize)    
     at Microsoft.ReportingServices.SharePoint.SharedService.Client.ReportingWebServiceApplicationProxy.HandleExecuteOnChannel[T](String siteUrl, String xmlNamespace, Action`2 method, SPServiceLoadBalancerContext loadBalancerContext)     -
     -- End of inner exception stack trace ---    
     at Microsoft.ReportingServices.SharePoint.SharedService.Client.ReportingWebServiceApplicationProxy.HandleExecuteOnChannel[T](String siteUrl, String xmlNamespace, Action`2 method, SPServiceLoadBalancerContext loadBalancerContext)    
     at Microsoft.ReportingServices.SharePoint.SharedService.Client.ReportingWebServiceApplicationProxy.ExecuteOnApplication[T](String operationName, String siteUrl, String xmlNamespace, Action`2 method)    
     at Microsoft.ReportingServices.SharePoint.SharedService.Client.ReportingWebServiceApplicationProxy.Invoke[T](SPServiceContext serviceContext, String operationName, String siteUrl, String xmlNamespace, Guid serviceInstanceId, Action`2 method)    
     at Microsoft.ReportingServices.SharePoint.SharedService.Client.ReportingWebServiceClient.Execute[TResult](String methodName, Func`2 action)    
     at Microsoft.ReportingServices.SharePoint.UI.BaseRSLayoutPage.ValidateReportServerConnection(SrvProxy rsProxy)
    Followed steps from below link :
    http://www.mssqltips.com/sqlservertip/3004/getting-started-with-power-view-reports-with-sharepoint-excel-and-sql-server/
    Thanks,
    Venugopal

    Hi Venugopal,
    Please refer to the blogs below and see if it works for your case:
    http://sharepointerthilosh.blogspot.com/2013/10/sharepoint-2013-reports-unexpected.html
    http://badalratra.wordpress.com/2014/03/13/error-the-content-type-texthtml/
    To create a Power View report, start Power View from a
    data model file in SharePoint Server 2010 or 2013. Models, or connections to models, can be in a SharePoint Server document library or in a
    Power Pivot Gallery, a special purpose SharePoint Server document library that provides rich preview and document management for published Microsoft Excel workbooks that contain data models.
    Please refer to the links below to get report in Power View in SharePoint server:
    http://office.microsoft.com/en-in/excel-help/power-view-in-sharepoint-server-create-save-and-print-reports-HA102834736.aspx
    http://office.microsoft.com/en-in/excel-help/create-a-connection-to-a-data-model-for-power-view-HA102835737.aspx
    Regards,
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected] .
    Rebecca Tu
    TechNet Community Support

Maybe you are looking for