Detect recursive XSD node

I have a problem with an XSD in PI 7.11. When loading into a mapping, it leads to an OutOfMemory error. The reason is that the XSD contains recursive nodes, which is not allowed for PI XSD's. So far so good.
The problem is how to find out which of the node(s) is recursive. It is a huge structure. In the PI XSD editor, I can right-click on a node and then expand recursively. If it contains a recursive node, it gives an error message. For small structures, it shows the recursive node in red. But for large structures, the GUI just stucks after the error message and does not respond anymore. So I do not know which subnode caused the problem.
This means I have no automated way to detect the recursive nodes if they occur in very large structures (which is the case here). Any hints ? I want to avoid to open manually hundreds of nodes and browse for a red color.
Is there any XML tool outside PI which can detect and display such node names ? In XmlSpy I did not find such a function.
Hint 1 for SAP product developers: it would be nice if the GUI did not stuck in such cases, but give a detailed message which node(s) cause the problem ! Same for the mapping.
Hint 2: the XSD is this one: http://docs.oasis-open.org/ubl/cs-UBL-2.0/xsd/maindoc/UBL-Order-2.0.xsd
CSY

hi,
>>>Hint 1 for SAP product developers: it would be nice if the GUI did not stuck in such cases, but give a detailed message which node(s) cause the problem ! Same for the mapping.
please put those suggestions here:
https://cw.sdn.sap.com/cw/community/ideas/sap_netweaver/sap_netweaver_process_orchestration_process_integration
with comment
this is the way we can raise it with SAP during our GSIG for PI meetings
Thank you,
Regards,
Michal Krawczyk

