Exposing Methods of Value Object

I have the need for a value (transfer) object that contains only getters and setters, as well as a full "business object" that has the same getters and setters as well as business logic (like insert()).
I hate the idea of maintaining two separate objects, and making sure that when I add a new attribute to the BO I remember to add it to the VO.
I would love to have the BO hold a private instance of the VO inside it, and automatically "expose" all the VO's methods to the outside world as if they were its own. I could do this with inheritence, but then I have the problem of creating a VO from a BO (lots of error-prone repetitive code).
Any ideas on how I could expose these methods, together with the BO's logic?
Thanks, Gary

If I've understood your question, you may use a Proxy
object to achieve the desired behaviour.
What you'll need to do is create a "super" interface
that contains the methods from your business object
and value object. You will then create a Proxy that
implements the "super" interface. When you invoke a
method on the proxy, the invocation handler will try
to first invoke the method on the business object. If
the business object does not implement the requested
method (i.e. one of the value methods), the handler
tries to invoke the method on the value object member
of the business object.
The only maintainence overhead implied by this
solution is that methods must be added to the "super"
interface to correspond to each method added to the
business or value objects.
Have a look at this example to see what I mean
public class Test {
public static void main(String[] args) {
try {
ProxyHandler d = new ProxyHandler(new
Handler(new BusinessObject());
Object o =
Object o =
Proxy.newProxyInstance(Thread.currentThread().getConte
tClassLoader(),
new Class[]
new Class[] {BusinessValueInterface.class},
class}, d);
BusinessValueInterface bvi =
rface bvi = (BusinessValueInterface)o;
bvi.businessMethod();
System.out.println(bvi.getVal());
catch (Exception ex) {
ex.printStackTrace();
static class ProxyHandler implements
nts InvocationHandler {
BusinessObject b;
public ProxyHandler(BusinessObject bo) {
b = bo;
public Object invoke(Object proxy, Method m,
thod m, Object[] params)
throws Throwable
Class[] paramClasses = null;
if (params != null) {
paramClasses = new
amClasses = new Class[params.length];
for (int x = 0; x < params.length;
params.length; x++)
paramClasses[x] =
paramClasses[x] = params[x].getClass();
Method m1 = null;
try {
m1 =
m1 = b.getClass().getMethod(m.getName(),
getName(), paramClasses);
catch (Exception ex) {
if (m1 != null) {
return m1.invoke(b, params);
else {
Method m2 =
Method m2 =
2 = b.val.getClass().getMethod(m.getName(),
paramClasses);
if (m2 != null) {
return m2.invoke(b.val, params);
else {
return null;
interface BusinessValueInterface {
public String getVal();
public void businessMethod();
static class BusinessObject {
ValueObject val = new ValueObject();
public void businessMethod() {
System.out.println("businessMethod
inessMethod invoked");
static class ValueObject {
public String getVal() {
return "value";
Good luck,
MikeI would definetly like to know more about what performance characteristics is needed in the system before recommending a dynamic proxy. Value objects accessors and mutators tend to be the most called methods in a system, and there is a fairly large overhead for dynamic proxies (about 5*(normal method call) on a windows 2000 box running IBM jre 1.3.1). Dynamix proxies are great and I use them for a lot of things, but NOT for value object setter and getters...
I�d recommend either wrapping the VO in the BO and exposing it as:
MyBO myBo = getBO();
myBo.getValue().setName( ... ); or make the BO stateless and pass the value in the method calls:
myBO.performSomeNiceBusinessLogic( valueObject, someOtherArgument );The latter is probably the way I would go for most cases, but the former has its advantages to.
Br - johan

Similar Messages

  • Generically calling a method on an object

    Hello,
    I am trying to write a small utility method to generically call a method on an object.
    This is what I have.
        public static void doCall(Object o, String methodName, Object ... args){
            Class[] types = new Class[args.length];
            int i = 0;
            for(Object arg : args){
                types[i] = arg.getClass();
            try {
                Method m = o.getClass().getMethod(methodName, types);
                m.invoke(o, args);
            } catch (Exception e) {
                e.printStackTrace();
                throw new RuntimeException("Error dynamically calling method " + methodName + " on " + o.toString());
        }It doesn't work because it can't find the method. If I hard code the parameter types as "new Object[] {Double.TYPE}" it works fine (on methods that take a double).
    So, my question is, how can I generically set up the parameter types based on the types of the arguments?
    Thanks,
    ~Eric

    The problem is not on calling agr.getClass(), your primitive double is already autoboxed to a Double object. It is the doCall(...) method who expects an object, not a primitive. So when giving it a primitive value, java autoboxes it to the corresponding object type.
    This means your attempt will only work if the methods to call do not have any primitives as parameters.
    Test this code:
    public class GenericMethodCaller {
         public static void doCall(Object o, String methodName, Object ... args){
            Class[] types = new Class[args.length];
            int i = 0;
            for(Object arg : args){
                types[i++] = arg.getClass();
            try {
                Method m = o.getClass().getMethod(methodName, types);
                m.invoke(o, args);
            } catch (Exception e) {
                e.printStackTrace();
                throw new RuntimeException("Error dynamically calling method " + methodName + " on " + o.toString());
         public static void main(String[] args) {
              Callable callee = new Callable();
              callee.callabelMethod(10d);          
              GenericMethodCaller.doCall( callee, "callabelMethod", 10d ); // 10d gets autoboxed to a Double object.
    class Callable {
         public void callabelMethod(Double o) {
              System.out.println("callabelMethod(Double o) called");
         public void callabelMethod(double o) {
              System.out.println("callabelMethod(double o) called");
    }The output will be:
    callabelMethod(double o) called
    callabelMethod(Double o) called
    - Roy

  • Run-time error '1004' -- Method 'Container' of object '_Workbook' failed

    Dear All,
    One of our users is getting the following Microsoft Visual Basic error while running the report S_ALR_87013614.
    Run-time error '1004'
    Method 'Container' of object '_Workbook' failed.
    I have searched the forum posts for help. But I only found some details related to Run-time error 1004 related to some excel file security but not related to "Method 'Container' of object '_Workbook' failed".
    Could anyone please tell me how this error can be eliminated for the user?
    Regards,
    Lakshmi.

    Dear Arpan,
    We too observed a few PIDs along with the one that you have mentioned but they make no difference. Some users who has the PID G_RW_DOCUMENT_TYPE set with some value are getting the report.
    Upon further searching we are assuming that it could be an issue with the Microsoft applications or macro settings of the user. But not sure about it.
    Regards,
    Lakshmi Venigala.

  • When a Method Returns an Object, does it return a copy or a pointer?

    When you have a method that returns an Object, is the Object returning a copy of the Object returned inside
    of the Method or is it an Actual pointer to the Object inside of the method's coresponding Object?
    so say you have an object ...
    Class Something {
    JLabel myLabel = new JLable("myLabel");
    public JLabel getLabel() {
    return myLabel;;
    Something something = new Something();
    JLable theLabel = something.getLabel()
    theLable.setString("theLable");
    so when I setString on the Object theLabel , am I going to change the value of myLabel inside of the Object something?

    Yes, it returns a pointer.

  • Mapping Value Objects to Java Classes

    Hi All,
    I have one Java Class:
    public class MyBean {
        private ArrayList numbers;
    I have created one mapping value object for the same in Flex:
    package vo
        import mx.collections.ArrayCollection;
        [RemoteClass(alias="com.tcs.example.MyBean")]
        public class MyBean
            public function MyBean()
            public var numbers:ArrayCollection;
    but when I fetch the object using Remote Object, the returned object has "numbers" as null even though I'm returning from Java a filled ArrayList.
    Does any one know Why is it happening and what should I do for this.
    Thanks in advance

    Do you have getNumbers and setNumbers methods on your java bean?
    Try to activate the logs on blazeDS to see what's going on.

  • Problem in setting vector or string[] as the "value object" in hashmap

    Hey I am new to this forum.
    I am doing a project in which i need to store a array of strings as "value object" for a unique key in hashmap.
    as I populate the hashmap from external file according to key and setting the string[]. The hashmap is taking the value field same for each entry i.e the last field as i keep updating the same variable and then putting it into hashmap.
    Please give solution to my problem???
    if question not clear,please tell me- i will add more information
    Edited by: AnkitNahar on Apr 4, 2009 8:06 AM

    I tried using the method suggested by you...but it is of same case as using the string[].
    I need to loop the statements in which the hashmap is populating so cant change the variable names in the dd.put() statements. When the below code executes it shows the same set of string for both the keys, that was the problem i was facing with string[].
    here is the example with two entries....same thing in looping.
    HashMap<String,Set<String>> dd=new HashMap<String,Set<String>>();
    String word = "Hello";
    Set<String> alternativeWords = new HashSet<String>();
    alternativeWords.add("Hi");
    alternativeWords.add("Yo");
    dd.put(word, alternativeWords);
    alternativeWords.clear();
    alternativeWords.add("hey");
    word="yep";
    dd.put(word,alternativeWords);
    System.out.println(dd.get("Hello").toString());
    System.out.println(dd.get("yep").toString());

  • How to map AM method return values in the bean

    Hello -
    I have this requirement to map AM method return values in the bean as explained below. Please suggest a solution.
    Scenario: I am calling an AM method, which returns a String object on page load.
    AMImpl Method-
    public String getProfileName (){
    return "Profile";
    I wish to catch this retun value in the Bean Variable on page Load. I have created a methodAction biding on page and invokeAction to call this method on Page Load, but I don't know how to catch this value in the bean. Please suggest how to achieve this. Also, I need to achieve this in jsp page. I can't use TaskFlow for this.
    I am using ADF 11g.
    Regards -
    Rohit
    Edited by: Rohit Makkad on Apr 21, 2010 12:23 AM

    Hi, I think there are two ways, from the data control drag n drop the methods return value to the page. This way a binding for that will be created at the page definition eg retVal.
    and in the backing bean you can access it by calling resolveExpression("#{bindings.retVal.inputValue}")
    You can also call your method directly from the backbean
    ((YourAppModuleImpl) getBindings().getDataControl().getApplicationModule()).yourMethod();
    public DCBindingContainer getBindings() {
    return (DCBindingContainer) resolveExpression("#{bindings}");
    I dont know if the second method suits you
    Tilemahos

  • Requirements to put my own value object into the context

    Hello,
    are there any requirements to put my own value object into the context?
    I got following exception
    An error has occurred:
    "Failed to process the request."
    Please contact your system administrator.
    Hide details
    Web Dynpro product information:
    Product: null, Vendor: SAP AG, Version: null, Build ID: 6.3006.00.0000.20040617153350.0000, Build Date: Mon Aug 16 09:18:37 CEST 2004
    Error stacktrace:
    java.lang.ClassCastException
         at com.sap.tc.webdynpro.progmodel.context.Paths.getAttributeInfoFor(Paths.java:186)
         at com.sap.tc.webdynpro.clientimpl.html.uielib.standard.uradapter.DropDownByKeyAdapter.setViewAndNodeElement(DropDownByKeyAdapter.java:230)
         at com.sap.tc.webdynpro.clientimpl.html.uielements.adaptmgr.URAdapterManager.getAdapterFor(URAdapterManager.java:230)
         at com.sap.tc.webdynpro.clientimpl.html.uielements.adaptmgr.URAdapterManager.getAdapterFor(URAdapterManager.java:63)
         at com.sap.tc.webdynpro.clientimpl.html.uielib.standard.uradapter.TableAdapter$ContentCell.getContent(TableAdapter.java:1295)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.SapTableCellRenderer.render(SapTableCellRenderer.java:57)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:268)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:94)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.SapTableRowRenderer.renderSapTableRowFragment(SapTableRowRenderer.java:67)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.SapTableRowRenderer.render(SapTableRowRenderer.java:33)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:268)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:94)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.SapTableDefaultBodyRenderer.renderSapTableDefaultBodyFragment(SapTableDefaultBodyRenderer.java:96)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.SapTableDefaultBodyRenderer.render(SapTableDefaultBodyRenderer.java:29)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:268)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:94)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.SapTableRenderer.renderSapTableFragment(SapTableRenderer.java:394)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.SapTableRenderer.render(SapTableRenderer.java:49)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:268)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:94)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.GridLayoutRenderer.renderGridLayoutCellFragment(GridLayoutRenderer.java:609)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.GridLayoutRenderer.renderGridLayoutRowFragment(GridLayoutRenderer.java:312)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.GridLayoutRenderer.renderGridLayoutFragment(GridLayoutRenderer.java:250)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.GridLayoutRenderer.render(GridLayoutRenderer.java:57)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:268)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:94)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.ScrollContainerRenderer.renderScrollContainerFragment(ScrollContainerRenderer.java:235)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.ScrollContainerRenderer.render(ScrollContainerRenderer.java:41)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:268)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:94)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.ViewContainerRenderer.renderViewContainerFragment(ViewContainerRenderer.java:93)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.ViewContainerRenderer.render(ViewContainerRenderer.java:33)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:268)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:94)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.GridLayoutRenderer.renderGridLayoutCellFragment(GridLayoutRenderer.java:609)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.GridLayoutRenderer.renderGridLayoutRowFragment(GridLayoutRenderer.java:312)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.GridLayoutRenderer.renderGridLayoutFragment(GridLayoutRenderer.java:250)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.GridLayoutRenderer.render(GridLayoutRenderer.java:57)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:268)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:94)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.ScrollContainerRenderer.renderScrollContainerFragment(ScrollContainerRenderer.java:235)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.ScrollContainerRenderer.render(ScrollContainerRenderer.java:41)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:268)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:94)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.ViewContainerRenderer.renderViewContainerFragment(ViewContainerRenderer.java:93)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.ViewContainerRenderer.render(ViewContainerRenderer.java:33)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:268)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:94)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.UiWindowRenderer.render(UiWindowRenderer.java:32)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:268)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:94)
         at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendHtml(HtmlClient.java:454)
         at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendResponse(HtmlClient.java:286)
         at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendResponse(HtmlClient.java:178)
         at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:632)
         at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:57)
         at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:249)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:139)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:101)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:45)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:383)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:333)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:311)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:811)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:235)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
         at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:144)

    Hi Jurgen,
    Can you please explain what you are trying to do in detail. Do you want to create a Node dynamically in the context or, you want to populate a Node in a Context???
    The stack trace, does not reveal what you want to do with the value object!
    Thanks and Regards,
    Vishnu Prasad Hegde

  • Business Objects, Value Objects and more

    Hey,
    I've got a general question about business objects (aka entity objects or data transfer objects). The scenario I am using is not one of my own, but it might be a future one. Thus, I'd really appreciate all feedback.
    Let's say that i've got a desktop application which purpose is to manage personal DVD collections. Shortly explained, what i would do here is to create a class Dvd to represent a physical DVD. Then i would create the classes DvdServices and DvdDao. The DvdServices class is what my application will use to retrive and store Dvd instances, and takes care of all session and transaction handling. The DvdDao class is where all database communication takes place. This class will only be used by the DvdServices class.
    Now, say that i would want to keep things simple and use the same business object both in the front end and the back end (yes, i'm using Hibernate). That is, the Dvd instances returned by the DvdServices class is the ones i also would like to use in my GUI. This is where i start to get a little uncertain about best practice.
    Let us say that i use an instance of a Dvd to present some information about a dvd to the user. However, the user would not only like to see what's already stored about that dvd - but also edit some details related to it (such as the title, description or the like). What i would do here (to support editing), is to modify the Dvd class so that it holds a DvdAttributes object which contains all its editable values like title and description (in other words, the state - except for the id and a timestamp value). Thus, i also modify the DvdServices class and create a method called updateDvd(Dvd dvd, DvdAttributes attributes). The method updateDvd() in the DvdServices class, internally, makes a reference to the existing DvdAttributes, applies the new DvdAttributes to the Dvd instance, and tries to save it. If something goes wrong, transaction is rolled back, and the old DvdAttributes are applied to the Dvd class in order to reflect the state of the Dvd instance.I like to think of the Dvd instance as the business object, and the DvdAttributes instance as a related value object (the terminology is probably all wrong here?).
    My question regarding all this is wether it "adheres" to what one might consider as "best practices" (if something like that exists in relation to this)? Could i do things smarter in this case? Is there something which does not make sense (always good to hear a second opinion!).
    All feedback appreciated!

    sbrattla wrote:
    Hey,
    I've got a general question about business objects (aka entity objects or data transfer objects). The scenario I am using is not one of my own, but it might be a future one. Thus, I'd really appreciate all feedback.
    I don't believe a DTO would ever be considered a business object.
    Let's say that i've got a desktop application which purpose is to manage personal DVD collections. Shortly explained, what i would do here is to create a class Dvd to represent a physical DVD. Then i would create the classes DvdServices and DvdDao. The DvdServices class is what my application will use to retrive and store Dvd instances, and takes care of all session and transaction handling. The DvdDao class is where all database communication takes place. This class will only be used by the DvdServices class.
    Now, say that i would want to keep things simple and use the same business object both in the front end and the back end (yes, i'm using Hibernate). That is, the Dvd instances returned by the DvdServices class is the ones i also would like to use in my GUI. This is where i start to get a little uncertain about best practice.
    It appears that 'Dvd' is in fact a DTO. Probably best to name it as such - DvdDto.
    Let us say that i use an instance of a Dvd to present some information about a dvd to the user. However, the user would not only like to see what's already stored about that dvd - but also edit some details related to it (such as the title, description or the like). What i would do here (to support editing), is to modify the Dvd class so that it holds a DvdAttributes object which contains all its editable values like title and description (in other words, the state - except for the id and a timestamp value). Thus, i also modify the DvdServices class and create a method called updateDvd(Dvd dvd, DvdAttributes attributes). The method updateDvd() in the DvdServices class, internally, makes a reference to the existing DvdAttributes, applies the new DvdAttributes to the Dvd instance, and tries to save it. If something goes wrong, transaction is rolled back, and the old DvdAttributes are applied to the Dvd class in order to reflect the state of the Dvd instance.I like to think of the Dvd instance as the business object, and the DvdAttributes instance as a related value object (the terminology is probably all wrong here?).
    As stated no.
    Process flow would normally be like this.
    Happy path (it worked)
    1. Query - returns DvdDto
    2. GUI - display DvdDto
    3. Modify DvdDto
    4. Update (send to server/backend) DvdDto
    5. (Return - It worked.)
    Sad path (it failed)
    1. Query - returns DvdDto
    2. GUI - display DvdDto
    3. Modify DvdDto
    4. Update (send to server/backend) DvdDto
    5. Exception is thrown
    6. (Return - It failed)
    Step 6 is a bit ambigous because it depends on the user and the actual client/server relationship. It could be an exception, a message or just true/false (false is failed.)
    In the above there is no step that corrects or alters the DvdDto instance that was thrown. One reason for this is that it might be a minot mistake on the users part and if you destroy everything they alread typed in they are not going to be happy.

  • Value Objects still  relevant in EJB 2.0?

    I came across the concept of using Value Objects to get better performance from EJBs as they reduce the number of remote calls to invoke to retrieve object property values.
    However, with the introduction of LocalHome and Local interfaces for EJB 2.0, is it still useful to have value objects to pass data around, typically between EJBs and the Controller (typically servlets/JSPs or session beans that implement business logic)?

    Not so fast.
    I wouldn't be so quick to get rid of VOs simply because local interfaces exist now. Keep in mind that using local interfaces is not always the right answer to your problem (since there are still situations where the client and server are not co-located within a given VM).
    Also, there are times when the brittleness of your API should be considered. If a method takes many parameters, it is often benificial to pass a single VO as a paramater rather than multiple individual parameters. This really comes into play when methods are modified to take different arguments (e.g. adding a new argument).
    Consider a method on a bean used to update a student's records for example.public StudentVO update(String firstName, String middleInitial, String lastName, int age, String ssn, String status) throws UpdateException; is much more brittle than public StudentVO update(StudentVO student) throws UpdateException;Consider what would happen if a design change makes GPA and gradeLevel part of a student's profile.
    The second method's signature would remain the same. The signature of the first method however would now read public StudentVO update(String firstName, String middleInitial, String lastName, int age, String ssn, String status, float gpa, int gradeLevel) throws UpdateException; This change would "break" the calls made by any callers of this method. While there are pros and cons to this (as well as other ways to solve this issue, such as method overloading, etc.), it is something to consider when deciding whether a value object should be used in certain situations.
    Hope this adds another point of view to the discussion.
    Note: I'm using Value Object (VO), Data Transfer Object (DTO) and Transfer Object (TO) to me the same thing here.

  • Read records from VALUES OBJECT using the INTERATOR

    Hi
    I'm trying to read records from my value object with interator these way:
    ValidaUsu usuVO = new ValidaUsu();
    for (Iterator it = usuVO it.hasNext(); ) {
    System.out.println(" User from VO: " + usuVO.getUsuario());
    But i don't know what i`m doing wrong ?
    Could help me?
    Thanks

    Hi Gajendra,
    You can mainly read records from MDM (in a DDIC structure) using ABAP API's using the following function modules/methods:
    1. RETRIEVE: This is used to generically retrieve records from tables. Attributes and Values can also be retrieved.
    2. RETRIEVE SIMPLE: Retrieve records from MDM in a simple way.( simple data types).
    3. RETRIEVE CHECKOUT: Retrieves all checked out ID's.
    4. RETRIEVE ATTRIBUTES: Retrieves attribute(s) from a Taxanomy table.
    You will find all these methods in the following interface
    Interface : IF_MDM_CORE_SERVICES
    Hope it helps.
    *Please reward points if found useful.
    Thanks and Regards
    Nitin Jain

  • Should Value Objects Extend SkinnableComponent?

    If you have a value object called Product.as, received from a server lets say via AMFPHP should this VO extend SkinnableComponent so you display it directly? What are the advantages and disadvantages?
    Here is a very simple example of Product.as Class:
    public class Product
            public var id:Number;
            public var name:String;
            public var brand:String;
            public var price:Number;
            public var description:String;
            public var inStock:Boolean;
            public var imageURL:String;
            public function Product()
    Now It would be useful if this VO extended SkinnableComponent you could create a skins to show the product information in different ways e.g. just a price tag (showing price), a product thumbnail (showing image, name, brand) or show all the products details. 
    So you would end up with ProductPriceTagSkin.mxml, ProductThumbnailSkin.mxml, ProductDetailsSkin.mxml + the Product.as - this is all well and good, isn't it? 
    Well what happens if you want to use the price tag on its own, without the Product class? Ah problem - because its just a skin its tied to the HostComponent Product class. 
    OK so lets take another route, the Product class does not inherit from SkinnableComponent instead lets say it inherits from EventDispatcher. 
    So now we have to create separate components/classes for each "view" and a skin for each of these. e.g. What was the ProductThumbnailSkin.mxml now becomes ProductThumbnailSkin.mxml but this has a HostComponent of ProductThumbnail.as which has the properties of; imageURL, name, brand and extends SkinnableComponent. 
    OK so we can now pass the properties from the Product.as to the ProductThumbnail.as which has a skin of ProductThumbnailSkin.mxml. As the ProductThumbnail.as is not tied to Product.as you can use it in other projects or on its own without a Product. 
    Now this all seems great but you have to create extra files bit annoying but you gain flexibility for your pains. Now the above example, I think seems fairly doable but what happens when we come to do the ProductDetail.as and ProductDetailsSkin.mxml. ProductDetails.as is going to have the exact same properties as Product.as so now we have come full circle why not just make Product.as extend SkinnableComponent and have 3 skins ProductPriceTagSkin.mxml, ProductThumbnailSkin.mxml, ProductDetailsSkin.mxml? But now we are back at the catch of loosing flexibility and re-use. 
    I keep flitting back and forth between which method would be the best set-up to allow flexibility and maintainability, what is everybody else's thoughts? Are the different methods? I hope my twittering's make sense? 
    Thanks, 
    James

    Is it better to either initialize a property with a value
    (like spaces for a String, or current date for a Date)
    or to keep the property null until the property is
    initalized by an object calling its mutator method??Either, it depends on your requirements.
    However, typically include a number of states within my Dao. e.g
    abstract public class AbstractValueObjectTemplate {
       private State isNew = new State( true ) ;
       private State isLoaded = new State( false ) ;
       private State isDirty = new State( false ) ;
       private State isDeleted = new State( false );
       /** an Inner Class for holding the Dao's state.  **/
       private class State {
          private boolean state = false;
          public State(boolean state)  {
               this.state = state ; }
          /** set the state to true. */
          public void set()  {
            state = true; }
          /** clear the state, set state to false. */
          public void clear() {
            state = false; }
          /** test the current state to see if it is set to true.
           * @return return true if the state is set.
          public boolean isSet() {
            return state; }
          /** Test the current state to see if it is set to false.*/
          public boolean isClear() {
            return( !state ) ; }
    // ... Dao Body ...

  • Inserting a tree of value objects

    Let's say I have these entities in my database:
    Person
    personId (PK)
    firstName
    lastName
    PhoneNumber
    phoneNumberId (PK)
    number
    description
    personId (FK referencing Person entity)
    I have a PersonValueObject class with the following attributes:
    Integer personId
    String firstName
    String lastName
    Collection phoneNumbers (a collection of PhoneNumberValueObject's - can be populated or set to null, depending on use case)
    I have a PhoneNumberValueObject class with the following attributes:
    Integer phoneNumberId
    String number
    Strong description
    Integer personId
    PersonValueObject person (can be populated or set to null, depending on the use case)
    I have session facade with the following methods
    createPerson(PersonValueObject personVO)
    createPhoneNumber(PhoneNumberValueObject phoneNumberVO)
    My question is, how should I insert a tree containing a Person and his related PhoneNumbers? I see three options:
    1) The session facade's client calls createPerson(), which inserts the personVO and then the session facade traverses the personVO.phoneNumbers collection and calls createPhoneNumber() internally for every element in the collection. This means that the createPerson() method must have extra code to traverse the collection.
    2) The session facade's client calls createPerson(), which inserts the personVO. Next, the session facade's client traverses the personVO.phoneNumbers collection and calls createPhoneNumber() for every element in the collection. This means that the client must have extra code to traverse the collection.
    3) Add a third method called createPersonTree(PersonValueObject personVO), which internally calls createPerson() and then internally calls createPhoneNumber(). In this case, the createPersonTree() method must have the extra code to traverse the collection. The way I see it, the advantage of this approach is that the session facade's client has a choice of calling createPersonTree(), if it needs to insert a whole tree, whereas it can just call createPhoneNumber() directly if it just needs to add a new phone number to an existing person.
    Comments?

    1) Are you using session Bean for inserting the data?
    2) Are you using the Entity Beans, I mean BMP?
    3) Have you looked in the features provided by the
    CMP2.0.Let me explain all the patterns I am using. The client is a regular java class that implements the "business delegate" pattern. The business delegate communicates with a session bean that is implementing the "session facade" pattern. It is this session facade that has those methods I referred to above, namely createPerson(), createPhoneNumber() and potentially createPersonTree(). The session facade communicates with a Person entity bean and a PhoneNumber entity bean, which implement the persistence layer. Both of these entity beans use EJB 2.0 CMR and CMP. The actual inserts are performed by these entity beans. For example, inside the session facade's createPerson() method, the session facade delegates the actual insert to the Person entity bean.
    Data is passed between objects by using the "value object" pattern. For example, the business delegate passes person data to the session facade inside a Person value object. The session facade also passes this value object to the entity bean (alternatively, the session facade could pass the person's attributes individually, but I thought this was not as convenient).
    I hope that explains the situation.

  • Xdoclet session facade + value object

    Hi Community,
    I have created an value object and a session facade with:
    @ejb.facade view type="local"
    @ejb.value-object match="*" name="CategoryEJB"
    The new facade class is missing getData() inCategoryEJBLocal.
    I have extendet the CMP for the ValueObject
    * @ejb.interface-method view-type = "both"
    * @return
    public abstract CategoryEJBValue getCategoryValue();
    * @ejb.interface-method view-type = "both"
    * @param categoryValue
    public abstract void setCategoryValue(CategoryEJBValue categoryValue);
    What I have to do to solve the error?
    Many thanks in advance
    Oliver

    Problem solved.

  • Serialization error while returning Value Object from Web Service

    Hi
    I have developed a sample Web Service (RPC based), it returns Customer Value Object
    when client calls getCustomer method.
    I have written a Client (attached the client source code) to invoke the web service
    when the client invokes the Web Service it throws an Exception , the Exception
    Exception in thread "main" serialization error: no serializer is registered for
    (null, {java:customer}Customer)
    at com.sun.xml.rpc.encoding.DynamicInternalTypeMappingRegistry.getSerializer(DynamicInternalTypeMappingRegistry.java:62)
    at com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.initialize(SOAPResponseSerializer.java:72)
    at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.initialize(ReferenceableSerializerImpl.java:47)
    at com.sun.xml.rpc.client.dii.BasicCall.createRpcResponseSerializer(BasicCall.java:382)
    at com.sun.xml.rpc.client.dii.BasicCall.getResponseDeserializer(BasicCall.java:364)
    at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:259)
    at ClientwithWSDL.main(ClientwithWSDL.java:63)
    CAUSE:
    no serializer is registered for (null, {java:customer}Customer)
    at com.sun.xml.rpc.encoding.TypeMappingUtil.getSerializer(TypeMappingUtil.java:41)
    at com.sun.xml.rpc.encoding.InternalTypeMappingRegistryImpl.getSerializer(InternalTypeMappingRegistryImpl.java:287)
    at com.sun.xml.rpc.encoding.DynamicInternalTypeMappingRegistry.getSerializer(DynamicInternalTypeMappingRegistry.java:47)
    at com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.initialize(SOAPResponseSerializer.java:72)
    at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.initialize(ReferenceableSerializerImpl.java:47)
    at com.sun.xml.rpc.client.dii.BasicCall.createRpcResponseSerializer(BasicCall.java:382)
    at com.sun.xml.rpc.client.dii.BasicCall.getResponseDeserializer(BasicCall.java:364)
    at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:259)
    at ClientwithWSDL.main(ClientwithWSDL.java:63)
    If someone can help me to fix the issue, it will be great.
    Thanks
    Jeyakumar Raman.

    I guess, this is because the RI client is not finding the
    codec to ser/deser your Value Object. You need to register
    the codec in the type mapping registry before you invoke
    the web service method.
    Here is a sample:
    Service service = factory.createService( serviceName );
    TypeMappingRegistry registry = service.getTypeMappingRegistry();
    TypeMapping mapping = registry.getTypeMapping(
    SOAPConstants.URI_NS_SOAP_ENCODING );
    mapping.register( SOAPStruct.class,
    new QName( "http://soapinterop.org/xsd", "SOAPStruct" ),
    new SOAPStructCodec(),
    new SOAPStructCodec() );
    BTW, you can do the same exact thing on the client by using
    WLS impl of JAX-RPC. Is there a reason for using RI on the
    client side?
    regards,
    -manoj
    "Jeyakumar Raman" <[email protected]> wrote in message news:[email protected]...
    Hi Manoj,
    Thanks for your information, Yes, my client is Sun's JAX-RPC based, but the Server
    Implementation is done using Weblogic 7.0. When I invoke the Client without WSDL.
    It works fine without any problem. But when I invoke the webservice using WSDL,
    I am getting this problem.
    Here is my Client Code :
    * This class demonstrates a java client invoking a WebService.
    import java.net.URL;
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.Call;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.namespace.QName;
    import customer.Customer;
    public class ClientwithWSDL {
    private static String qnameService = "CustomerService";
    private static String qnamePort = "CustomerServicePort";
    private static String BODY_NAMESPACE_VALUE =
    "http://jeyakumar_3957:7001/Customer";
    private static String ENCODING_STYLE_PROPERTY =
    "javax.xml.rpc.encodingstyle.namespace.uri";
    private static String NS_XSD =
    "http://www.w3.org/2001/XMLSchema";
    private static String URI_ENCODING =
    "http://schemas.xmlsoap.org/soap/encoding/";
    private static String method="getCustomer";
    private static String endpoint="http://jeyakumar_3957:7001/webservice/CustomerService?WSDL";
    public static void main(String[] args) throws Exception {
    // create service factory
    ServiceFactory factory = ServiceFactory.newInstance();
    // define qnames
    QName serviceName =new QName(BODY_NAMESPACE_VALUE, qnameService);
    QName portName = new QName(BODY_NAMESPACE_VALUE, qnamePort);
    QName operationName = new QName("",method);
    URL wsdlLocation = new URL(endpoint);
    // create service
    Service service = factory.createService(wsdlLocation, serviceName);
    // create call
    Call call = service.createCall(portName, operationName);
    // invoke the remote web service
    Customer result = (Customer) call.invoke(new Object[0]);
    System.out.println("\n");
    System.out.println(result);
    "manoj cheenath" <[email protected]> wrote:
    >
    >
    >Hi Jayakumar,
    >
    >From the stack trace it looks like you are using sun's
    >RI of JAX-RPC. I am not sure what is going wrong with RI.
    >
    >WLS 7.0 got its own implementation of JAX-RPC. Check
    >out the link below for details:
    >
    >http://edocs.bea.com/wls/docs70/webserv/index.html
    >
    >
    >Let us know if you need more details.
    >
    >--=20
    >
    >regards,
    >-manoj
    >
    >
    >
    > "Jeyakumar" <[email protected]> wrote in message =
    >news:[email protected]...
    >
    > Hi
    >
    > I have developed a sample Web Service (RPC based), it returns Customer
    >=
    >Value Object
    > when client calls getCustomer method.
    >
    > I have written a Client (attached the client source code) to invoke
    >=
    >the web service
    > when the client invokes the Web Service it throws an Exception , the
    >=
    >Exception
    >
    >
    > Exception in thread "main" serialization error: no serializer is =
    >registered for
    > (null, {java:customer}Customer)
    > at =
    >com.sun.xml.rpc.encoding.DynamicInternalTypeMappingRegistry.getSerializer=
    >(DynamicInternalTypeMappingRegistry.java:62)
    >
    > at =
    >com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.initialize(SOAPRespo=
    >nseSerializer.java:72)
    > at =
    >com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.initialize(Reference=
    >ableSerializerImpl.java:47)
    > at =
    >com.sun.xml.rpc.client.dii.BasicCall.createRpcResponseSerializer(BasicCal=
    >l.java:382)
    > at =
    >com.sun.xml.rpc.client.dii.BasicCall.getResponseDeserializer(BasicCall.ja=
    >va:364)
    > at =
    >com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:259)
    > at ClientwithWSDL.main(ClientwithWSDL.java:63)
    >
    > CAUSE:
    >
    > no serializer is registered for (null, {java:customer}Customer)
    > at =
    >com.sun.xml.rpc.encoding.TypeMappingUtil.getSerializer(TypeMappingUtil.ja=
    >va:41)
    > at =
    >com.sun.xml.rpc.encoding.InternalTypeMappingRegistryImpl.getSerializer(In=
    >ternalTypeMappingRegistryImpl.java:287)
    > at =
    >com.sun.xml.rpc.encoding.DynamicInternalTypeMappingRegistry.getSerializer=
    >(DynamicInternalTypeMappingRegistry.java:47)
    >
    > at =
    >com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.initialize(SOAPRespo=
    >nseSerializer.java:72)
    > at =
    >com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.initialize(Reference=
    >ableSerializerImpl.java:47)
    > at =
    >com.sun.xml.rpc.client.dii.BasicCall.createRpcResponseSerializer(BasicCal=
    >l.java:382)
    > at =
    >com.sun.xml.rpc.client.dii.BasicCall.getResponseDeserializer(BasicCall.ja=
    >va:364)
    > at =
    >com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:259)
    > at ClientwithWSDL.main(ClientwithWSDL.java:63)
    >
    > If someone can help me to fix the issue, it will be great.
    >
    > Thanks
    > Jeyakumar Raman.
    >
    >
    ><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    ><HTML><HEAD>
    ><META http-equiv=3DContent-Type content=3D"text/html; =
    >charset=3Diso-8859-1">
    ><META content=3D"MSHTML 6.00.2713.1100" name=3DGENERATOR>
    ><STYLE></STYLE>
    ></HEAD>
    ><BODY bgColor=3D#ffffff>
    ><DIV><FONT face=3DCourier size=3D2>Hi Jayakumar,</FONT></DIV>
    ><DIV><FONT face=3DCourier size=3D2></FONT> </DIV>
    ><DIV><FONT face=3DCourier size=3D2>From the stack trace it looks like
    >=
    >you are using=20
    >sun's</FONT></DIV>
    ><DIV><FONT face=3DCourier size=3D2>RI of JAX-RPC. I am not sure
    >=
    >what is going=20
    >wrong with RI.</FONT></DIV>
    ><DIV><FONT face=3DCourier size=3D2></FONT> </DIV>
    ><DIV><FONT face=3DCourier size=3D2>WLS 7.0 got its own implementation
    >of =
    >
    ></FONT><FONT face=3DCourier size=3D2>JAX-RPC. Check</FONT></DIV>
    ><DIV><FONT face=3DCourier size=3D2>out the link below for =
    >details:</FONT></DIV>
    ><DIV><FONT face=3DCourier size=3D2></FONT><FONT face=3DCourier=20
    >size=3D2></FONT> </DIV>
    ><DIV><FONT face=3DCourier size=3D2><A=20
    >href=3D"http://edocs.bea.com/wls/docs70/webserv/index.html">http://edocs.=
    >bea.com/wls/docs70/webserv/index.html</A></FONT></DIV>
    ><DIV><FONT face=3DCourier size=3D2></FONT> </DIV>
    ><DIV><FONT face=3DCourier size=3D2></FONT> </DIV>
    ><DIV><FONT face=3DCourier size=3D2>Let us know if you need more=20
    >details.</FONT></DIV>
    ><DIV><BR>-- <BR><BR>regards,<BR>-manoj</DIV>
    ><DIV> </DIV>
    ><DIV><BR> </DIV>
    ><BLOCKQUOTE=20
    >style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
    >BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
    > <DIV>"Jeyakumar" <<A=20
    > href=3D"mailto:[email protected]">[email protected]</A>>
    >=
    >wrote in=20
    > message <A=20
    > =
    >href=3D"news:[email protected]">news:[email protected]=
    >a.com</A>...</DIV><BR>Hi<BR><BR>I=20
    > have developed a sample Web Service (RPC based), it returns Customer
    >=
    >Value=20
    > Object<BR>when client calls getCustomer method.<BR><BR>I have written
    >=
    >a Client=20
    > (attached the client source code) to invoke the web service<BR>when
    >=
    >the client=20
    > invokes the Web Service it throws an Exception , the=20
    > Exception<BR><BR><BR>Exception in thread "main" serialization error:
    >=
    >no=20
    > serializer is registered for<BR>(null,=20
    > {java:customer}Customer)<BR>
    >=
    >at=20
    > =
    >com.sun.xml.rpc.encoding.DynamicInternalTypeMappingRegistry.getSerializer=
    >(DynamicInternalTypeMappingRegistry.java:62)<BR><BR> &nb=
    >sp; =20
    > at=20
    > =
    >com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.initialize(SOAPRespo=
    >nseSerializer.java:72)<BR> =20
    > at=20
    > =
    >com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.initialize(Reference=
    >ableSerializerImpl.java:47)<BR> =
    >=20
    > at=20
    > =
    >com.sun.xml.rpc.client.dii.BasicCall.createRpcResponseSerializer(BasicCal=
    >l.java:382)<BR> =20
    > at=20
    > =
    >com.sun.xml.rpc.client.dii.BasicCall.getResponseDeserializer(BasicCall.ja=
    >va:364)<BR> =20
    > at=20
    > =
    >com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:259)<BR> =
    > =20
    > at ClientwithWSDL.main(ClientwithWSDL.java:63)<BR><BR>CAUSE:<BR><BR>no
    >=
    >
    > serializer is registered for (null,=20
    > {java:customer}Customer)<BR>
    >=
    >at=20
    > =
    >com.sun.xml.rpc.encoding.TypeMappingUtil.getSerializer(TypeMappingUtil.ja=
    >va:41)<BR> =20
    > at=20
    > =
    >com.sun.xml.rpc.encoding.InternalTypeMappingRegistryImpl.getSerializer(In=
    >ternalTypeMappingRegistryImpl.java:287)<BR> =
    > =20
    > at=20
    > =
    >com.sun.xml.rpc.encoding.DynamicInternalTypeMappingRegistry.getSerializer=
    >(DynamicInternalTypeMappingRegistry.java:47)<BR><BR> &nb=
    >sp; =20
    > at=20
    > =
    >com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.initialize(SOAPRespo=
    >nseSerializer.java:72)<BR> =20
    > at=20
    > =
    >com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.initialize(Reference=
    >ableSerializerImpl.java:47)<BR> =
    >=20
    > at=20
    > =
    >com.sun.xml.rpc.client.dii.BasicCall.createRpcResponseSerializer(BasicCal=
    >l.java:382)<BR> =20
    > at=20
    > =
    >com.sun.xml.rpc.client.dii.BasicCall.getResponseDeserializer(BasicCall.ja=
    >va:364)<BR> =20
    > at=20
    > =
    >com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:259)<BR> =
    > =20
    > at ClientwithWSDL.main(ClientwithWSDL.java:63)<BR><BR>If someone can
    >=
    >help me=20
    > to fix the issue, it will be great.<BR><BR>Thanks<BR>Jeyakumar=20
    >Raman.</BLOCKQUOTE></BODY></HTML>
    >
    >
    [att1.html]

