Conditional branch

Hi All!
I have a sequence:
TEST#1
TEST#2
TEST#3
TEST#4
TEST#5
MESSAGE
GOTO (TEST#8)
TEST#6
TEST#7
TEST#8
In MESSAGE in Preconditions I check if all tests(TEST#1- TEST#5) PASS.
In Post Action: ON Pass – Goto step – TEST#6.
So I expect if preconditions is True it’s skips GOTO (TEST#8) and goes to TEST#6, otherwise it skips MESSAGE and goes to GOTO (TEST#8).
Actually in any case sequence goes to GOTO (TEST#8) and skips TEST#6 and TEST#7.
How can I deal with the problem?

I figured out how to do it:
TEST#1
TEST#2
TEST#3
TEST#4
TEST#5
GOTO (TEST#8)
TEST#6
TEST#7
TEST#8
In GOTO  in Preconditions I check if ANY OF the  tests(TEST#1- TEST#5) FAIL.

Similar Messages

  • Follow-up on Conditional Branching

    Good day!
    I was able to add conditional branching as per Lily's(biri) instructions (please refer to this thread) but I noticed that it no longer works for one of the buttons AFTER I added a rollover caption, even after I removed the captions. Any thoughts on this please?
    Please advise. Thanks!

    Thank you for replying Lily.
    Here's what I have - the menu slide where I applied the conditional branching:
    And this is how the other slides look like:
    Before I applied the rollover captions, it worked as intended: learner clicks either buttons and is returned to slide_menu. If the learner has viewed both, it jumps to the activity (slide #36).
    After I applied the rollover captions, the button 1's behavior does not follow the conditions, i.e. I start with button #2 > slide 35 > slide_menu > button #1 > slide 34 > slide 35 > slide 36. It should not go to slide 35 a second time.
    Does this help? Much obliged!

  • OSB conditional branches

    Hi,
    I have problem with conditional branches in OSB.
    I have 2 business services and 1 proxy service which route message to one of 2 business services.
    Conditional branch look like this:
    XPath: ./ter:process/ter:provider
    In Variable: provider
    TerminalKingBranch look like this:
    Label: TerminalKing
    Operator: =
    Value: "King"
    Message is never routed by TerminalKingBranch even message is <ter:process><ter:provider>King</ter:provider></ter:process>
    I try repalce double quotes with single quotes without effect.
    Message is always routed by Default route node.
    Please help.
    Thanks.

    <?xml version="1.0" encoding="UTF-8" ?>
    <schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/project/TerminalService/TerminalService"
    xmlns:tns="http://xmlns.oracle.com/project/TerminalService/TerminalService"
    xmlns="http://www.w3.org/2001/XMLSchema">
    <element name="process">
    <complexType>
    <sequence>
    <element name="provider" type="string"/>
    <element name="serviceId" type="decimal"/>
    <sequence>
    <element name="param1" type="string"/>
    <element name="param2" type="string"/>
    <element name="param3" type="string"/>
    </sequence>
    </sequence>
    </complexType>
    </element>
    <element name="processResponse">
    <complexType>
    <sequence>
    <element name="status" type="string"/>
    </sequence>
    </complexType>
    </element>
    </schema>
    This is View Stage Configuration      : Route Node
    Route to [ TerminalService ] invoking [ process ]
    Request Actions:
    Assign [ XQuery Resource... ]
    XQuery Resource: Project/Processes/TerminalService/TerminalServiceRequest Variable Names And Bindings: source - $body/ter:process
    to [ transformedRequest ]
    Replace [ node contents ] of [ . ]
    in [ body ] with [ $transformedReq... ]
    $transformedRequest
    Response Actions:
    Assign [ XQuery Resource... ]
    XQuery Resource: Project/Processes//TerminalService/TerminalServiceResponse Variable Names And Bindings: sourceProcessResponse - $body/ter:processResponse
    to [ transformedResponse ]
    Replace [ node contents ] of [ . ]
    in [ body ] with [ $transformedRes... ]
    Edited by: Peter551059 on Jun 9, 2011 11:34 PM

  • Error using conditional branch node in OSB

    Hi,
    We are using Oracle Service Bus in our project. I have created the following steps in the OSB Proxy Service:
    1) Assigning a value in a variable inside a request pipeline.
    2) I am using a Conditional Branch after the pipelined pair. The branching will happen according to the value of that variable, I assigned in the pipelined pair.
    Here we are getting an error in OSB test console:
    The invocation resulted in an error: Unknown error while processing message for service ProxyService MHEducation/CCAuthorization/CCAuthorizationProxyService.
    I am getting the following log in the console:
    <Nov 5, 2009 6:14:04 PM IST> <Error> <OSB Kernel> <BEA-382016> <Failed to instantiate router for service ProxyService MHEducation/CCAuthorization/CCAuthorizationProxyService: com.bea.wli.sb.management.BrokerManagementException: com.bea.wli.
    sb.stages.StageException: The xquery cannot have an unbound current node.com.bea.wli.sb.management.BrokerManagementException: com.bea.wli.sb.stages.StageException: The xquery cannot have an unbound current node.
    at com.bea.wli.sb.pipeline.BranchNode.<init>(BranchNode.java:89)
    at com.bea.wli.sb.pipeline.RouterCompiler.compileNode(RouterCompiler.java:129)
    at com.bea.wli.sb.pipeline.RouterCompiler.compileFlow(RouterCompiler.java:115)
    at com.bea.wli.sb.pipeline.Router.<init>(Router.java:135)
    at com.bea.wli.sb.pipeline.RouterCompiler.compileRouter(RouterCompiler.java:89)
    Truncated. see log file for complete stacktrace
    com.bea.wli.sb.stages.StageException: The xquery cannot have an unbound currentnode.
    at com.bea.wli.sb.stages.expressions.ExpressionHelper.validateXQuery(ExpressionHelper.java:481)
    at com.bea.wli.sb.stages.expressions.ExpressionHelper.validate(ExpressionHelper.java:59)
    at com.bea.wli.sb.stages.expressions.ExpressionHelper.getExecutor(ExpressionHelper.java:325)
    at com.bea.wli.sb.stages.expressions.ExpressionBuilderImpl.getExecutor(ExpressionBuilderImpl.java:151)
    at com.bea.wli.sb.stages.expressions.ExpressionBuilderImpl.getExecutor(ExpressionBuilderImpl.java:143)
    Truncated. see log file for complete stacktrace
    >
    Any suggestion why am I getting the error?
    Chandrachur.

    check if your conditional branch uses quotes around the compaired value
    so
    /body/myinput = 'myvalue' instead of
    /body/myinput = myvalue

  • Unable to use X Query function in  the conditional branch of Proxy Service

    Hi all,
    I need to check the string length of a node then depending on that have to call two different business services. i have added a conditional branch inside
    the proxy service. Now when I use the below expression in the I get an error
    fn:string-length(./braz:BrazilianPropertyAddress/braz:postcode)
    in variable i have given body
    I am getting the following error
    X path expression invalid not a selection declare namespace jca ="" ......................
    If I give the expression without any stringlength function there is no problem
    Kindly help

    Hi Anuj,
    Tried with text() its still throwing the same error
    [BranchNode1] Conditional branch node specifies an invalid xpath: An error was reported compiling the XPath expression: XQuery exception: line 32, column 18: {err}XP0008 [{bea-err}XP0008a]: Variable "$body" used but not declared for expression: declare namespace jca = 'http://www.bea.com/wli/sb/transports/jca';
    declare namespace wsp = 'http://schemas.xmlsoap.org/ws/2004/09/policy';
    declare namespace jms = 'http://www.bea.com/wli/sb/transports/jms';
    declare namespace tp = 'http://www.bea.com/wli/sb/transports';
    declare namespace xs = 'http://www.w3.org/2001/XMLSchema';
    declare namespace sftp = 'http://www.bea.com/wli/sb/transports/sftp';
    declare namespace flow = 'http://www.bea.com/alsb/flow/transport';
    declare namespace jpd = 'http://www.bea.com/wli/sb/transports/jpd';
    declare namespace soap-env = 'http://schemas.xmlsoap.org/soap/envelope/';
    declare namespace wsu = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd';
    declare namespace dsp = 'http://www.bea.com/dsp/transport/sb';
    declare namespace ejb = 'http://www.bea.com/wli/sb/transports/ejb';
    declare namespace wsa = 'http://schemas.xmlsoap.org/ws/2004/08/addressing';
    declare namespace bpel-10g = 'http://www.bea.com/wli/sb/transports/bpel10g';
    declare namespace tuxedo = 'http://www.bea.com/wli/sb/transports/tuxedo';
    declare namespace file = 'http://www.bea.com/wli/sb/transports/file';
    declare namespace ctx = 'http://www.bea.com/wli/sb/context';
    declare namespace fn = 'http://www.w3.org/2004/07/xpath-functions';
    declare namespace soap12-enc = 'http://www.w3.org/2003/05/soap-encoding';
    declare namespace soap12-env = 'http://www.w3.org/2003/05/soap-envelope';
    declare namespace fn-bea = 'http://www.bea.com/xquery/xquery-functions';
    declare namespace ws = 'http://www.bea.com/wli/sb/transports/ws';
    declare namespace http = 'http://www.bea.com/wli/sb/transports/http';
    declare namespace email = 'http://www.bea.com/wli/sb/transports/email';
    declare namespace ftp = 'http://www.bea.com/wli/sb/transports/ftp';
    declare namespace sb = 'http://www.bea.com/wli/sb/transports/sb';
    declare namespace xsd = 'http://www.w3.org/2001/XMLSchema';
    declare namespace soap-enc = 'http://schemas.xmlsoap.org/soap/encoding/';
    declare namespace xsi = 'http://www.w3.org/2001/XMLSchema-instance';
    declare namespace b = 'http://xmlns.oracle.com/B';
    declare namespace add = 'http://schemas.xmlsoap.org/ws/2003/03/addressing';
    fn:string-length($body/b:BProcessRequest/b:b/text())..

  • Unable to customize condition branch

    Hello,
    I'm having a strange issue where I want to put some content in Starter Edition "Virtual Server Post-provisioning" process which sould be allowed as this process has the "workflow" customizable flag.
    I've been able to add some activities but when it comes to a condition branch, I can add it but not configure it, see screenshot below:
    Any hint on what I'm doing wrong ?
    Regards,
    Pierre

    Hi Julio,
    Thank you for your answer.
    I am running Starter Edition 3.0.1 with CPO 2.3.0 and fololowing patches :
    - 2.3.0 Hotfix1
    - 2.3.0 Hotfix2
    - 2.3 Content Update 1
    Which gives this:
    Which patches do you suggest I apply ?
    Thank you.
    Regards,
    Pierre

  • Conditional Branch after an service callout

    Hi All
    I am new to configuring services in OSB.What i want to do is first call a service and depending upon the returned value ,route to other services.But the result of the service callout is availabe in a variable ,say responseBody,and for conditional branch we need only xpath/xquery to test conditions.
    Please Help.
    Regards,
    Chinmay

    Hi All
    I am new to configuring services in OSB.What i want to do is first call a service and depending upon the returned value ,route to other services.But the result of the service callout is availabe in a variable ,say responseBody,and for conditional branch we need only xpath/xquery to test conditions.
    Please Help.
    Regards,
    Chinmay

  • Conditional Branch Execution?

    OK, Newbie here (and a bit frustrated). First application in the works.
    I have 2 ways to get to a page. When I click on the "Create" button, I want to return to the page that called the current page.
    Call them pages 1, 2 and 3.
    The default branching (unconditional branch) is 1 to 3 back to 1. This is a report to form back to report. This is the structure generated when I added the page when I initially generated the application.
    The secondary branching (conditional branch) is 2 to 3 back to 2.
    I set the sequence of the branches to do the conditional branch 1st then the unconditional branch 2nd.
    The "back to 2" is the problem.
    When I set it to "Unconditional" it works. When I set a condition it doesn't work.
    I tried "Request = Expression 1". I set the REQUEST in the button on page 2 to a specific value ("RETURN_TO_2"), but I suspect that when I click the "CREATE" on page 3 the REQUEST value is set to something else.
    So I tried saving the value of the REQUEST from page 2 in a page item on page 3 (P3_X) and used "Value of Expression 1 = Expression 2".
    I tried "P3_X", ":P3_X", "&P3_X", "v('P3_X')" in Expression 1 and RETURN_TO_2, "RETURN_TO_2" in Expression 2 (I think all possible combination of the to expressions).
    None of the combinations does the conditional branch!
    Any suggestions as to where I should go next?
    Thanks - JR

    John:
    I have found it helpful to use the 'Branch to Page Identified by Item (Use Item Name) ' type of branch in such cases.
    I specify the the page to return to in an application_item. The application_item itself is populated by a before header application_process. So if 'G_DEST' is the application item then the application_process simply is
    :g_DEST:= :app_page_id;In your case the branch defined in page 3 will be of the 'Branch to Page Identified by Item (Use Item Name) ' type and use the application_item 'G_DEST' as the item that holds the page-number that is to be the destination for the branch.
    Varad

  • Conditional branching in ALSB

    Hi,
    I have used a conditional branch inside (jms based) ALSB proxy which branches out based on the value of JMS header.The requirement is to shift control to a single branch for multiple values i.e:
    If
    ./ctx:transport/ctx:request/tp:headers/jms:JMSCorrelationID/text() in variable inbound
    has value:
    GI_1 or GI_2 or GI_3 then route to GI branch
    VB then route to VB branch etc
    For more than 1 value (i.e GI_1,GI_2,GI_3),control needs to be shifted to a specific branch.
    I have tried using OR without success.Any suggestions as to how to implement this.
    Thanks.
    Arti

    Hi,
    I have used a conditional branch inside (jms based) ALSB proxy which branches out based on the value of JMS header.The requirement is to shift control to a single branch for multiple values i.e:
    If
    ./ctx:transport/ctx:request/tp:headers/jms:JMSCorrelationID/text() in variable inbound
    has value:
    GI_1 or GI_2 or GI_3 then route to GI branch
    VB then route to VB branch etc
    For more than 1 value (i.e GI_1,GI_2,GI_3),control needs to be shifted to a specific branch.
    I have tried using OR without success.Any suggestions as to how to implement this.
    Thanks.
    Arti

  • Conditional Branching in Oracle Service Bus

    Can anyone help me to find one sample project on Conditional Branch in OSB.
    The main difficulty I am facing is to fetch the plain text value (which will be used to choose the branch) from an xml node using XPath.
    I think one example project on Conditional Branching in OSB will be very much helpful.
    Can anyone help me please.

    No, there is no such constraint to implement Service Key Provider while using HTTPS call, We can also use Username and Password (basic Authentication) method.

  • Conditional Branching with quiz slides not working

    Attempting to use conditional branches with quiz slidescauses
    the other quiz slides in my presentation to not work correctly. I
    am attempting to create a 'test-out' pre-quiz for a segment of
    slides in the presentation. I followed the instructions to add
    conditional branching per page 46 of the Breeze Presenter User
    Guide to obviously no avail. Is there a simple straightfoward
    manner in which someone has successfully used conditional branches
    with their quiz slides in their presentation?

    Hi,
    I had the same issue.Apparently as of now PDF templates do not support conditional formatting for XML Publisher.
    See Tim Dexter's response to my query at the bottom of this thread...
    Re: Using the '%' operator in microsoft word template builder for XMLP
    I could get some conditional formatting to work on the pdf template but only for the form field font,size and styles using Javascript, but I don't think there is a way to display values for the form field based on an if condition...
    Lavina

  • Conditional Branch Node in OSB

    Hi There,
    I'm trying to set a Conditional Branch in the beginning of my Proxy Service, i'm trying to compare to fields of the body, but when i build the xpath to compare this 2 fields i'm obtaining a compilation error.
    My xpath line is :
    fn:compare(./cre:Trace_PM/trac:Trace_PM/trac:traceLevel/text(), ./cre:Trace_PM/cre:Level/text())
    And the error is :
    XPath expression invalid, not a selection: declare namespace trac = 'http://www.ferrovial.es/XSD/Trace';
    declare namespace cre = 'http://www.ferrovial.es/XSD/CreateTrace_PM';
    declare namespace jca = 'http://www.bea.com/wli/sb/transports/jca';
    declare namespace wsp = 'http://schemas.xmlsoap.org/ws/2004/09/policy';
    declare namespace jms = 'http://www.bea.com/wli/sb/transports/jms';
    declare namespace wsa05 = 'http://www.w3.org/2005/08/addressing';
    declare namespace tp = 'http://www.bea.com/wli/sb/transports';
    declare namespace jejb = 'http://www.bea.com/wli/sb/transports/jejb';
    declare namespace xs = 'http://www.w3.org/2001/XMLSchema';
    declare namespace sftp = 'http://www.bea.com/wli/sb/transports/sftp';
    declare namespace flow = 'http://www.bea.com/alsb/flow/transport';
    declare namespace soap-env = 'http://schemas.xmlsoap.org/soap/envelope/';
    declare namespace wsu = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd';
    declare namespace dsp = 'http://www.bea.com/dsp/transport/sb';
    declare namespace ejb = 'http://www.bea.com/wli/sb/transports/ejb';
    declare namespace wsa = 'http://schemas.xmlsoap.org/ws/2004/08/addressing';
    declare namespace bpel-10g = 'http://www.bea.com/wli/sb/transports/bpel10g';
    declare namespace tuxedo = 'http://www.bea.com/wli/sb/transports/tuxedo';
    declare namespace file = 'http://www.bea.com/wli/sb/transports/file';
    declare namespace ctx = 'http://www.bea.com/wli/sb/context';
    declare namespace fn = 'http://www.w3.org/2004/07/xpath-functions';
    declare namespace soap12-enc = 'http://www.w3.org/2003/05/soap-encoding';
    declare namespace soap12-env = 'http://www.w3.org/2003/05/soap-envelope';
    declare namespace fn-bea = 'http://www.bea.com/xquery/xquery-functions';
    declare namespace ws = 'http://www.bea.com/wli/sb/transports/ws';
    declare namespace soa-direct = 'http://www.bea.com/wli/sb/transports/soa';
    declare namespace http = 'http://www.bea.com/wli/sb/transports/http';
    declare namespace email = 'http://www.bea.com/wli/sb/transports/email';
    declare namespace ftp = 'http://www.bea.com/wli/sb/transports/ftp';
    declare namespace sb = 'http://www.bea.com/wli/sb/transports/sb';
    declare namespace xsd = 'http://www.w3.org/2001/XMLSchema';
    declare namespace soap-enc = 'http://schemas.xmlsoap.org/soap/encoding/';
    declare namespace xsi = 'http://www.w3.org/2001/XMLSchema-instance';
    fn:compare(./cre:Trace_PM/trac:Trace_PM/trac:traceLevel/text(), ./cre:Trace_PM/cre:Level/text()).
    I was checking in the forum and i found a similiar issue but i saw that it was not answered. Do you know which is the reason to this issue in conditional branchs on OSB?
    Regards
    Yuri

    Hi Yuri,
    From the OSB documentation -
    Conditional branching is driven by a lookup table with each branch tagged with a simple, but unique, string value. A variable in the message context is designated as the lookup variable for that node, and at run time, its value is used to determine which branch to follow. If no branch matches the value of the lookup variable, the default branch is followed. You should design the proxy service in such a way that the value of the lookup variable is set before reaching the branch node.Does your case fulfill above criteria? Please let us know your use case in detail.
    Regards,
    Anuj

  • Conditional branching in OSB

    Hi,
    I wan to use conditional branching in OSB for a WSDL WS.I am not able to use operationl branching because the method names and request message names are different.
    I want to do conditional branching based on operations or request messages.
    For example if operation name and request msgs are as below,
    add , addRequest
    minus , minusRequest
    What should I give for the "Selected path" and "variable" in the condtions?
    Thanks.

    Can you paste the Message section please, where you are defining the Part of request and response.
    The part should be element based and not type based for Operational Branching to work.
    I did a test and its working correctly, Find the WSDL I used below:
    <definitions
      name="Test"
      targetNamespace=
        "http://tempuri.org/OTN.wsdl"
      xmlns="http://schemas.xmlsoap.org/wsdl/"
      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
      xmlns:tns=
        "http://tempuri.org/OTN.wsdl"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:wsx=
       "http://tempuri.org/OTN">
      <types>
        <xsd:schema
          targetNamespace=
            "http://tempuri.org/OTN"
          xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
          xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema">
          <xsd:element name="AddRequest">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element maxOccurs="1" minOccurs="1" name="operand1"
                 nillable="true" type="xsd:decimal"/>
              <xsd:element maxOccurs="1" minOccurs="1" name="operand2"
                 nillable="true" type="xsd:decimal"/>
            </xsd:sequence>
          </xsd:complexType>
         </xsd:element>
    <xsd:element name="MinusRequest">
          <xsd:complexType >
            <xsd:sequence>
              <xsd:element maxOccurs="1" minOccurs="1" name="operand1"
                 nillable="true" type="xsd:decimal"/>
              <xsd:element maxOccurs="1" minOccurs="1" name="operand2"
                 nillable="true" type="xsd:decimal"/>
            </xsd:sequence>
          </xsd:complexType>
         </xsd:element>
        </xsd:schema>
      </types>
      <message name="addRequest">
        <part name="addRequest" element="wsx:AddRequest"/>
      </message>
       <message name="minusRequest">
        <part name="minusRequest" element="wsx:MinusRequest"/>
      </message>
      <message name="Response1">
        <part name="Result" type="xsd:string"/>
      </message>
        <message name="Response2">
        <part name="Result" type="xsd:string"/>
      </message>
      <portType name="Test">
        <operation name="add">
          <input message="tns:addRequest"/>
          <output message="tns:Response1"/>
        </operation>
        <operation name="minus">
          <input message="tns:minusRequest"/>
          <output message="tns:Response2"/>
        </operation>
      </portType>
      <binding name="Test" type="tns:Test">
        <soap:binding style="document"
          transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="add">
          <soap:operation soapAction="add"/>
          <input>
            <soap:body use="literal" />     
          </input>
          <output>
            <soap:body use="literal"/>
          </output>
        </operation>
        <operation name="minus">
          <soap:operation soapAction="minus"/>
          <input>
            <soap:body use="literal" />     
          </input>
          <output>
            <soap:body use="literal"/>
          </output>
        </operation>
      </binding>
      <service name="Test">
        <documentation>Test</documentation>
        <port name="Test" binding="tns:Test">
          <soap:address
            location="http://localhost:8090/Test"/>
        </port>
      </service>
    </definitions>

  • OSB 11g: Conditional Branch value will not accept string Value

    OSB 11g 11.1.1.3.0 (OSB11_MAIN_GENERIC_100418.1323885)
    When I edit a message flow and create a conditional branch I:
    1. Enter an Xpath expression
    2. Name the variable containing the XPath expression
    3. Select an operator (=)
    4. Enter a string value for Value: 'true'
    5. Give the label a name (isMember)
    6. Save my work
    7. When I go back into the branch the 'true' value is gone and the Value field is blank.
    If I enter a number it saves fine - only when I enter text with single quotes
    is this a known bug?

    Thank you, however I still think this is a bug because:
    1. Version 10g training materials has this example as a lab exercise and says in particular 'make sure to place single quotes around the text string: 'true')
    2. The documentation for 11g says to enter a value but does not say it cannot be a 'string'
    3. If I don't enter any value for the value field, when I click Save it indicates an error -the field cannot be empty. When I place a numeric in the field(unquoted) I can save it and return to it and the numeric value is still there. If I enter a 'quoted string' I can save it but when I return to it, it is gone
    4. If I enter the same information using the eclipse IDE I can see the 'quoted string' is saved and when I view it (not edit but view) in the web IDE (sbconsole) I can see the 'quoted string'. If I edit it the string disappears.
    I will continue to test. While you may be correct and the intent is to accept only numerics, that does not make sense to me. Why not allow simple and fast conditional branching based on text string values in a message? I know I can use other mechanisms to achieve the same goal: a routing table would work also.
    My point was the behavior of the UI implies a bug.
    Edited by: jo**** on Nov 21, 2010 8:44 AM

  • OSB 11g - Conditional Branch Problem using attribute selection

    Folks,
    Came across a problem using OSB Conditional Branch using attribute selection, it fails & is most likely a bug. It was bug in ALSB2.5 but read in forums was fixed in ALSB 2.6
    things I am doing -
    1. In the Msg Flow, Conditional branch is @ the start of the flow
    Xpath :- ./cm:processLineItem/cm:lineItem/@actionCode
    In-Variable: - body
    Label: - MODIFY
    Operator:- =
    Value:- 'Modify'
    It fails with BEA-382000 error Code
    <con:errorCode>BEA-382000</con:errorCode>
         <con:reason>
         com.bea.wli.sb.stages.StageException: {bea-err}TYPE003: Runtime Type Mismatch
         </con:reason>
    What could be wrong with Xpath or is it a Bug ?
    Thanks,
    Abhijeet

    Hi Abhijeet,
    Your case is re-producible. It may be a bug.
    BTW, I have noticed a strange behaviour -
    1. If there is only one attribute then it works fine (<cus:lineItem actionCode="Modify")
    2. If the attribute which you want to refer in selection, is in the last then also it works fine (<cus:lineItem priorityRanking="201" quantity="1"> actionCode="Modify")
    So I will suggest you to raise a case with support and meanwhile as a workaround I would suggest you to use actionCode attribute in the last of lineItem node. So your XML should be like -
    <soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <cus:processLineItem xmlns:com="http://vodafone.com.au/ebo/vha/CommonComponents" xmlns:cus="http://vodafone.com.au/cm/ocv/ebm/CustomerOrder" xmlns:cus1="http://vodafone.com.au/ebo/vha/CustomerManagement">
    <com:header>
    <com:createDateTime>2008-09-29T11:49:45</com:createDateTime>
    <!--Optional:-->
    <com:webUser>test</com:webUser>
    <com:channel>string</com:channel>
    <com:applicationName>string</com:applicationName>
    <com:businessIdentifier>string</com:businessIdentifier>
    <!--Optional:-->
    <com:entityIdentifier>string</com:entityIdentifier>
    <!--Optional:-->
    <com:sourceIdentifier>string</com:sourceIdentifier>
    <!--Optional:-->
    <com:statusCode>Success</com:statusCode>
    <!--Optional:-->
    <com:messageIdentifier>string</com:messageIdentifier>
    </com:header>
    <cus:lineItem priorityRanking="201" quantity="1" actionCode="Modify">
    <!--You have a CHOICE of the next 3 items at this level-->
    <!--Optional:-->
    <cus1:product ID="string">
    <!--Zero or more repetitions:-->
    <cus1:attribute>
    <com:name>test</com:name>
    <com:value>test1</com:value>
    </cus1:attribute>
    </cus1:product>
    </cus:lineItem>
    </cus:processLineItem>
    </soapenv:Body>
    Regards,
    Anuj

  • Extracting node value from XPath Expression in OSB Conditional Branch

    HI All
    While using conditional branch in OSB,i only get an XPath Expression editor to set a variable used to test a condition.
    Now let's say my request is
    <Body>
    <exam:PersonSearchReq xmlns:exam="http://www.example.org">
    <exam:RequestorSSO>James</exam:RequestorSSO>
    </exam:PersonSearchReq>
    </Body>
    I write my XPath expression as :
    ./exam:PersonSearchReq/exam:RequestorSSO/text()
    Now if I test this using the tester application , insted of getting node value 'James' ,i get the entire node element ,i.e
    <exam:RequestorSSO xmlns:exam="http://www.example.org">James</exam:RequestorSSO>
    Please suggest how can i extract the text value.
    Regards,
    Chinmay

    Hi Guys
    Actually it turns out that you need to populate In-Variable to function is correctly.As soon as i entere 'body' in it,it worked fine.
    Thanks
    Chinmay

Maybe you are looking for

  • Why does my Web Handler work with Internet Explorer, but not with Firefox

    I am trying to develop a web page that uses the Simile Timeline (http://code.google.com/p/simile-widgets/wiki/Timeline) with data from SQL Server. In initial testing of my timeline I tested it with Example.xml, a static XML file in the correct format

  • HP Laserjet CP1515n and OSX Lion

    I'm trying to connect my networked Laserjet to my MacBook. It's identified in the 'add printer' window, and tries to install software for the printer, but the process fails with the message: The software for this printer is currently unavailable. Ple

  • Updated Nvidia Drivers? (W510)

    Can I get updated Lenovo approved NVidia driver somewhere for the W510? Basically the installed version is 268.24 and the version on NVidia's web site is 296.70, which is about if not more than an year old... Can someone also tell me, what functional

  • Report Painter Schedule Run and Output File

    Hi, I want to set a schedule job auto execute by Report Painter reports and output the file in the server. What can I do? Thank you! Steven

  • How to pause while document printing and wait for user actions.

    How to pause while document printing and wait for user actions. (for sample: pressed button). Pause after each printed pages.