How to insert function nodes in routing service xsl mapping?

I have been struggling with this for some days now.
I have requestId, versionNumber coming in as a part of xml.
I accept this xml(xsd) in one routing node, But on the way out, I want to assign a value requestId+versionNumber(basically concatenate)+randomNumber to transitionId(a new variable).
How do I introduce this function node in xsl mapping that can concatenate different values that come through?
Also, how do I generate random numbers?
Thanks in advance,
vena

This is fairly straight forward.
First of all create a random number. You can do this inyour translation. On the Component Palette select Advanced Functions. There you have an option generate-id or generate-guid. Either of these will be unique. Drag this to the middle.
You can now drag this to the transactionid. Now you need to create a concatanation. In the Component palatte go to String and drage concat to the middle. Create a link between this concat and the generate-id function. Now you should be able to drag an link from requestid and versionNumber to the concat. If if they are in the wrong order just cut and past in the code by double clicking the concat icon.
Hope this helps
cheers
James

Similar Messages

  • Could someone help me out how to insert a Node properly into a DOM?

    I am trying to insert a Node built from a String to a DOM.
    Here is how I created the Node
                   Detail = "<Detail><Msg>Detail Message</Msg></Detail>";
                   prolog = "<?xml version="1.0" encoding="UTF-8"?>";
                   Node DetailNode = null;
                   Document DetailDoc = null;
                   if( Detail != null ){
                        Detail = prolog + BiometricDetail;
                        DetailDoc = xp.XML2DOM( BiometricDetail ); // transform a XML String into a DOM.
                        DetailNode = BiometricDetailDoc.getDocumentElement();                    
    Here is how I created the DOM
                   javax.xml.parsers.DocumentBuilderFactory factory = javax.xml.parsers.DocumentBuilderFactory.newInstance();
                   javax.xml.parsers.DocumentBuilder builder = factory.newDocumentBuilder();
                   Document document = builder.newDocument();
                   Element beeE = document.createElement("BeeSets");
                   Element grpE = document.createElement("Group");          
                   bioE.appendChild( grpE );
                   // the document looks like "<BeeSets><Group></Group><BeeSets>";
                   // After inserting the Node DetailNode, I want it to look like
                   // "<BeeSets><Group><Detail><Msg>Detail Message</Msg></Detail></Group><BeeSets>";
    Now when I tried to insert the node DetailNode to the DOM document, I tried
    1) document.importNode( DetailNode, true );               
    No exception was thrown. But when I transformed the DOM document back to a String, I could not see the information from the newly imported Node DetailNode.
    When I tried
              grpE.insertBefore( BiometricDetailNode, dataE );
    I got the following exception.
         org.w3c.dom.DOMException: WRONG_DOCUMENT_ERR: A node is used in a different document than the one that created it.
         at org.apache.xerces.dom.ParentNode.internalInsertBefore(Unknown Source)
         at org.apache.xerces.dom.ParentNode.insertBefore(Unknown Source)
         at com.jadcs.bioidentity.role.base.RP.getNodes(RP.java:497)
    2) document.adoptNode( DetailNode );
    I got the following exception.
         java.lang.ClassCastException: org.apache.xerces.dom.DocumentImpl
         at org.apache.xerces.dom.DeferredTextImpl.synchronizeData(Unknown Source)
         at org.apache.xerces.dom.NodeImpl.setOwnerDocument(Unknown Source)
         at org.apache.xerces.dom.ParentNode.setOwnerDocument(Unknown Source)
         at org.apache.xerces.dom.ElementImpl.setOwnerDocument(Unknown Source)
         at org.apache.xerces.dom.ParentNode.setOwnerDocument(Unknown Source)
         at org.apache.xerces.dom.ElementImpl.setOwnerDocument(Unknown Source)
         at org.apache.xerces.dom.CoreDocumentImpl.adoptNode(Unknown Source)
         at com.jadcs.bioidentity.role.base.RP.getNodes(RP.java:509)
    3) detailStr = "<Detail><Msg>Detail Message</Msg></Detail>";
    Element detailE = document.createElement("Detail");
    detailE.setTextContent( detailStr );
    grpE.appendChild( detailE );
    This way gives result like "<BeeSets><Group><Detail><Detail><Flash>On</Flash></Detail></Detail></Group><BeeSets>";
    The content is messed up.
    Could someone help me out at how to insert a Node properly into a DOM? Thank you very much.

    Said another way, importNode actually only makes and returns a copy of the node you gave it (it will be a deep copy only if you pased true as the second parameter), but where the new dom you called import on is owner.
    So what you need to do is more like this:
    Node tempNode = domYouAreAddingTheNodeTo.importNode(node2copy,true); //true if you want a deep copy
    domYouAreAddingTheNodeTo.appendNode(tempNode);You can also traverse to any point in the DOM and insert the node there with the same method, but you always have to import first so that the DOM has a copy of the node that it owns.

  • How to insert a node in an Element ?

    I have the following XSD :
    *<?xml version="1.0" encoding="windows-1252" ?>*
    *<schema>*
    *     <element name="Donnee">*
    *          <complexType>*
    *               <sequence>*
    *                    <element name="Field1" type="string"/>*
    *                    <element name="Field2" type="string"/>*
    *                    <element name="ListField" minOccurs="0" maxOccurs="unbounded">*
    *                         <complexType>*
    *                              <sequence>*
    *                                   <element name="SubField1" type="string"/>*
    *                                   <element name="SubField2" type="string"/>*
    *                              </sequence>*
    *                         </complexType>*
    *                    </element>*
    *               </sequence>*
    *          </complexType>*
    *     </element>*
    *</schema>*
    I want to create a new Element following that schema.
    Once created (empty), I can fill the "Field1" and "Field2" fields.
    But I cannot insert a "FieldList" element !
    I tried with Java :
    setVariableData("my_variable", "Donnee/ListField[1]/SubField1", "my value"):
    But this throw me an error, because this xpath doesn't exists.
    I don't see how I can insert a new element...
    Thank you for your help.

    Hi,
    Change you XSD Schema definition as given below:
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://xmlns.oracle.com/Donnee" targetNamespace="http://xmlns.oracle.com/Donnee" elementFormDefault="qualified" attributeFormDefault="unqualified">
         <xs:element name="Donnee">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="Field1" type="xs:string"/>
                        <xs:element name="Field2" type="xs:string"/>
                        <xs:element ref="ListField" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="ListField">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="SubField1" type="xs:string"/>
                        <xs:element name="SubField2" type="xs:string"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
    </xs:schema>
    Now you can create variables of type ListField, create variables of ListField type and populate them.
    Append these variables into parent element Donnee using the append operation. Append operation is available in Assign activity.
    Regards,
    Dharmendra
    http://soa-howto.blogspot.com

  • Question regarding DOM, XML and how to insert child nodes...

    Hi,
    I'm a QA student working on some big project.
    Say you have an XML library holding some symbols by their categories, there are many categories, say we have two 'Miscellaneous' and 'Categories'.
    I want to add to both categories another child:
    the problem is that the way it is done now is:
    symbolCategoryItem.appendChild(newSymbolNode)As you probably know, appendChild(newChild) deletes from the tree the newChild if exists, before inserting it again...
    What should I do to avoid it?

    http://www.cafeconleche.org/books/xmljava/chapters/

  • How to insert new service condition in PO using BAPI_PO_CHANGE?

    Hi all,
    I'm trying to insert a new condition under a service line in a PO. This can be seen in ME23N under the services tab of the PO item. Then click on conditions (the button with the dollar and yen symbol).
    I tried using the internal table POCOND and POCONDX. But these tables update the conditions of the PO item itself and not the service conditions. In ME23N this is the conditions tab of the PO item.
                build condition item table
                  wa_conditem-change_id = 'I'.
                  wa_conditem-itm_number   = wa_items-po_item.
                  wa_conditem-cond_type    = c_condtypz.
                  wa_conditem-cond_value   = l_plndisamt.
                  wa_conditem-currency     = l_poheader-currency.
                  APPEND wa_conditem TO it_conditem.
                  CLEAR wa_conditem.
                build condition item change parameter table.
                  wa_conditemx-itm_number    = wa_items-po_item.
                  wa_conditemx-itm_numberx   = 'X'.
                  wa_conditemx-cond_type     = 'X'.
                  wa_conditemx-cond_value    = 'X'.
                  wa_conditemx-currency      = 'X'.
                  wa_conditemx-change_id     = 'X'.
                  APPEND wa_conditemx TO it_conditemx.
                  CLEAR wa_conditemx.
      CALL FUNCTION 'BAPI_PO_CHANGE'
        EXPORTING
          purchaseorder    = wa_ekpo_u-ebeln
        TABLES
          return           = it_return
          poitem           = it_poitem
          poitemx          = it_poitemx
          pocond           = it_conditem
          pocondx          = it_conditemx
        EXCEPTIONS
          OTHERS           = 1.
    I tried using the internal tables POCONDHEADER and POCONDHEADERX but this doesn't seem to insert anything.
    Can anyone guide me how to insert a new service condition?
    thanks,
    Shafiq

    Found a SAP note 499626 quoted below. So it seems that it's not possible to use BAPI_PO_CHANGE.
    "Can I create or change conditions on the service level with BAPI_PO_CREATE1 or BAPI_PO_CHANGE?
    Answer:
    Such a function is currently not available."
    Anybody know any FM to do this?
    Edited by: shafiq shamsuddin on Mar 16, 2011 4:38 AM

  • Using custom wsdl to esb routing service node

    Hi,
    I am working on a ESB flow, The entire flow works with ESB generated WSDLs. But, now, I want to use our own WSDL files, so I configured the starting Routing Service node to use existing WSDL.
    To do this, I made the following changes.
    Initially I was feeding XML file throug a File Reader node, and it was easy to test. Now, since I am working with our own WSDL, I removed File Reader node and created another Routing Service node with uses our custom WSDL file. I am now testing the flow by using OC4J web services feature. It provided me a web based form where in I can populate/feed values in. When I do this, I get an error like below:
    java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Software caused connection abort: connect
    Does anybody know how to fix this?
    Thanks,

    sorry your '"mysoapaction"' funda didnt work....
    can you tell me that what should be the value in p_url??
    http_req := utl_http.begin_request(p_url, 'POST', 'HTTP/1.1');
    utl_http.set_header(http_req, 'Content-Type', 'text/xml');
    utl_http.set_header(http_req, 'Content-Length', length(request_text));
    utl_http.set_header(http_req, 'SOAPAction', p_soap_action);
    utl_http.write_text(http_req, request_text);
    http_resp := utl_http.get_response(http_req);
    utl_http.get_header_by_name(http_resp,'Content-Length',l_head_out);
    l_cont_length := to_number(l_head_out);
    IF l_cont_length > 0
    THEN
    utl_http.read_text(http_resp, p_response);
    END IF;

  • How to call a C pointer from call library function node

    I have a client/server application which the client I am trying to develop using Labview.  When I use to communicate the server and the client using the program provided by the manufacter, the system works perfectly.
    Now, I am trying to develop a system using labview, because I need to get another things.
    I have the DLL provided by the manufacter and the .h too, so I can check the functions parameters. One of these functions needs to be called using a struct element. Probably, the function's DLL instantiates the elements of this struct.  I use the call library function node to do it.
    When I receive the data, the function returns to me the struct that I passed as a parameter before, and then I can read all the elements of the struct, except the string element that returns nothing. The struct elements that are numerical, I can read them perfectly.
    Another thing that is important to say, is that the string data was not returned in fact by the DLL function that the system calls. I have to pass a pointer (I use it as unsigned 16 in Labview, but I tried before as string and unsigned 8) as a parameter, and this pointer will point to the memory location that the string is. When I try to read what is returned by the function, I can read nothing. The same function returns that the size of data that is returning is 17 bytes.
    How can I solve it?
    Thank you in advance

    Did you take a look at the example that ships with LabVIEW that shows how to do all sorts of data passing to DLLs. I believe your situation is one of the examples listed. You can find the example VI in the "<LabVIEW install directory>\examples\dll\data passing" directory.

  • PR05 - How to activate a Function in the Object Services Toolbox

    Hi,
    How do I activate a function in the Object Services Toolbox?
    In transaction PR05 (Travel Expense Manager) select any trip and then click on 'Change'. This takes you to the screen for the individual trip.
    On the top left of the screen is the 'Object Services Toolbox'.
    If I drop down on this list then select 'Create' there are 5 options under 'Create' i.e. 'Create attachment', Create Note', 'Create External Document', 'Store Bus. Doc', and 'Enter Bar Code'.
    The 'Enter Bar Code' is deactivated. I would like to know how to activate this.
    Thank you.
    Warren.

    no idea

  • How to implement a callback function using LabView's Call Library Function Node?

    I am trying to call a fuction from a SDK.dll library using the Call Library Function Node. The SDK was provided to
    me and I do not have the source code, just the .dll and .h files.
    The SdkSetPropertyEventHandler function has a callback fuction as one of its parameters. How do I implement the
    callback using the CLF node? I am a good LabView programmer but this is my first time using the Call Library
    Function Node. I have read all the info I can find on NI's web site and the discussion board but cannot figure
    this one out. I am using LabView 8.6.
    The SDK.h deacribes the function as:
    //  Function:   SdkSetPropertyEventHandler
    SdkError SDKAPI SdkSetPropertyEventHandler(
                SdkCameraRef                    inCameraRef,
                SdkPropertyEvent                inEvnet,          
                SdkPropertyEventHandler         inPropertyEventHandler,
                SdkVoid*                        inContext );
    //  Description:
    //       Registers a callback function for receiving status
    //          change notification events for property states on a camera.
    //  Parameters:
    //       In:    inCameraRef - Designate the camera object.
    //              inEvent - Designate one or all events to be supplemented.
    //              inPropertyEventHandler - Designate the pointer to the callback
    //                      function for receiving property-related camera events.
    //              inContext - Designate application information to be passed by
    //                      means of the callback function. Any data needed for
    //                      your application can be passed.
    //      Out:    None
    //  Returns:    Any of the sdk errors.
    A separate header file called SDKTypes.h contains the following data:
    typedef  SdkUInt32  SdkPropertyEvent;
    typedef  SdkUInt32  SdkPropertyID;
    typedef  void       SdkVoid;
    typedef  struct __SdkObject*    SdkBaseRef;
    typedef  SdkBaseRef    SdkCameraRef;
     SdkPropertyEventHandler
    typedef SdkError ( SDKCALLBACK *SdkPropertyEventHandler )(
                        SdkPropertyEvent        inEvent,
                        SdkPropertyID           inPropertyID,
                        SdkUInt32               inParam,
                        SdkVoid *               inContext );
    Thanks for your help.
    Alejandro
    Solved!
    Go to Solution.

    alejandroandreatta wrote:
    I am trying to call a fuction from a SDK.dll library using the Call Library Function Node. The SDK was provided to
    me and I do not have the source code, just the .dll and .h files.
    The SdkSetPropertyEventHandler function has a callback fuction as one of its parameters. How do I implement the
    callback using the CLF node? I am a good LabView programmer but this is my first time using the Call Library
    Function Node. I have read all the info I can find on NI's web site and the discussion board but cannot figure
    this one out. I am using LabView 8.6.
    Basically you do not do that. LabVIEW does not know pointers and certainly not function pointers. What you should do instead is writing a C DLL that implements the callback and also exports a function to be called by LabVIEW that translates between the callback and a LabVIEW user event. Look for PostLVUserEvent() here on the NI site to find examples how to do that.
    Rolf Kalbermatter
    Message Edited by rolfk on 02-11-2009 08:00 PM
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • How do I enable the "fn  + enter" key to work as an "insert" function for windows on my mac laptop?

    how do I enable the "fn  + enter" key to work as an "insert" function for windows on my mac laptop?

    enable /disable function within the Bootcamp control panel within Windows Vista or 7

  • How to Implement Management Chain in External routing Service

    hi,
    I am using External Routing Service to Assign & route the tasks.
    I will get the authorisation workflow in our external Routing class , Now I am suppose to implement that workflow in BPM worklist for that human task.
    One way is to know the way to implement management chain in the External Routing Service.
    I have found some BPEL classes for doing the same eg. ParticipantsType.ManagementChain, objFactory.createParticipantsTypeManagementChain().
    But not able to find any sample code to implement.
    Does any body knows how to implement the same.
    Is their any other way to resolve this issue.
    you can also refer the following thread to understand the problem statement: PROGRAMMATICALLY PERSISTING THE APPROVAL WORKFLOW FOR A HUMAN TASK.
    thanks
    Jagdish

    I have tried the below mentioned code for implemnting management chain...
         private Participants createParticipant() {
              System.out.println("1");
              String user = users[numberOfApprovals++];
              ObjectFactory objFactory = new ObjectFactory();
              Participants participants = objFactory.createParticipants();
              participants.setIsAdhocRoutingSupported(false);
                   StageType stage = objFactory.createParticipantsTypeStage();
                   stage.setName("Stage1");
                   System.out.println("2");
                   SequentialParticipant seqParticipant = objFactory.createParticipantsTypeSequentialParticipant();
                   seqParticipant.setName("Stage1.Participant1");
                   System.out.println("3");
                   ListType listType = objFactory.createList();
                   ManagementChainListType managementListType = objFactory.createManagementChainListType();
                   // adding Resource in the management chain
                   ResourceType resourceChain = objFactory.createResourceType("fkafka");
                   resourceChain.setIsGroup(false);
                   resourceChain.setType("STATIC");
                   resourceChain.setIdentityType("user");
                   managementListType.getResource().add(resourceChain);
                   System.out.println("4");
                   // adding levels in the management chain
                   ParameterType levelParameterType = objFactory.createParameterType("2");
                   levelParameterType.setType("STATIC");
              managementListType.setLevels(levelParameterType);
                   System.out.println("5");
                   // adding title in the management chain                    
                   ParameterType titleParameterType = objFactory.createParameterType("Vice President");
                   titleParameterType.setType("STATIC");
                   managementListType.setTitle(titleParameterType);
                   System.out.println("6");
                   listType.setManagementChain(managementListType);
                   System.out.println("7");
                   seqParticipant.setList(listType);
                   System.out.println("8");
                   stage.getParticipantOrSequentialParticipantOrAdhoc().add(seqParticipant);
                   System.out.println("9");
              participants.getParticipantOrSequentialParticipantOrAdhoc().add(stage);
              System.out.println("10");
              return participants;
    The above code doesnot give error during execution but It doesnot work, what It's suppose to be...
    what It does is..It calls onInitiation method number of times [equal to the number of levels given in hierachy +1] at one shot. without being assigned to anybody and come out of the human task.
    please let me know..If am missing something...
    thanks
    Jagdish Khera

  • How to generate a Web Service Proxy for an ESB Routing Service?

    Hi,
    I have a SOAP service behind an ESB Routing Service. I am aware that i can call this ESB Service at the SOAP endpoint which can be found at the ESB Console after registration.
    But, i want to invoke this service using a Web Service Proxy. My understanding is that, i need to use the WSDL generated for the ESB Routing Service to generate the proxy. The WSDL which can be seen in JDeveloper does not have any soap bindings and hence the tool does not allow me to generate any proxy.
    Also, the two WSDLs whose URLs can be found at the ESB Console do not have the soap endpoint properties.
    Can someone help me out on the same?
    Thanks and regards,
    Priya.

    Priya,
    Just take the SOAP endpoint and suffix it with a ?wsdl
    Even the Concrete WSDL endpoint should be having a SOAP endpoint.
    HTH
    Uday

  • How to use routing service property value in xsl

    Hi All,
    I need to use routing service's property value in xsl.
    I created routing service in esb project. after routing rules, thare is properties. In properties I added name as "propval" and value as "required".
    I need to use value of propval in one of our xsl.
    Can you please suggest on this.
    I am using soa suite 10.1.3.4.0
    Thanks in advance.
    Edited by: vikky123 on May 2, 2010 1:36 AM

    Hi All,
    Right now i wud be starting working on BPEL in my project.
    I wud be working on XSLT in BPEL.
    I started from the basic things i.e the tutorial given on,
    http://www.oracle.com/technology/pub/articles/matjaz_bpel1.html
    But i was not getting which software to download from the link given below, for working on XSLT.I am a Java developer by profession and windows would be the operating system for that,
    http://www.oracle.com/technology/software/products/ias/bpel/index.html
    Kindly let me know, from where to start to get the basics right.
    Additional to it, whether i need to undergo the training for it.
    I got a course material for learning BPEL from a coaching institute site.Kindly view it....
    http://soatraining.hpage.com/oracle_soa_bpel_esb_training_82839535.html
    Wud it be sufficient...I mean wud i be able to learn it from internet without taking options of coaching.
    Kindly help me out.
    Thanks&Regards
    Sanket
    Edited by: user13096574 on May 9, 2010 9:55 PM

  • How to install [insert daemon here] as a service?

    Hi all!
    I've just installed Kerio Mailserver on Linux because I've got a Windows license and thought I'd move it over to Linux.
    Since Fedora and SUSE are the only officially supported distributions for this mailserver, it doesn't install itself as a service anywhere.
    My question is - How could I install this as a service so I can do /etc/rc.d/kerio start etc...? I've looked at the existing bash scripts in /etc/rc.d for other daemons but it's a bit tricky to understand.
    Is there a tutorial existing on this subject somewhere?
    Any help is MUCH appreciated!

    I don't know of any tutorial myself - picking apart some of the official init scripts was enough for me in most cases. There's one example, though, that might be useful here, and that's openswan, which by default, dumps a bunch of SysV scripts in /etc/rc*.d - does kerio do this, by any chance?
    Anyway, I worked around it by creating an Arch-style init script, which then calls the actual openswan init script. Here are some links if you want to check it out:
    Arch init script
    Openswan init script
    If this means nothing to you, post kerio's init script, or a link to it - maybe we can work something out.
    One last thing, probably unnecessary, but presumably you know that there is a wide choice of excellent open-source mail server applications available? 

  • I have a iphone 4s. when I insert a SIM say no service. how should I fix this.

    i have a iphone 4s. when I insert a SIM say no service.

    iOS: Not responding or does not turn on - Apple Support
    try this but maybe terminal if no result

Maybe you are looking for

  • I can't edit an event on September 30th 2012 in iCal?...

    I have my gmail calander linked with my iCal... i have input an event on Gmail calander and it has appeared on my iCal (a flight back home on September 30th 2012)... but on iCal it pops up on September 29th 2012. However, everything else is working f

  • Do I need to run sapinst at Oracle Server?

    Hi, I am installing an EP SP2 with Oracle. The database already exists in another machine and now I am trying to install the portal schemas at Oracle. Do I have to run sapinst at Oracle Server or the portal database installation could run remotely at

  • How to Set Image size in webdynpro abap application

    Hi Experts, I am using image ui elemnet in my webdynpro application and i am getting the image on application, but here the problem is i am getting the image too big now i want to set the image size. Please Provide me the requried infromation to clos

  • Adobe TV and flash player

    I tried to watch Adobe TV. It does not work. All I get is an empty white square with a red x in the upper left corner. It is the same on all computers and all operating systems that I have tried at home and at work (Windows XP Home Edition, Windows X

  • System restoration

    I have an HP Pavilion dv7 that was given to me but unfortunatly it has a bug. The problem is that  Windows vista only goes so far upon startup and then stops and says that it can't finish loading due to a problem. I have done all the tests, memory, h