Access Multiple Source Variables in Transform  Activity

We have a transform activity that fills a complex type from another complex type that is received from a webservice invoke activity.
One of the nodes in that destination complex type does not exist in the source complex type. The actual value of that destination node exists as a value in the current bpel process wsdl file, but I can't figure out how to set that value in the transform activity.
I've been trying to use the xpath document method to parse an external xml file to grab the node that contains the value. Here is my xsl transformation file. Notice the line that contains the document method call. Does this not work in the BPEL transformations? The error I always receive is.
Invalid XPath expression
Is there another way to access a second source file within a transformation xslt file?
<?xml version="1.0" encoding="UTF-8" ?>
<?oracle-xsl-mapper
  <!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
  <mapSources>
    <source type="WSDL">
      <schema location="StorePrice.wsdl"/>
      <rootElement name="GetPricingResponse" namespace="http://services.darr.fastenal.com/GetPrice/StorePriceOutput.xsd"/>
    </source>
  </mapSources>
  <mapTargets>
    <target type="WSDL">
      <schema location="TestMobilieQuote.wsdl"/>
      <rootElement name="TestMobilieQuoteProcessResponse" namespace="http://xmlns.oracle.com/TestMobilieQuote"/>
    </target>
  </mapTargets>
  <!-- GENERATED BY ORACLE XSL MAPPER 10.1.2.0.0(build 050923.1500) AT [THU FEB 02 14:10:26 CST 2006]. -->
?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:tns="http://services.darr.fastenal.com/GetPrice/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:ns0="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:s1="http://services.darr.fastenal.com/GetPrice/StorePriceOutput.xsd"
xmlns:s0="http://services.darr.fastenal.com/GetPrice/StorePriceInput.xsd"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
xmlns:client="http://xmlns.oracle.com/TestMobilieQuote"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
xmlns:ora="http://schemas.oracle.com/xpath/extension"
xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
exclude-result-prefixes=
"xsl tns mime wsdl soap12 http ns0 soap soapenc s1 s0 tm plnk client bpws ldap xp20 ora orcl">
  <xsl:template match="/">
    <client:TestMobilieQuoteProcessResponse>
      <client:result>
        <client:AccountNumber>
          <xsl:value-of select="document('TestMobilieQuote',/)/TestMobilieQuoteProcessRequest/CustomerNumber"/>
        </client:AccountNumber>
        <xsl:for-each select="/s1:GetPricingResponse/s1:GetPricingResult/s1:PricingInformation">
          <client:PartList>
            <client:PartNumber>
              <xsl:value-of select="s1:PartNumber"/>
            </client:PartNumber>
            <client:SellPrice>
              <xsl:value-of select="s1:SellPrice"/>
            </client:SellPrice>
            <client:IsValid>
              <xsl:value-of select="not(xp20:matches(s1:SellPrice,"^0$"))"/>
            </client:IsValid>
          </client:PartList>
        </xsl:for-each>
      </client:result>
    </client:TestMobilieQuoteProcessResponse>
  </xsl:template>
</xsl:stylesheet>

I noticed in my post that I had a copy error for the line in the xsl transformation that I have a question about. Here is the proper line
<xsl:value-of select="document('TestMobilieQuote.wsdl',/)/TestMobilieQuoteProcessRequest/CustomerNumber"/>