Maybe you are looking for

  • Can we do a Secure FTP for an XML file from ABAP when firewall is enabled?

    Hi all, I have a requirement to send an XML file to an External FTP Server which is out of our corporate network and our firewall is enabled. I have to send an XML file with Purchase Order details. I completed that with the help of this blog https://

  • JDBC datasource in weblogic 7.0

    Hi I configured coldfusion mx in weblogic 7.0 successfully. I am able to execute cf files with 7001 port and localhost. I need access to the remote database (oracle 8) in cf thru' dsn. Where should I create DSN (in local system or in weblogic 7.0 con

  • Video - new selection: garbled

    I've recently put a lot of podcasts on my ipod. Every once in a while when I choose a new podcast to watch, before it selects the video to watch, the ipod will grab the first frame and 'swipe' it across the screen before it refreshes it correctly. To

  • Blank Windows ...?

    Hey you guys, what do think of this: When I bring up any of several screens - System Performance, Sample Delay, etc. - I get no info in the window! the window comes up, in the case of Systen Performance, say, and has the appropriate labels on the bot

  • Nikon d610 support

    Having taken delivery of a new Nikon d610 I am getting the "unsupported image format" message with my raw files(jpeg's are fine), since the d610 does not yet feature in the supported camera list I am presuming that is the reason. How long before Appl