Similar Messages

  • Detection of proxy node outage

    Question regarding detection of proxy node outage in extend client.
    My impression is that once connection established, you won't notice that proxy node was gone until next time you try to access cluster (get, put, etc. etc.).
    Or there is anything like MemberListener thing that client will be notified when proxynode is gone?
    This cause us some issue since we will add a map listener within extend client, but we won't receive any notification if the proxy node is gone.
    To address this issue, we are implement a heartbeat approach which client will have a background thread perform periodically cache get to ensure that the connection still valid.
    Above approach worked fine for single proxy node approach, since if the heartbeat check failed, we know something wrong.
    However, the heartbeat approach create new issue when there are multiple proxy nodes configured in client's remote cache scheme.
    This is what we observed.
    An extend client configured with a remote cache scheme has proxyA and proxyB as proxy list.
    1. Extend client start with connection to proxyA.
    2. Extend client subscribe to key ABC for cacheX
    3. Kill proxyA process.
    4. The background heartbeat check thread perform a heartbeat get to cacheX. Looks like during this cacheX.get() operation, Coherence will establish a new connection to proxyB automatically. Our application doesn't even notice there is a proxy node switch.
    Now the issue is if an update to key ABC occurred between step 3 and 4. Our application won't receive any notification at all. And we don't even notice there is a new connection created to a different proxynode at all.
    Our business requirement require us not to miss any entry update notification in extend client (unless if all proxy nodes are down) as long as there is at least one proxy node available.
    Is there any better approach for this requirement?

    J.K.
    Turn out that member listener approach still have chance to lost update notification.
    We found out that the update occurred between MemberLeft event notification and re-add map listener will be lost.
    That window is small, however, our business requirement require that no lost of update event at all as long as the update operation succeeded (the update could be performed by another extend client connect to different proxy node).
    Is it even possible to ensure that requirement using extend client?
    Regards,
    Chen

  • How can I deal with recursive target nodes?

    Hello All,
    I am working on an IDOC to B2MML scenario.
    I need to map E1PLPOL segment to a recursive node - product segment - on the target side.
    The initial occurrence of product segment node will be the operations and the child product segment node under it will be the phases.
    When I test the message mapping, I can see one successful occurrence of the operations and phases.
    But, when I give values for subsequent occurrences of operations and phases, I am able to see the operations alone. What could be the reason for the phases to miss out from the second iteration onwards?
    Any help would be deeply appreciated.
    Warm Regards,
    Earnest

    Hi Ibrahim,
    Here is the source tree structure:
    MT_NEW_TEST
        - E1PLPOL
              --VORNR
              --PVZNR
    Target tree structure is as given below:
    MT_INT_MR1
         -OPERATIONS
              --OVORNR
              --OPVZNR
                    ---PHASES
    PVORNR
    PPVZNR
    Test data for source side is given below:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_NEW_TEST xmlns:ns0="http://hclcoe/PIPs">
       <E1PLPOL>
          <VORNR>10</VORNR>
       </E1PLPOL>
       <E1PLPOL>
          <VORNR>20</VORNR>
          <PVZNR>10</PVZNR>
       </E1PLPOL>
       <E1PLPOL>
          <VORNR>30</VORNR>
          <PVZNR>10</PVZNR>
       </E1PLPOL>
       <E1PLPOL>
          <VORNR>40</VORNR>
       </E1PLPOL>
       <E1PLPOL>
          <VORNR>50</VORNR>
          <PVZNR>40</PVZNR>
       </E1PLPOL>
       <E1PLPOL>
          <VORNR>60</VORNR>
          <PVZNR>40</PVZNR>
       </E1PLPOL>
       <E1PLPOL>
          <VORNR>70</VORNR>
       </E1PLPOL>
       <E1PLPOL>
          <VORNR>80</VORNR>
          <PVZNR>70</PVZNR>
       </E1PLPOL>
       <E1PLPOL>
          <VORNR>90</VORNR>
          <PVZNR>70</PVZNR>
       </E1PLPOL>
    </ns0:MT_NEW_TEST>
    The following is what I got on the target side:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_INT_MR1 xmlns:ns0="http://hclcoe/PIPs">
    <Operations><OVORNR>10</OVORNR>
    <Phases><PVORNR>20</PVORNR><PPVZNR>10</PPVZNR></Phases>
    <Phases><PVORNR>30</PVORNR><PPVZNR>10</PPVZNR></Phases>
    <Phases><PVORNR>50</PVORNR><PPVZNR>40</PPVZNR></Phases>
    <Phases><PVORNR>60</PVORNR><PPVZNR>40</PPVZNR></Phases>
    <Phases><PVORNR>80</PVORNR><PPVZNR>70</PPVZNR></Phases>
    <Phases><PVORNR>90</PVORNR><PPVZNR>70</PPVZNR></Phases>
    </Operations>
    <Operations><OVORNR>40</OVORNR></Operations>
    <Operations><OVORNR>70</OVORNR></Operations>
    </ns0:MT_INT_MR1>
    The condition to map the phases under the operation is: "VORNR value should match the PVZNR value".
    So, in the above sample, the operations would be 10, 40 & 70. I am struggling to group the respective phases under the operations using the condition mentioned above.
    Thanks a lot,
    Earnest
    Edited by: Earnest Thomas on Nov 30, 2008 9:56 AM
    Edited by: Earnest Thomas on Nov 30, 2008 9:57 AM
    Edited by: Earnest Thomas on Nov 30, 2008 9:59 AM

  • How to detect missing xml node before using countNodes?

    Below is my xml sample. Right now I use countNodes to count # of <Book> returned.
    <ListOfBook>
    <Book>A</Book>
    <Book>B</Book>
    <Book>C</Book>
    </ListOfBook>
    When there's no data, I got
    </ListOfBook>
    My countNodes() failed and generated errors. How do I avoid this? Can I detect if <Book> exists first before doing countNodes() and if so how?
    I'm using SOA 11.1.1.2
    Thanks

    Actualy the simplest way to be certain your <ListOfBook> is empty is to check the first element:
    If $ListOfBook/Book[1] != ''
    If there aqre no Books - nothing happens.
    About count nodes - it works. Pb=robably you have a mistake in countNodes definition (you can paste it here for commenting)

  • Map a RFC table to a xsd node

    Hi experts, please help me with examples or links, I need to create a mapping to the xsd multiple lines complex type with a rfc table, when I try to create the map the following message comes up :
    Incompatible Expression Type.
    Expected: ZSMM_ITEMMAT
    Found: ItemMaterialCT

    Hi,
    you have to map on attribute level, as the complex types are not compatible (as the message indicates)

  • Q: Detecting when a Node is Detatched from the Scene Graph, How?

    Hi All,
    My nodes are regiserted observers with an Async service. I need to know when a nodes is detached/removed from the Scene graph so that I can remove it from the Async service.
    The only thing I can think of at the moment is to bind to Node.scene but I would like to think there is a more "standardized" way of doing this (I don't want to re-invent the wheel).
    Example (improved from 1st post):
    class MyCustomNode extends CustomNode {
            var sceneMonitor:Scene = bind scene on replace {onSceneChange()};       
            public var onSceneChange:function():Void = function():Void{
                    if (scene == null){
                        println("we have no scene");
                    } else {
                        println("we have a scene");
    }Edited by: AndrewHughes on Oct 12, 2009 6:13 AM

    You can add an "initialized" flag into your CustomNode and set it true in the postinit block
    var initialized = false;
    postinit { initialized = true }The parent and scene of the node won't be set until after the CustomNode is past the postinit phase. You can use this flag to determine whether or not the change in parent or scene is because the node is being added, or because the node is being removed.
    var fubar = bind scene on replace {
        if (initialized and scene == null) {
            // cleanup
    }You could also use the old value and the new value in the on replace:
    var fubar = bind scene on replace oldscene = newscene {
        if (oldscene != null and newscene == null) {
            // cleanup
    }

  • Recursive node mapping

    Hi everybody,
    i would like to ask if it is posiible to map context node with recursive node from controller to view. I try to do that by the recursive subnode is disabled. When that is not possible can that any one explain why?
    Regards
    Bogdan

    Hello Bogdan,
    Recursive context nodes cannot be mapped. You may refer this <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/ea/a5384162316532e10000000a1550b0/frameset.htm">article</a>
    Best Regards,
    Bala

  • Detect server node processing a http request

    Is there any way to detect which server node is answering a http request? For debug purposes I would like to add the cluster element to the output of a jsp. Maybe it is also possible to force a jsp being processed by a given node?
    Thanks in advance for your answers!
    Best regards,
    Frank

    Hi Violeta,
    Thanks for your answer! This has been very helpful indeed.
    However, I´m still a bit puzzled. Replacing the saplb cookie forces the load balancer to use the given server, but the JSESSIONID does not change. Looking at the application data I know that I´m talking to a different server, but I still don´t seem to have a way to tell which server ansered - except my expectation that the saplb cookie might have been taken into account by the server.
    Isn´t there a more sophisticated way to access this kind of information? Escpecially, getting a list of all available servers would be great, as this would allow to choose the server having a look at.
    Best regards,
    Frank

  • What is Level-1 in recursive queries

    Hi can some one explain to me what level-1 means in recursive queries and direct me to some good documentation on it as well
    select
    lpad(' ', level-1) || node_from || '->' || node_to
    from
    directed_graph
    start with
    node_from = 'F'
    connect by
    prior node_to = node_from;

    LEVEL is a pseudo-column. That means that you get that as one of the columns whenever you run recursive SQL in Oracle, even though your input tables don't contain that column. Other such columns are provided to detect leaf-level nodes, cycles etc.
    The lpad function is used to provide an indentation that makes it convenient to read. Whatever is returned is padded using the space character level-1 times. the minus-one is so that the top level does not have any indentation at all. Try the query with and without it to see what it means.
    If you are running it from SQLPLUS, you might want to name the column, then format it so that you can see it nicely.
    By the way, in an arbitrary directed graph, there may be cycles (i.e pathways you can take that will lead you back to the starting node), either by intent or as a data error. You might want to put in code to detect that as well.

  • Question regarding IWDTree and context Value Node naming

    Hi,
    I have a question regarding the IWDTree / IWDTreeNodeType components.
    I have a context looking like this:
    Context
      + ResponseNode
        + PersonNode (1..1)
          + PersonAddressNode                    (empty node, placeholder)
          | + AdresNode (0..n)
          + PersonChildNode                      (empty node, placeholder)
          | + PersonNode (0..n)
          |   + PersonAddressNode                (empty node, placeholder)
          |     + AddressNode (0..n)
          + PersonParentsNode                    (empty node, placeholder)
            + PersonNode (0..n)
              + PersonAddressNode                (empty node, placeholder)
                + AddressNode (0..n)
    The context represents a person, a person's address, and a person's children and parents with their respective addresses.
    As a result, on different branches, a PersonNode and AddressNode can appear.
    And for some strange reason, all PersonNodes and AddressNodes link to the same ResponseNode.PersonNode.PersonParentsNode.PersonNode and ResponseNode.PersonNode.PersonParentsNode.PersonNode.PersonAddressNode.AddressNode respectively, irregardless of their branch...
    Is it illegal to have multiple PersonNode and AddressNode node names, and should they be named uniquely?

    Generally, node names need to be unique inside the context, attributes in different nodes can have same names. I wonder if the context structure you described will result in code without compile errors.
    The WD Tree can only be used with recursive context nodes or with a hierarchy of non-singleton child nodes.
    Can you give an example how your tree should look like at runtime?

  • Filteredtreemodel, how to hide parent nodes if no children

    hi. i have surfed and read a lot of posts and topics here regarding filteredtreemodel. some i found hard to understand so i chose to use NiceGuy1's code from long ago since it's the easiest to understand.
    package test;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.tree.DefaultTreeModel;
    import javax.swing.tree.TreeNode;
    import java.util.ArrayList;
    import java.util.Enumeration;
    public class FilteredTreeModel extends DefaultTreeModel {
        // this hashmap gets the list of pdf files and the filter status
        private String filterText;
        private DefaultMutableTreeNode orig_root;
        public FilteredTreeModel(DefaultMutableTreeNode root) {
            super(root);
            orig_root = root;
        public void setFilterText(String s) {
            this.filterText = s;
            reload();
        public String getFilterText() {
            return this.filterText;
        @Override
        public Object getChild(Object parent, int index) {
            return getFilteredChildren(parent).get(index);
        @Override
        public int getChildCount(Object parent) {
            return getFilteredChildCount(parent);
        @Override
        public int getIndexOfChild(Object parent, Object child) {
            return getFilteredChildren(parent).indexOf(child);
        private int getFilteredChildCount(Object parent) {
            return getFilteredChildren(parent).size();
        private ArrayList<TreeNode> getFilteredChildren(Object parent) {
            ArrayList<TreeNode> filteredChildren = new ArrayList<TreeNode>();
            DefaultMutableTreeNode parentNode = null;
            parentNode = (DefaultMutableTreeNode)parent;
            for (Enumeration e=parentNode.children(); e.hasMoreElements();) {
                DefaultMutableTreeNode nextNode = (DefaultMutableTreeNode) e.nextElement();
                DefaultMutableTreeNode dummy = null;
                  if (nextNode.children().hasMoreElements()) {
                      filteredChildren.add(nextNode);
                } else {
                    // if node is leaf node
                    if (filterText == null ) {
                        // add right away if no filter
                        filteredChildren.add(nextNode);
                    } else {
                        // if filter matches this leaf node, add it. if not, how to check if
                        // parent nodes have empty children and remove it.
            return filteredChildren;
    }i havent had luck the whole day trying to make this work. it seemed that once the filteredChildren.add() is called, it gets rendered to the treecellrenreder right away so if i wnat to remove the parents (in case it has no children based on the filter),the parent nodes will stay put in the jtree. any workaround? or ideas? i dont want to use a different defaulttreemodel for this. i want to avoid that because i have lots of nodes in my jtree.

    Looks like you need this:
    for (Enumeration e=parentNode.getFilteredChildren(); e.hasMoreElements();) Edit: okay, that was just a quick guess. Actually you're going to get into trouble if you try to recursively suppress nodes with no children. First you suppress all the leaf nodes (because they naturally don't have any children). Then you suppress all of their parents, because now they don't have any unsuppressed children. Then you suppress all of the parents' parents, because now they don't have any unsuppressed children... and so on until you only have the root left. So you need to refine that requirement.
    But I get what you're saying. I had to do a similar thing, only I didn't use a FilteredTreeModel, I just built the TreeModel based on a selection from another tree. It's ridiculously hard to do when you don't get the nodes in order from the database, too, but that's a different problem.

  • Create a link node in tree

    I created a web dynpro project which implement a KM file repository constructs by recursion child node. If the node is collection (folder) there is no problem to open it,But if it is not (for example if it is a *.pdf or *.doc or *.txt), I don’t know how can I open it. May be I should somehow cause the node to be a link.
    Thanks a head  for your help
    Message was edited by: Armin Reichert

    Hi,
    1.Bind the ValueAttribute to the NodeItem and store all the URLs in the ValueAttribute.
    2.Bind the same ValueAttribute to the IFrame control also.
    3.On Click of TreeItem it will open the URL in the IFrame
    Regards, VIP

  • External context mapping with recursive treenode

    Hi,
    did anybody succeed with external context mapping of a recursive tree node?
    I get the following runtime error. Everything works fine if I use a "regular" value node. I´ve also experimented with manual and automatic component creation.
    Any help is appreciated
    Helmut
    com.sap.tc.webdynpro.progmodel.context.ContextException: NodeInfo(InnerCompInterface.OuterCompTree): cannot create nodes, no mapping defined yet
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.getDataNode(MappingInfo.java:102)
         at com.sap.tc.webdynpro.progmodel.context.RecursiveNodeInfo.init(RecursiveNodeInfo.java:127)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:682)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:682)
         at com.sap.tc.webdynpro.progmodel.context.Context.init(Context.java:38)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:199)
         at com.sap.tc.webdynpro.progmodel.controller.Component.getCustomControllerInternal(Component.java:409)
         at com.sap.tc.webdynpro.progmodel.controller.Component.getMappableContext(Component.java:347)
         at com.sap.tc.webdynpro.progmodel.controller.Component.getMappableContext(Component.java:376)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.init(MappingInfo.java:137)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:667)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:682)
         at com.sap.tc.webdynpro.progmodel.context.Context.init(Context.java:38)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:199)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:346)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.createComponent(ClientComponent.java:854)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.createComponent(ClientComponent.java:157)
         at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createComponentInternal(ComponentUsage.java:137)
         at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createComponent(ComponentUsage.java:104)
         at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createInstanceIfDemanded(ComponentUsage.java:659)
         at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.getInterfaceControllerInternal(ComponentUsage.java:300)
         at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.getControllerInternal(ComponentUsage.java:341)
         at com.sap.tc.webdynpro.progmodel.controller.Component.getMappableContext(Component.java:381)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.getContext(MappingInfo.java:54)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.isComplete(MappingInfo.java:92)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.getStructureType(NodeInfo.java:247)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.getStructureType(NodeInfo.java:247)
         at com.sap.tc.webdynpro.progmodel.context.AttributeInfo.initNodeMapping(AttributeInfo.java:546)
         at com.sap.tc.webdynpro.progmodel.context.AttributeInfo.init(AttributeInfo.java:432)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.initAttributes(NodeInfo.java:692)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.initAfterCompletedMapping(NodeInfo.java:698)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.initAfterCompletedMapping(MappingInfo.java:159)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.initMapping(MappingInfo.java:152)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.init(MappingInfo.java:142)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:667)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:682)
         at com.sap.tc.webdynpro.progmodel.context.Context.init(Context.java:38)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:199)
         at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:539)
         at com.sap.tc.webdynpro.progmodel.view.ViewManager.bindRoot(ViewManager.java:421)
         at com.sap.tc.webdynpro.progmodel.view.ViewManager.init(ViewManager.java:129)
         at com.sap.tc.webdynpro.progmodel.view.InterfaceView.initController(InterfaceView.java:41)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.displayToplevelComponent(ClientComponent.java:134)
         at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:364)
         at com.sap.tc.webdynpro.clientserver.task.Task.createApplication(Task.java:217)
         at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:548)
         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.doGet(DispatcherServlet.java:38)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         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)
    /code

    Hi Helmut,
    I face exactly the same problem with NW 2.0.7.
    It is a bug in WebDynpro runtime.
    Good news is that it is fixed with SP9, so this functionality will work in final release (I believe WD team uses regression tests
    Regards,
    VS

  • DnD, JTree and inter-node placement

    Hi, there.
    Drag'n'Drop with JTrees has been discussed at length in this list. I have a DnD-capable application, and the user sees the nodes affected by the drag position as selected, so he knows where the drop will perform.
    Now I want to drop not only on other nodes, but also inbetween. You may imagine there is a red bar shown as soon as the drag is between tree nodes, and the result will be a new node inserted at exactly this position.
    Any ideas how to implement that?
    Hiran

    Still on the problem. Have some thoughts. But absolutely no idea whether this may work at all:
    Upon dragover, the cell affected is selected. That means I query getClosestPathForLocation() and then call setSelectionPath with the result. This works for nodes.
    Now I need to detect the inter-node placement. So the row must get calculated by myself, and if necessary, an extra node will be inserted into the tree. This extra node is rendered just as slim red line, so the user knows now he drops between nodes. Whatever happens now (drop performed, mouse moved elsewhere), the red line will be removed first.
    What do you think?

  • Naming conflict in xsd causing parsing failure

    Hi,
    I have a typical xml file which has duplicate root and child elements.Listed below is part of the xml.
    ======
    <ListOfElement type =complex>
    <Element type =complex>
    <child1 type =string></child1>
    <child2 type =string></child2>
    <Element type =string></Element>
    <child3 type =string></child3>
    </Element>
    <Element type =complex></Element>
    <Element type =complex></Element>
    </ListOfElement>=======
    If I need to generate xsd for the above xml file and parse it successfully ,I need to use binding.
    I have used it like this
    ===============
    <?xml version="1.0" encoding="UTF-8"?>
    <jxb:bindings version="1.0"
    xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
    jxb:extensionBindingPrefixes="xjc">>
    <jxb:bindings schemaLocation="../schema/Element.xsd" node="/xs:schema">
    <jxb:bindings node="//xs:complexType[@name='Element']//xs:Element">
    <jxb:property name="ElementName"/>
    </jxb:bindings>
    </jxb:bindings>
    </jxb:bindings>
    ===============
    However this gives me an error stating [xjc] [ERROR] XPath evaluation of "//xs:complexType[@name='Element']//xs:Element" results in empty target node
    [xjc] line 9 of comm_binding.xjb(file listed immediately above)
    If anyone has had similar problems and know how to create an alias foa child node pls sendin your posts asap.
    Thanks & Regards,

    I just tried a simplified version of your code and it worked fine.
    <assign name="Assign_1">
    <copy>
    <from variable="inputVariable" part="payload" query="/client:XPathDotProcessRequest/client:level.1.item"/>
    <to variable="outputVariable" part="payload" query="/client:XPathDotProcessResponse/client:level.1.item"/>
    </copy>
    <copy>
    <from variable="inputVariable" part="payload" query="/client:XPathDotProcessRequest/client:level.2/client:level.2.item"/>
    <to variable="outputVariable" part="payload" query="/client:XPathDotProcessResponse/client:level.2.level.2.item"/>
    </copy>
    <copy>
    <from variable="inputVariable" part="payload" query="/client:XPathDotProcessRequest/client:level.2/client:item.2"/>
    <to variable="outputVariable" part="payload" query="/client:XPathDotProcessResponse/client:level.2.item.2"/>
    </copy>
    </assign>
    I suspect it may be something else in the schema that is causing it to break.
    Can you see the input message in the BPEL console and verify that it is correct?
    Have you tried selecting /ns4:ADT_A01/ns4:MSH/ns4:MSH.1 to make sure you can get that?
    Have you tried selecting /ns4:ADT_A01/ns4:MSH/ns4:MSH.5/ns4:HD.1 to make sure you can get that?

Maybe you are looking for