Similar Messages

  • Multiple source messages in transformation step in bpm

    Hello,
    I am using a transformation step in bpm, I have two source messages and 1 target message, I got an error 'expression must return the interface type XXXX(in source message)', I checked my source message in interface mapping and the container element, the types do match.
    All the interfaces in the OM as well as in the bpm container definition are of type abstract.
    It seems to have something to do with the interfaces belonging to different software components?
    I declared a usage dependency from one swcv (holding the bpm) to another (holding the abstract interfaces which cause the error in the transformation step), so that I can reference them in the bpm.
    I thought it might have something to do on how  the message interfaces are selected in the operation mapping. so I tried to select the messages through the depencency path, but that was of no help either.
    Have I been clear?
    Any ideas?
    Thanks
    Matthias

    Since no receiver information is available in the transformation step, there can be no value mapping within the transformation  step. If the messages to be transformed give values in different formats, for example different date formats, you must first normalize the values before the messages can be processed in the process. To do so, define a message mapping with a corresponding value mapping.
    Check the help page below for reference
    http://help.sap.com/saphelp_nwpi71/helpdata/en/27/db283fd0ca8443e10000000a114084/content.htm

  • Accessing multiple Automator variables in a Run Applescript action

    I have an Automator app set up with 4 variables feeding into a Run Shell Script with the following code. And it runs perfectly.
    /Applications/Adobe\ After\ Effects\ CC/aerender -sound ON -project $1 -comp "$2" -output $3/$4
    However, I need to be able to see the progress of the Script while it processes in the Terminal window. So, I'm setting up a Run AppleScript to tell Terminal to run the script, but I'm getting two problems.
    code:
    on run {input, parameters}
              set aVar to item 1 of input
              set bVar to item 2 of input
              set cVar to item 3 of input
              set dVar to item 4 of input
              tell application "Terminal"
      activate
                        do script "/Applications/Adobe\ After\ Effects\ CC/aerender -sound ON -project aVar -comp \"bVar\" -output cVar/dVar"
              end tell
    end run
    Problem 1--Either my syntax or method of setting the 4 variables to access the array of 4 input variables is wrong. And I don't know enough about AppleScript to figure it out.
    Problem 2-- AppleScript really doesn't like the spaces in "Adobe\ After\ Effects\ CC" even though the Terminal has no problem with it. But it errors out before it even gets to Terminal.
    Any help that anyone can give will be greatly appreciated.

    The backslash is also used as the escape character in an AppleScript string, so to actually get the character you need to escape it (you can also use the term quoted form of to let AppleScript figure out how to quote the string).  To use the variables, you need to use the concatentation operator to mix the variables and text pieces - by putting a variable inside the string the identifier just becomes text.
    Your string should look something like:
    "/Applications/Adobe\\ After\\ Effects\\ CC/aerender -sound ON -project " & aVar & " -comp " & bVar & " -output " & cVar & "/" & dVar
    or perhaps
    quoted form of "/Applications/Adobe After Effects CC/aerender" & " -sound ON -project " & aVar & " -comp " & bVar & " -output " & quoted form of (cVar & "/" & dVar)

  • BPEL Variables in to Transform activity (XSL)

    Hi,
    I need to access a BPEL variable from within a Transform activity (XSL).
    I need an output like this:
    <XML>
    <val1>1</val1>
    <val2>2</val2>
    <val3>3</val3>
    <val4>4</val4>
    </XML>
    Val1 and val2 is reachable from the xsd in the Transform activity (source variable). A DB-adapter is used to provide these data.
    Val3 and val4 is present in the BPEL, within BPEL variables.
    I have created a Transform activity with source = result of DP-adapter (val1 + val2), but will then need to get val3 + val4 (BPEL vars) from inside the Transform activity as well.
    How can I do this ?
    I have tried passing the variables in as parameters, but can't get this to work. I either only get the parameters, or only get the values from the DB-adapter, as it seems I only can have 1 source.
    Similar thread, but with no answer:
    Global Variables in to XSL

    Thank you for answering.
    The link you're referring to is the thing that I mentioned that I couldn't get to work.
    Works fine when just passing parameters, but when I already have a source (like my DB-adapter output), and want the parameters as well, it's getting tricky. Seems there can only be 1 source: Parameters or DB-adapter output.
    What I need is values from a source (DB-adapter output) + be able to send BPEL variables to the same Transform activity (XSL).
    Have you tried this ? Is it at all possible ?

  • Include variable into xpath expression of transformation activity

    Are we able to include variable from the BPEL process into the xpath expression of the transformation activity?
    I tried it but I received error saying it does not recognize the function bpws:getVariableData('loopCounter') when I included it into the xpath expression inside the transformation.
    Thanks.
    Kenny

    Maybe I am giving a bad example. Instead of bpws:getVariableData('loopCounter'), I need something like bpws:getVariableData('accountName') which is being used in the filter like /root/accounts/account[name=bpws:getVariableData('accountName')]
    The assign will not work in this xpath expression because it return multiple nodes in source.

  • How to pass parameter into a source variable of a invoke activity

    I'm an new BPELer, I created a invoke activity to submit Oracle Appplications concurrent program, but I don't know how to pass parameter into source variable.
    BTW, I have created the mapper file (.xsl) file.
    could anyone tell me how to do that?
    Thanks,
    Victor

    Hi.
    How you start application? I think you send message to webservice(BPEL process is webservice too). So construct message with variable and value.
    But I created only processes where input value doesn't matter. I haven't use mapper yet too.

  • HT201304 I need to restrict access to Settings on an iPad so settings like VoiceOver cannot be activated while letting them access multiple apps on the device. Is their any way to restrict access to settings without locking the device with a PIN?

    I need to restrict access to Settings on an iPad so settings like VoiceOver cannot be activated while letting them access multiple apps on the device. Is their any way to restrict access to settings without locking the device with a PIN?
    This is so our guests cannot tamper or disable the device. We are already using Apple Configurator but their does not seem to be a way to lock down settings without a PIN.

    There's a lot of restrictions information in Chapter 19 of the 4.2 User Guide.
    http://support.apple.com/manuals/#ipad
    By the way, a more extensive version of the User Manual is available at no charge through iBooks.

  • Multiple header variables in bpelx:inputHeaderVariable

    While investigating the use of the bpelx:inputHeaderVariable call for creating a SOAP message header, I found the following blog entry:
    http://chintanblog.blogspot.com/2007/12/insertextract-soap-headers-in-bpel-it.html
    The author creates three variables for passing security credentials in a SOAP message header, then invokes the partner link to the "secure" process using this Invoke activity:
    <invoke name="Invoke_ExtractHeaderProcess" partnerLink="ExtractHeaderBPELProject" portType="ns2:ExtractHeaderBPELProject" operation="process"
    inputVariable="Invoke_ExtractHeaderProcess_process_InputVariable" outputVariable="Invoke_ExtractHeaderProcess_process_OutputVariable"
    bpelx:inputHeaderVariable="Variable_Username, Variable_Password, Variable_ComplexCredentialElement"/>
    I downloaded his code to JDeveloper 10.1.3.3.0 and SOA Suite 10.1.3.1 and attempted to deploy it. I received the following error:
    BUILD FAILED
    C:\jdevstudio101330\jdev\mywork\InsertExtractHeaders\InsertHeaderVariables\build.xml:79: A problem occured while connecting to server "localhost" using port "8888": bpel_InsertHeaderVariables_1.0.jar failed to deploy. Exception message is: ORABPEL-05215
    Error while loading process.
    The process domain encountered the following errors while loading the process "InsertHeaderVariables" (revision "1.0"): Failed to compile classes.
    Failed to compile the generated BPEL classes for "InsertHeaderVariables".
    If you have installed a patch to the server, please check that the bpelcClasspath domain property includes the patch classes.
    at com.collaxa.cube.engine.deployment.CubeProcessHolder.bind(CubeProcessHolder.java:285)
    at com.collaxa.cube.engine.deployment.DeploymentManager.deployProcess(DeploymentManager.java:804)
    at com.collaxa.cube.engine.deployment.DeploymentManager.deploySuitcase(DeploymentManager.java:670)
    at com.collaxa.cube.ejb.impl.BPELDomainManagerBean.deploySuitcase(BPELDomainManagerBean.java:445)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    at com.evermind.server.ThreadState.runAs(ThreadState.java:620)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    at DomainManagerBean_RemoteProxy_4bin6i8.deploySuitcase(Unknown Source)
    at com.oracle.bpel.client.BPELDomainHandle.deploySuitcase(BPELDomainHandle.java:317)
    at com.oracle.bpel.client.BPELDomainHandle.deployProcess(BPELDomainHandle.java:339)
    at deployHttpClientProcess.jspService(_deployHttpClientProcess.java:376)
    at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
    at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:453)
    at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:591)
    at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:515)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
    at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:396)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:410)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
    at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
    at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
    at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:595)
    I had already attempted something similar in one of my own BPEL processes with the same erroneous result. The source of the problem would appear to be the list of multiple header variables since it disappears if a single variable is specified. Yet the author claims success with this technique.
    How can I get this to work?
    Thanks for your time,
    Paul Camann

    I see from Metalink that this topic was the subject of Bug 5623319, but it is difficult to tell from the trail of bread crumbs in the bug description whether (a) the bug was fixed, and if so, (b) the fix is included in JDev 10.1.3.3.0 or is a separate patch that must be applied. Clarification would be GREATLY appreciated.

  • How do I access the DCJMS* variables in my response SOAP:Header ?

    Hi all,
    I have set up a sync / async Integration Process in XI
    This is initiated by a SAP R/3 transaction that calls a synchronous function to enter XI
    Once in the Bridge, a JMS receiver adapter sends out an asynchronous request message from XI to MQ
    A correlation allows the JMS sender adapter to return an asynchronous response message from MQ to XI back into my the Integration Process
    I have set up the JMS sender adapter configuration to return the DC (dynamic configuration) variables in the <SOAP:Header> of the XI response message along with the payload
    You can see that the DCJMS* variables are returned below
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--
    Response
      -->
    - <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SOAP:Header>
    + <SAP:Main xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">
    + <SAP:ReliableMessaging xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
    + <SAP:HopList xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
    + <SAP:RunTime xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
    + <SAP:PerformanceHeader xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SAP:DynamicConfiguration xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSCorreleationID">40D982A0-B19D-11DB-9508-0002A5D5916B</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSTimestamp">1170297456940</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSMessageID">ID:414d5120514d4430312020202020202045c12b962001dd02</SAP:Record>
      </SAP:DynamicConfiguration>
    - <SAP:Diagnostic xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:TraceLevel>Information
    <b>Question</b>
    I want to access the DCJMS* variables but am not sure how to go about it as the
    variables exist in the <SOAP:Header>?
    I followed the SAP documentation to access adapter-specific attributes (refer to link http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm )
    I have used the following code to create a user-defined function for the accessing adapter specific attributes (similar to the link)
    public String Get_Msgid(Container container){
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get
    (StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create
    ("http://sap.com/xi/XI/System/JMS","DCJMSMessageID");
    String jmsMsgID = conf.get(key);
    return jmsMsgID;
    <b>Question</b>
    Do I use message mapping to extract the DCJMS* variables?
    <b>Question</b>
    If so then which message is used for the source message so that I can access the <SOAP:Header>?  Eg do I use the response message type or is there a trick to accessing the SOAP:Header?
    <b>Question</b>
    Do I use the user-defined function (like above)?
    I performed the following steps
    •     Opened the message mapping in edit mode
    •     Created the user-defined function using the graphical editor
    •     Saved the message mapping
    •     I have not connected the user-defined function to any of the xml tags in either the source or target messages
    When I go to test the message mapping I am getting the following error
    Compilation process error : CreateProcess: null\bin\javac -J-Xmx256m @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/O1170817003886.txt @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/S1170817003886.txt error=2
    STACKTRACE:
    com.sap.aii.ib.core.mapping.exec.ExecuteException: Compilation process error : CreateProcess: null\bin\javac -J-Xmx256m @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/O1170817003886.txt @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/S1170817003886.txt error=2
    at  com.sap.aii.ib.server.mapping.exec.ServiceUtil.compileSourceCode(ServiceUtil.java:207)
    at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compile(ServiceUtil.java:156)
    at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCode(ServerMapService.java:361)
    at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCodeWithoutAndWithArchives(ServerMapService.java:301)
    at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:153)
    at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52)
    at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.execute(MapServiceRemoteObjectImpl0.java:259)
    at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:146)
    at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:304)
    at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:193)
    at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:122)
    at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
    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:100)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    A thread in the SDN (Error while Activating Message Mapping, Posted: Jan 9, 2007 3:32 PM) suggests checking the java path on the XI machine
    This is JAVA_HOME=C:\j2sdk1.4.2_08 and seems ok
    <b>Question</b>
    Do you know why I would get the compilation error?
    Any assistance would be appreciated
    Regards,
    Mike

    Jin,
    My compilation issue has gone via a SAP recommendation to specify the JDK home directory in the instance profile
    Back to the mapping - I can now run my scenario
    <b>Source message</b>
    The response message has the following <SOAP:Header> from which I want to extract the DCJMSCorreleationID (note that it's misspelt)
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Response
      -->
    - <SAP:DynamicConfiguration xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSCorreleationID">40D982A0-B19D-11DB-9508-0002A5D5916B</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSTimestamp">1170297456940</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSMessageID">ID:414d5120514d4430312020202020202045c12b962001dd02</SAP:Record>
      </SAP:DynamicConfiguration>
    <b>Grahpical mapping</b>
    LHS - Response message with occurrance 0..1 so it is not connected to my UDF
    UDF Get_Corrid with no inputs
    RHS - The UDF output is connected to the Acknowledgement msg tag <ACK>
    <b>UDF</b>
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get
    (StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create
    ("http://sap.com/xi/XI/System/JMS","DCJMSCorreleationID");
    String Corrid = conf.get(key);
    return Corrid;
    <b>Target message</b>
    The idea is to copy the correlation id of the response message into the acknowledgement message.  But as you can see the result is NULL
      <?xml version="1.0" encoding="utf-8" ?>
    - <ns2:AWB0020_MARKET_DATA_RESPONSE_ACK xmlns:ns2="http://awb.com.au/mq/tx/MarketData">
      <ACK>null</ACK>
      </ns2:AWB0020_MARKET_DATA_RESPONSE_ACK>
    Please advise
    Thanks Mike

  • Transform Activity in BPEL

    Hi,
    I have a question in transform activity in BPEL. Basically my composite consists of a DB adapter polling for records. when it gets the records, i will insert the same records in the database. So, here in the BPEL i have a while loop which iterates the number of record times. In each while loop, i will insert that iteration record in the table. I can do this using assign activity and point to that specific record using the xpath and all. But, i want to use the transform activity instead and assign the current record of that iteration to the Db insert input variable. Basically, i need to add a variable to the XSL Map and that variable needs to be incremented in each while loop. Any inputs appreciated.
    Thanks,
    N

    Hi Eric,
    This is my source code in XSL Map.
    <xsl:param name="newCType"/>
    <xsl:template match="/">
    <ns1:Testnew2Collection>
    <ns1:Testnew2>
    <ns1:id1>
    <xsl:value-of select="/ns0:Testnew1Collection/ns0:Testnew1[$newCType/ns3:element2/ns3:element3]/ns0:id1"/>
    </ns1:id1>
    <ns1:id2>
    <xsl:value-of select="/ns0:Testnew1Collection/ns0:Testnew1[$newCType/ns3:element2/ns3:element3]/ns0:id2"/>
    </ns1:id2>
    </ns1:Testnew2>
    </ns1:Testnew2Collection>
    </xsl:template>
    </xsl:stylesheet>
    You can see above that i have declared a complex type and in that i have created an element of type string. So, newCType is of that complex type because inorder to add for transformation input , we cannot add directly the string or integer variables right. So, when my BPEL process is getting 5 rows as input, in each of the while loop iteration the same first row is getting assigned.
    How to indexing here in this source code ?
    Please help...
    Thanks,
    N

  • How to load from multiple sources to multiple destination dynamically

    I have more than hundred tables  in a different server (lets say on a sql server 1). I have to perform load,by getting change records copy of those hundred tables with the some condition in to sql server 2 destination. I know how to perform data
    flow task in SSIS to extract data from a source and load it in a destination. With more than hundred tables, I would need to create more than hundred data flow tasks which is very time consuming. So I have heard about from source to destination dynamically
    by looping through and creating variables. Now, how do I do this? Remeber, those hundred tables do having similar column names in both soruce and destination server. How can I perform this initial load faster without using multiple data flow task in SSIS.
    Please, help! Thank you!

    Ok , if the schema of both the source and destination is same , you can just perform an import and export tool and then it can be saved as an SSIS package. If this needs to be separately developed in an SSIS package, the logic can be :
    1 - Get the list of tables using sysobjects or metadata table where all the table list is maintained.
    2 - Loop through those tables using for each loop.
    3 - Inside the for each loop , use a script to access the source connection ( OLEDB source table name) and the destination connection (OLEDB destination table name).
    4 - Assign the source table connectoin dynamically to the variable fecthed from for each loop above.
    5 - You can also use expressions for the OLEDB source table name and OLEDB destination name inside the data flow task.
    6 - At the end the data flow task which is explained above will be used.
    Script task and the data flow task will be used inside the for each loop , above which all the objects list will be fetched using execute sql task using a SELECT and assigned to Object variable.
    Simplest will be Import and Export.
    Happy to help! Thanks. Regards and good Wishes, Deepak. http://deepaksqlmsbusinessintelligence.blogspot.com/

  • Transform Activity

    Can Transform Activity in BPEL Process have Multiple Input Scource Schema to Feed Destination Schema
    I want schemas s1. s2. s3 feed destination d1?
    is it possible?

    Also, if you just need to pass in a handful of other values (not in the input schema), you can use parameters. Something along the lines of this: http://sathyam-soa.blogspot.com/2009/05/passing-bpel-variables-to-xsl.html

  • Using the XPATH expression function in Transformation activity

    Hi,
    I have to map the variable value(other than the source variable) to one of the node in the target variable in the transformation activity. For that I am using the XPATH expression function bpws:getVariableData ('variableName') and map it to corrsponding target node. But this mapping is not at all happening. The same prolem occurs while using function ora:getInstanceID() in transformation function. Then I could find a metalink note id: 387381.1,saying it as the bug in 10.1.2.2 BPEL PM, which they are covering in the next release. But our BPEL PM version is 10.1.3.3. But still the same type of problem occurs.
    Please let me know, is there are any solution for using the ora:getInstanceID() , bpws:getVariableData in Transformation activity.

    Hi,
    I dont understand why would you need to use the "bpws:getVariableData" function.
    When you are mapping a source-node to a target-node, it usually assigns the value in the source-node to the target-node, which is as good as using the "bpws:getVariableData" function.
    So, technically speaking you need to use this function explicitly to achieve that ...
    Also, if you want the instance-id, you can use the "ora:getInstanceId()" directly in the BPEL code than using it in the transformation.
    Regards,
    Madhu.

  • Transform Activity Problem - The Target is mismatched from the one in ...

    Hi everyone,
    When I double click Transform activity, It pop up an error message said "The Target is mismatched from the one in transformation file".
    Could anyone tell me how to solve the problem???
    Thanks....
    Elvis.

    You transform the result into some bpel-variable.
    The mismatch may be between the type of that bpel-variable compared to the type declared as the target of the transformation. The target is given by an xsd-reference in the xml-comments in the header of the xslt-file (source view).
    Hope this helps.
    /CadB

  • Invoking Stored Procedure - Transform Activity

    I am attempting to invoke a PL/SQL stored procedure via the database adapter in BPEL (10.1.3.1). The stored procedure is very simple and takes 2 parameters:
    PROCEDURE log_admission(p_px_id NUMBER, p_cons_lev NUMBER) IS
    BEGIN
    UPDATE nhscont_px
    SET pat_admitted = 'Y',
    pat_admitted_date = sysdate
    WHERE pat_match_id = p_px_id;
    END;
    The BPEL flow has the following activities:
    Recieve
    Transform
    Invoke => DB Adapter, with package / procedure selected
    Reply
    I have created a variable of type: MessageType: PartnerLink: DbAdapterCall: args_in_msg.
    In the Transform activity, I have selected the inputVariable/Payload as the source, and the defined variable/Inputparameters as the destination. I have created a mapping file and mapped the variables between schemas.
    I have set the input variable of the process as the variable created above.
    When I deply and execute the process, the record does not update, although the PL/SQL is being executed. It looks like the parameters are not being passed in correctly.
    Does anyone have any ideas as to what I could be doing wrong here?
    Thanks
    Message was edited by:
    steve_macleod

    Seeing the parameters being passed in to the procedure on the invoke activity.
    Does the Invoke activity in BPEL have the values you are transforming?
    Kalidass
    http://oraclebpelindepth.blogspot.com/

Maybe you are looking for