OSB Assign action

Hello:

I created a service in OSB, who has two business service and a proxy service.

A business service use JCA binding that gets value of database and other business services publishes data to a queue.

In my proxy service message stream, I use these two Business Service using the legend of service.

Firstly the Service company with JCA binding is called and out of it will be like

< get: SampleCollection xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:soap - env = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:get = "http://xmlns.oracle.com/pcbpel/adapter/db/top/Get_Sample" >
< get: example >
< get: type > test < / get: type >
< get: status > success < / status of: >
[email protected] < get: mailto > < / get: mailto >
[email protected] < get: cc > < / get: cc >
[email protected] < get: bcc > < / get: IAB >
< / get: example >
< / get: SampleCollection >

And I assigned to a variable called DBOutput in ServiceCallout.

Now to my second business service, some entry must be made by the release of my first business service, so I will try to use the below expression to obtain the values for the DBOutput variable and assign to a variable called TestingDBVariable

$DBOutput / *: SampleCollection / *:Sample/*:mailto/text()

But after testing the proxyservice, the 'TestingDBVariable' variable is not reflected, am I missing something here?

OSB: 11.1.1.4

Kind regards
RK

You should study it at two levels:
1. check if your business service is indeed correctly the "mailto" field. To check this check that business directly from sbconsole. If the business service is not returning the mailto value then it may be because the table metadata changed after you have created the DB of JCA adapter. Try again to create and update of business service.
2. If your business is indeed the "mailto" field there is a problem with the mapping of the field when filling out application for the second business service. Try $DBOutput / / *: mailto / text () once instead of XPath as a whole. Depending on how you have set the output of the first BS to the variable, one of the following conditions should be right Xpath:
$DBOutput / *: SampleCollection / *:Sample/*:mailto/text()
or
$DBOutput / *: Sample / *:mailto/text()

Tags: Fusion Middleware

Similar Questions

  • OSB: BEA-382510: OSB Assign action failed variable update

    Hi all

    I just started learning the OSB and created a simple process.

    It's my request:

    < soapenv:Envelope = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenv >
    < xmlns:soap soap: Header = "http://schemas.xmlsoap.org/soap/envelope/" >
    < / soap: Header >
    < soapenv:Body >
    < xmlns:hel hel: getGreeting = "http://hello.alsb.com/" >
    <!-in option: - >
    < arg0 > string < / arg0 >
    < / hel: getGreeting >
    < / soapenv:Body >
    < / soapenv:Envelope >
    ------------------------------------------------------------------------
    im getting an error in entitled response:

    < soapenv:Envelope = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenv >
    < soapenv:Body >
    < soapenv:Fault >
    soapenv:Server < faultcode > < / faultcode >
    < faultstring >
    BEA-382510: OSB Assign action doesn't have a variable update 'Test': weblogic.xml.query.exceptions.XQueryTypeException: {err} XP0006: ' the return element {{http://www.w3.org/2004/07/xpath-datatypes} untypedAny} ': bad value for a string of type {http://www.w3.org/2001/XMLSchema}
    < / faultstring >
    < detail >
    < con xmlns:con: fault = "http://www.bea.com/wli/sb/context" >
    < con: errorCode > BEA-382510 < / con: errorCode >
    < con: reason >
    OSB Assign action failed 'Test' for variable update: weblogic.xml.query.exceptions.XQueryTypeException: {err} XP0006: ' the return element {{http://www.w3.org/2004/07/xpath-datatypes} untypedAny} ': bad value for a string of type {http://www.w3.org/2001/XMLSchema}
    < / con: reason >
    < con: location >
    < con: node > RouteTo_HelloWorldBiz < / con: node >
    pipeline response - < con: path > < / con: path >
    < / con: location >
    < / con: fault >
    < / details >
    < / soapenv:Fault >
    < / soapenv:Body >
    < / soapenv:Envelope >

    -----------------------

    It's my Xquery:

    XQuery version "1.0" encoding "Cp1252";

    declare namespace xf = "http://tempuri.org/GoodbyeWorld_SB/XQuery/Hello_to_GoodBye/";

    declare function xf:Hello_to_GoodBye($helloStr_as_xs:string)
    as XS: String {}
    Replace ($helloStr, 'HELLO', 'goodbye')
    };

    declare the variable $helloStr as XS: String external;

    XF:Hello_to_GoodBye ($helloStr)

    ------------------------------------------------

    in my message response service proxy pipeln:

    I added the entitlement and taking into account the expression: $body / hel: getGreetingResponse / return
    var: Test

    After the entitlement: I gave an alternative activity:

    XPath: ./hel:getgreetingresponse/return

    varabile: body

    Expression: string ($Test)


    When I test it in the console of the OSB:

    im getting this error:

    < soapenv:Envelope = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenv >
    < soapenv:Body >
    < soapenv:Fault >
    soapenv:Server < faultcode > < / faultcode >
    < faultstring >
    BEA-382510: OSB Assign action doesn't have a variable update 'Test': weblogic.xml.query.exceptions.XQueryTypeException: {err} XP0006: ' the return element {{http://www.w3.org/2004/07/xpath-datatypes} untypedAny} ': bad value for a string of type {http://www.w3.org/2001/XMLSchema}
    < / faultstring >
    < detail >
    < con xmlns:con: fault = "http://www.bea.com/wli/sb/context" >
    < con: errorCode > BEA-382510 < / con: errorCode >
    < con: reason >
    OSB Assign action failed 'Test' for variable update: weblogic.xml.query.exceptions.XQueryTypeException: {err} XP0006: ' the return element {{http://www.w3.org/2004/07/xpath-datatypes} untypedAny} ': bad value for a string of type {http://www.w3.org/2001/XMLSchema}
    < / con: reason >
    < con: location >
    < con: node > RouteTo_HelloWorldBiz < / con: node >
    pipeline response - < con: path > < / con: path >
    < / con: location >
    < / con: fault >
    < / details >
    < / soapenv:Fault >
    < / soapenv:Body >
    < / soapenv:Envelope >


    Ttout suggestions on where is the problem.

    IM completely stuck here:

    TIA,
    knockaert

    It is not clear at what point you call Hello_to_GoodBye and using what argument

    in any case, it is likely that you pass an Xml (a knot, something like Charlie) element instead of a simple type (a string like 'Charlie')

    You must use the data($body/bla) function or the text ($body/bla/text () to retrieve the value (Charlie) of your item

  • OSB: Delete Action

    Hello

    I created a stream of messages in which I define some custom variables (TEMP1, TEMP2) and use them to store the results of queries XQuery used in the project. (Assignment of the result of the Xquery query to variable). I want to know that when the flow of messages is over, what happens to these variables?

    I thought that if I have to use the deletion planned for OSB action to explicitly remove these variables in the last step of the workflow? It would make my memory of the most effective execution/Server service use?

    T & R
    Patricia

    Hi Patricia,

    You don't have to remove the variables for this purpose.
    The variables that you create are in the context of the pipeline, which get allocated when the computer has finished running.

    Kind regards
    Fabio.

  • Assign Action step of input parameters programmatically

    I hope someone could indulge my laziness about the types of data ranging from passage of TestStand 2013f1 to LabView 2015 SP1.

    Since the 'something' in TS data type and the type of a variant in LV do not play nice, I have to manually switch the type of TS data to LV I have this by adding an entry to the VI that accepts a string describing the type of data to TS.  I then use the 'TypeOf' TS function to obtain this string descriptor.  It works well; However, I call this action many, many times with different types of data.  I'm afraid I won't update the entry TypeOf operator every time that I instantiate this VI.  This would produce an error of execution, which are annoying.

    What I want is to fill the TypeOf function with some Local, parameter, etc. I type in the entrance of Variant (Nothing) VI.

    I'm not an architect TS but I searched the API trying to see if there is anything that can provide this functionality.  I doubt that I can do this, but I wanted to check with the community before I gave up.

    Thank you for your help in advance.

    Ah - yes, I understand now.  My expression became the type of the parameter LabVIEW, while we want the type of the variable we spend in LabVIEW!

    This should work for you.

    TypeOf (evaluate (Step.Module.AsLabVIEWModule.Parameters.Item (1).)) ArrayClusterEls ["[0]"]. ['Data'] ArrayClusterEls. ArgVal))

    Kind regards

    Charlie

  • Need help with the OSB Assign and replace the

    I have a proxy service that receives the SOAP message:

    " < = xmlns:soapenv soapenv:Envelope ' http://schemas.xmlsoap.org/SOAP/envelope/ "xmlns:SOAP - ENC =" " http://schemas.xmlsoap.org/SOAP/encoding/ "container =" " http://www.w3.org/1999/XMLSchema ">

    " < = xmlns:soapenv soapenv:Header ' http://schemas.xmlsoap.org/SOAP/envelope/ ">

    < / soapenv:Header >

    < soapenv:Body >

    " < pidx:OrderChange pidx:transactionPurposeIndicator = 'Replace' xmlns:pidx = ' http://www.API.org/pidXML "xmlns =" http://www.API.org/pidXML "" xmlns: xsi = " http://www.w3.org/2001/XMLSchema-instance "xsi:schemaLocation="C:\shareIt\OrderChange_1-2.xsd" > ""

    ...

    < / pidx:OrderChange >

    " < = Xmlns:ocp DeliveryInformation ' http://www.digitaloilfield.com/OCP ">

    ...

    < / DeliveryInformation >

    < / soapenv:Body >

    < / soapenv:Envelope >

    I need to take the OrderChange element and place it in a SOAP body and the DeliveryInformation element and place it in the SOAP of the same SOAP message header.

    The SOAP message is then sent to a business service that makes an HTTP POST of the SOAP XML.

    I created the service of the company and he sent some data test SOAP and it works very well, but cannot create a bridge between the Proxy and the Business Service.

    In the stream of messages of Proxy I tried to do an assignment in a routing. I tried to do the following:

    1. an XQuery query transform to generate the XML SOAP just described

    2. not the entitlement where the "Expression" is the transformation and the Variable is a variable based on a schema for SOAP.

    I can see that the company is trying to be invoked, but the SOAP data does not have to be formatted or passed.

    It is the right approach or is their a better way of

    1. create the SOAP wrapped XML

    2. call the Business Service.

    Any suggestions are appreciated. I can provide more detail if necessary.

    Kind regards.

    Thank you Vlad...

    I think I'm getting in that direction now. Just do some debugging.

    Appreciate the input. I will update with final results.

    Again, your help is greatly appreciated.

    Kind regards.

  • Value OSB:assign transformed the body throws Value must be an instance

    Hello

    I created a proxy service based on wsdl and I do transformtaion using xquery and when I try to affect the outcome of transformtion varibale body I get error

    < faultstring >
    BEA-382040: unable to set the value of the environment variable 'body '. Value must be an instance of {http://schemas.xmlsoap.org/soap/envelope/} body.
    < / faultstring >


    I want to spend the value converted to my service company that is created in different wsdl-based.

    Thank you
    Naarasimha.

    Alternatively, you can choose "Replace the content of the node" option in action to replace to make it work.

    Kind regards
    Anuj

  • Problem with Xquery transformation in OSB

    Hello

    My scenario is that I divides the data into a single XML A tag, to fill several tags XML B.I uses the transformation and the substring of Xquery function to achieve. The problem comes when I import the resource xquery in OSB and try to make the transformation in a proxy service, it gives the following error

    < con xmlns:con: fault = "http://www.bea.com/wli/sb/context" >
    < con: errorCode > BEA-382510 < / con: errorCode >
    < con: reason >
    * OSB Assign action failed 'message' variable updated: com.bea.wli.common.xquery.XQueryException: XML parsing error: {err} XP0006: "Body {http://schemas.xmlsoap.org/soap/envelope/} element {{http://www.w3.org/2004/07/xpath-datatypes} untypedAny} ': good value for the data element type {http://www.example.org/data} {{http://www.w3.org/2001/XMLSchema} anyType} *.
    < / con: reason >
    < con: location >
    < con: node > PipelinePairNode1 < / con: node >
    < con: pipeline > PipelinePairNode1_request < / con: pipeline >
    stage1 < con: Stadium > < / con: Stadium >
    request pipeline - < con: path > < / con: path >
    < / con: location >
    < / con: fault >


    the configuration that I made in the proxy service is the following:_


    Assign: [XQuery resources..] to [message]

    Delete: [..] in [body]

    Insert [$message] [as a first child of] [..] in [body]


    The resource of Xquery is the .xq file I generated for the transformation of Xquery.
    and I m routing this proxy service to a business service that take wud XML and throw on my D drive using the file protocol.

    Published by: rahulc on October 12, 2010 12:40 AM

    Published by: rahulc on October 12, 2010 12:41 AM

    $body means not don't FORGET ME THIS weekend! but $body / * means don't FORGET not ME THIS weekend!

    Kind regards
    Anuj

  • Service account not found if kept in different projects

    Hello

    I use in Service Proxy Service account during runtime using fn - bea: lookupBasicCredentials according to the steps

    Using Service accounts in the OSB. Siva & amp; #039; s Blog

    But the Proxy Service is present in the project was and the Service account is not in project b. So, whenever I try to use the service account, I get the following error:

    OSB Assign action failed to update variable 'serviceAccount': weblogic.xml.query.exceptions.XQueryUserException: {http://www.bea.com/wli/common/xquery} XQueryException: error calling custom java xquery function: java.lang.reflect.InvocationTargetException

    java.lang.reflect.InvocationTargetException

    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:597)

    at com.bea.wli.sb.stages.functions.XQueryExternalFunction.execute(XQueryExternalFunction.java:111)

    at com.bea.wli.sb.stages.functions.XQueryExternalFunction.init(XQueryExternalFunction.java:61)

    at weblogic.xml.query.iterators.FirstOrderIterator.open(FirstOrderIterator.java:169)

    at weblogic.xml.query.iterators.FirstOrderIterator.open(FirstOrderIterator.java:167)

    at weblogic.xml.query.runtime.core.ExecutionWrapper.open(ExecutionWrapper.java:58)

    at com.bea.wli.common.xquery.iterators.XQueryVariableMapper.getObject(XQueryVariableMapper.java:506)

    at com.bea.wli.sb.context.ContextUtils.checkValue(ContextUtils.java:69)

    at com.bea.wli.sb.context.MessageContextImpl.setVariableValue(MessageContextImpl.java:234)

    at stages.transform.runtime.AssignRuntimeStep.processMessage(AssignRuntimeStep.java:54)

    to com.bea.wli.sb.stages.StageMetadataImpl$ WrapperRuntimeStep.processMessage (StageMetadataImpl.java:346)

    at com.bea.wli.sb.stages.impl.SequenceRuntimeStep.processMessage(SequenceRuntimeStep.java:33)

    at stages.transform.runtime.IfThenElseRuntimeStep.processMessage(IfThenElseRuntimeStep.java:86)

    to com.bea.wli.sb.stages.StageMetadataImpl$ WrapperRuntimeStep.processMessage (StageMetadataImpl.java:346)

    at com.bea.wli.sb.pipeline.PipelineStage.processMessage(PipelineStage.java:84)

    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:1055)

    at com.bea.wli.sb.pipeline.Pipeline.processMessage(Pipeline.java:141)

    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:1055)

    at com.bea.wli.sb.pipeline.PipelineNode.doRequest(PipelineNode.java:55)

    at com.bea.wli.sb.pipeline.Node.processMessage(Node.java:67)

    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:1055)

    at com.bea.wli.sb.pipeline.Router.processMessage(Router.java:214)

    at com.bea.wli.sb.pipeline.MessageProcessor.processRequest(MessageProcessor.java:96)

    to com.bea.wli.sb.pipeline.RouterManager$ 1.run(RouterManager.java:593)

    to com.bea.wli.sb.pipeline.RouterManager$ 1.run(RouterManager.java:591)

    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)

    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)

    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)

    at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:590)

    at com.bea.wli.sb.test.service.ServiceMessageSender.send0(ServiceMessageSender.java:332)

    to com.bea.wli.sb.test.service.ServiceMessageSender.access$ 000 (ServiceMessageSender.java:79)

    to com.bea.wli.sb.test.service.ServiceMessageSender$ 1.run(ServiceMessageSender.java:137)

    to com.bea.wli.sb.test.service.ServiceMessageSender$ 1.run(ServiceMessageSender.java:135)

    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)

    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)

    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)

    at com.bea.wli.sb.test.service.ServiceMessageSender.send(ServiceMessageSender.java:140)

    at com.bea.wli.sb.test.service.ServiceProcessor.invoke(ServiceProcessor.java:454)

    at com.bea.wli.sb.test.TestServiceImpl.invoke(TestServiceImpl.java:172)

    at com.bea.wli.sb.test.client.ejb.TestServiceEJBBean.invoke(TestServiceEJBBean.java:167)

    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.__WL_invoke (unknown Source)

    at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)

    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.invoke (unknown Source)

    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_WLSkel.invoke (unknown Source)

    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)

    at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)

    to weblogic.rmi.internal.BasicServerRef$ 1.run(BasicServerRef.java:522)

    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)

    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)

    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)

    at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)

    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

    Caused by: com.bea.wli.sb.security.CredentialNotFoundException: there is no account of service named "ProjectB/ServiceAccount/MySA.sa".

    at com.bea.wli.sb.svcacct.ServiceAccountRuntimeManagerImpl.getUsernamePasswordCredential(ServiceAccountRuntimeManagerImpl.java:183)

    at com.bea.wli.sb.svcacct.ServiceAccountRuntimeManagerImpl.getUsernamePasswordCredential(ServiceAccountRuntimeManagerImpl.java:169)

    at com.bea.wli.sb.stages.functions.BasicCredentialsUserFunction.lookupBasicCredentials(BasicCredentialsUserFunction.java:59)

    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:597)

    at com.bea.wli.sb.stages.functions.XQueryExternalFunction.execute(XQueryExternalFunction.java:111)

    at com.bea.wli.sb.stages.functions.XQueryExternalFunction.init(XQueryExternalFunction.java:61)

    at weblogic.xml.query.iterators.FirstOrderIterator.open(FirstOrderIterator.java:170)

    at weblogic.xml.query.iterators.FirstOrderIterator.open(FirstOrderIterator.java:166)

    at weblogic.xml.query.runtime.core.ExecutionWrapper.open(ExecutionWrapper.java:58)

    at com.bea.wli.common.xquery.iterators.XQueryVariableMapper.getObject(XQueryVariableMapper.java:509)

    at com.bea.wli.sb.context.ContextUtils.checkValue(ContextUtils.java:69)

    at com.bea.wli.sb.context.MessageContextImpl.setVariableValue(MessageContextImpl.java:234)

    at stages.transform.runtime.AssignRuntimeStep.processMessage(AssignRuntimeStep.java:54)

    to com.bea.wli.sb.stages.StageMetadataImpl$ WrapperRuntimeStep.processMessage (StageMetadataImpl.java:346)

    at com.bea.wli.sb.stages.impl.SequenceRuntimeStep.processMessage(SequenceRuntimeStep.java:33)

    at stages.transform.runtime.IfThenElseRuntimeStep.processMessage(IfThenElseRuntimeStep.java:86)

    to com.bea.wli.sb.stages.StageMetadataImpl$ WrapperRuntimeStep.processMessage (StageMetadataImpl.java:346)

    at com.bea.wli.sb.pipeline.PipelineStage.processMessage(PipelineStage.java:84)

    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:1055)

    at com.bea.wli.sb.pipeline.Pipeline.processMessage(Pipeline.java:141)

    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:1055)

    at com.bea.wli.sb.pipeline.PipelineNode.doRequest(PipelineNode.java:55)

    at com.bea.wli.sb.pipeline.Node.processMessage(Node.java:67)

    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:1055)

    at com.bea.wli.sb.pipeline.Router.processMessage(Router.java:214)

    at com.bea.wli.sb.pipeline.MessageProcessor.processRequest(MessageProcessor.java:96)

    to com.bea.wli.sb.pipeline.RouterManager$ 1.run(RouterManager.java:594)

    to com.bea.wli.sb.pipeline.RouterManager$ 1.run(RouterManager.java:591)

    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)

    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)

    at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:590)

    at com.bea.wli.sb.test.service.ServiceMessageSender.send0(ServiceMessageSender.java:332)

    to com.bea.wli.sb.test.service.ServiceMessageSender.access$ 000 (ServiceMessageSender.java:79)

    to com.bea.wli.sb.test.service.ServiceMessageSender$ 1.run(ServiceMessageSender.java:137)

    to com.bea.wli.sb.test.service.ServiceMessageSender$ 1.run(ServiceMessageSender.java:135)

    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)

    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)

    at com.bea.wli.sb.test.service.ServiceMessageSender.send(ServiceMessageSender.java:140)

    at com.bea.wli.sb.test.service.ServiceProcessor.invoke(ServiceProcessor.java:454)

    at com.bea.wli.sb.test.TestServiceImpl.invoke(TestServiceImpl.java:172)

    at com.bea.wli.sb.test.client.ejb.TestServiceEJBBean.invoke(TestServiceEJBBean.java:167)

    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.__WL_invoke (unknown Source)

    at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)

    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.invoke (unknown Source)

    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_WLSkel.invoke (unknown Source)

    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:668)

    at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)

    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)

    at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:119)

    ... 2 more



    The action of the entitlement is as follows:


    Assign [ fn - bea: lookupBasicCredentials ('ProjectB/ServiceAccount/MySA.sa')] to [CompteService]


    I use OSB 11.1.1.5. Help, please.


    Kind regards

    Knockaert

    Hello

    The issue has been resolved. I was using fn-bea:lookupBasicCredentials('ProjectB/ServiceAccount/MySA.sa') instead of fn - bea:lookupBasicCredentials('ProjectB/ServiceAccount/MySA').

    Kind regards
    Knockaert

  • XQuery error during the action replace is OSB

    Hi, I am trying to replace the body of the OSB with an xquery but its seems I have a typo somewhere... issue or namespaces, but I can not understand. The error I get is:
    OSB Replace action failed updating variable "body": Error parsing XML: {err}XP0006: "element {http://www.w3.org/2003/05/soap-envelope}Header { {http://www.w3.org/2004/07/xpath-datatypes}untypedAny }": bad value for type element {http://schemas.xmlsoap.org/soap/envelope/}Header { {http://www.w3.org/2001/XMLSchema}anyType }
    My xquery looks like:
    (:: pragma bea:global-element-parameter parameter="$soapheader" element="soap-env:Header" location="soap-env.xsd" ::)
    (:: pragma bea:global-element-parameter parameter="$soapbody" element="soap-env:Body" location="soap-env.xsd" ::)
    (:: pragma bea:global-element-parameter parameter="$osbfault" element="ctx:fault" location="MessageContext.xsd" ::)
    (:: pragma bea:global-element-parameter parameter="$osbinbound" element="ctx:endpoint" location="MessageContext.xsd" ::)
    (:: pragma bea:global-element-return element="ns0:Error" location="../../cdm/1.0/TechnicalTypes.xsd" ::)
    
    declare namespace http = "http://www.bea.com/wli/sb/transports/http";
    declare namespace ns0 = "http://www.mycompany.com/schema/technical";
    declare namespace tp = "http://www.bea.com/wli/sb/transports";
    declare namespace ctx = "http://www.bea.com/wli/sb/context";
    declare namespace xf = "http://www.roceindhoven.nl/common/faulthandling/";
    declare namespace soap12-env = "http://schemas.xmlsoap.org/soap/envelope/";
    
    declare function xf:handleFault(
        $soapheader as element(soap12-env:Header),
        $soapbody as element(soap12-env:Body),
        $osbfault as element(ctx:fault),
        $osbinbound as element(ctx:endpoint))
        as element(ns0:Error) {
            <ns0:Error>
                <ns0:ErrorId>{ data(fn-bea:uuid()) }</ns0:ErrorId>
                <ns0:ErrorDate>{ data(fn:current-dateTime()) }</ns0:ErrorDate>
                <ns0:ErrorOrigin>
                     <ns0:Server>{ data($osbinbound/ctx:transport/ctx:request/tp:headers/http:Host)}</ns0:Server>
                     <ns0:Component>{ data($osbinbound/ctx:transport/ctx:uri) }</ns0:Component>
                </ns0:ErrorOrigin>
                <ns0:ErrorCode>{ data($osbfault/ctx:errorCode) }</ns0:ErrorCode>
                <ns0:ErrorDescription>{ data($osbfault/ctx:reason) }</ns0:ErrorDescription>
                <ns0:ErrorDetail>{ fn-bea:serialize($osbfault/ctx:details)}</ns0:ErrorDetail>
                <ns0:Message>
                    <ns0:Header>{ fn-bea:serialize($soapheader)}</ns0:Header>
                    <ns0:Body>{ fn-bea:serialize($soapbody)}</ns0:Body>
                </ns0:Message>
            </ns0:Error>
    };
    
    declare variable $soapheader as element(soap12-env:Header) external;
    declare variable $soapbody as element(soap12-env:Body) external;
    declare variable $osbfault as element(ctx:fault) external;
    declare variable $osbinbound as element(ctx:endpoint) external;
    
    xf:handleFault($soapheader,$soapbody,$osbfault,$osbinbound)
    as an entry for my xquery, I use the variables $header, $body, $fault and $inbound.

    Can someone tell me what is the problem?

    XML parsing error: {err} XP0006: "{http://www.w3.org/2003/05/soap-envelope} header element {{http://www.w3.org/2004/07/xpath-datatypes} untypedAny} ': good value for type {http://schemas.xmlsoap.org/soap/envelope/} header {anyType {http://www.w3.org/2001/XMLSchema}}

    It looks like you spend a soap 1.2 from the pipeline, header while your xquery is configured to accept the 1.1 header...

    Try to change the namespace declaration:
    declare namespace soap12-env = "http://schemas.xmlsoap.org/soap/envelope/"; to declare namespace soap12-env = "http://www.w3.org/2003/05/soap-envelope".

  • Validate the OSB action fails even one element is nillable = "true".

    Hello

    I said two things in my schema inline nillable = "true":

    < xsd: element name = "Skip_CreditChk" nillable = "true" type = "xsd: Boolean" minOccurs = "0" maxOccurs = "1" / >
    < xsd: element name = "Observation_End_Date" nillable = "true" type = "xsd: date" minOccurs = "0" maxOccurs = "1" / >

    In my OSB mail flow, my first action is a Validate action.

    When I test the proxy service in the Console of the OSB and enter the following that I meet an OSB validate action impossible error even when the fields below are declared as nillable in the schema. Anyone who has any idea about this?

    < Skip_CreditChk / >
    < Observation_End_Date / >

    Please check the W3C recommendation-

    http://www.w3.org/TR/xmlschema-0/ (section 2.9 Nil values)

    Your contribution should be like -


    Kind regards
    Anuj

  • Error in OSB 12 c DVM

    Hello

    I'm trying to use the feature DVM in OSB 12 c.  After running, I am getting below error: -.

    ' oracle.tip.dvm.exception.DVMValidationException: could not get the Manager of metadata for DVM ' OSBDemo/OSBDVM.dvm'. Please make sure that the metadata Manager is available. "

    I created OSBDVM.dvm in the root directory of the project.

    Please find attached the screenshot for more details...

    Kind regards

    In Julie

    Aditya,

    Ask yourself why it fails to your CA. Once again the same error are you? «Action OSB Assign failed variable update» Yet one thing... you use the name of resouce right dvm? It displays OSBDVM in the picture, but the OSBDVM.dvm assign activity. Could check you if the name of the resource used in the lookup function is correct?

  • OSB tuning issues

    Hi all!
    After some problems with the larger requests, I need to investigate the flow of my message, and I have a few questions.

    1. so if I use $body to assign to the OriginalBody variable at the beginning of the flow - it creates copy full size in memory so if the body is 5 MB, there will be additional 5 MB assigned?

    2. often, I have a lot to assign multiple actions, as
    Assign $ Element/body [1] / id/text () to the variable Id
    Assign the $body / Element [1] / name/text () in the name of the variable
    etc.
    However, in the tuning OSB doc, I see:
    >
    Created context variables using an action to assign are converted to the XmlBeans and then comes back to the native format of XQuery for the next XQuery. Several actions 'Assign' can be reduced to only one action attribute using a FLWOR expression. Intermediate values can be created using "let" declarations. Avoiding variable creation of context redundant eliminates the overhead associated with internal data format conversions. This advantage must be balanced with the visibility of the code and re-use of variables.
    >
    I don't understand this 'Assign unique action using a FLWOR expression"- any example?

    Thanks again

    1. so if I use $body to assign to the OriginalBody variable at the beginning of the flow - it creates copy full size in memory so if the body is 5 MB, there will be additional 5 MB assigned?

    Yes. When running, the flow of proxy runs as a set of java objects. And variables created in the flow of the messages will end up also being created as objects in memory to the jvm.
    Thus, the more variables created, more the memory footprint.

    'simple action to assign by using a FLWOR expression' - no matter what example?

    An example will be to implement the logic of complex Web - rather than use the actions of the OSB of loop and several actions with-right/replace, you can use the extract below using an assign action+ to perform the same tasks.

    for $v in $doc / / video
    where $v/year = 1999
    return $v/title

    You can get other examples @ http://www.stylusstudio.com/xquery_flwor.html who use FLWOR expressions.

    I hope this helps.

    Thank you
    Patrick

  • aggregation of output of the two BS in OSB join Split

    Hello

    I use join split to invoke two BS and after each activity in parallel branch, I placed transfer activity and output in voke answer exit activity variable assignment variable response.parameter . However in the o/p I get only BS answer. can anyone help on how to aggregate out of two BS in OSB join Split. my output is coming like this

    < SOAP - env:Envelope xmlns:soap - env = "http://schemas.xmlsoap.org/soap/envelope/" >
    < SOAP - env:Body >
    < ns2:NewOperationResponse xmlns:ns2 = "http://www.example.org/SjWsdl/" >exit< / ns2:NewOperationResponse >-->This is a BS o/p. But I want to display two BS O/p
    < / soap - env:Body >
    < / soap - env:Envelope >



    Thanks in advance...

    Published by: 11207106008 on June 26, 2012 22:11

    Published by: 11207106008 on June 26, 2012 22:12

    Published by: 11207106008 on June 26, 2012 22:13

    Use Assign action instead of answer to fill the aggregate value in the response.parameter variable.
    For ex.

    Assign

    
    {$response1, $response2}
    
    

    to variable
    Response.Parameter

  • OSB: Custom properties

    Hallo

    How to define and change properties on OSB?

    Thank you
    Lam

    Create an XML file with the mapping as -



    Anuj
    1234


    Anuj1
    12345

    Load it as a resource to request XQuery on OSB and in mail flow, use assign action to load the content of this XQuery query into a variable. Now you can apply Xpath on this variable to get the desired key value.

    Kind regards
    Anuj

  • OSB - initiaing with OSB

    Hi all

    My company decided to migrate all our web services to the new OSB and guess how they chose to get up and running... This means that I will be around to care about you guys for a while... = D

    Well, I'm building a proof of concept using a simple reception, validation and tail to the case...

    1. receive a request
    2 validate the request against the WSDL
    2.1 - returns error if the request is not valid
    3 - field validation
    3.1 - returns error if one or several field (s) is / are not valid
    3.2 - make a transformation of the fields in an xml file
    4 - insert into a queue.

    So what I've done so far has been
    -J' created a WSDL with three fields first name, name and surname, dateOfBirth
    -J' created a Proxy service
    -created a pair of pipeline and inside my pipe
    -created a stage to validate the application. [validateRequest step]
    -----

    And here's my first question.
    How to be a 'best practice' to do this validation?

    So far, I use a message processing > action validate and do something like this:
    Validate. / chec:person in the variable person against CheckPersonWSDL (element = "person").
    and
    Trigger the error on validation failure

    Also, inside my validateRequest step, I added a stage of error which causes an error like this:

    Lift with error code error CheckPerson-001

    with the Error Message

    Request is invalid. Send it by valid values.

    -----

    Then, following my plan...

    -J' added a new step in my pair of pipeline to validate the fields received the request. [validateFields step]

    Inside the stage of validateFields, I put a classic if/else waterfall, validation of each field in an if condition and inside each if block I inserted:

    - Messaging > action assign to...

    Set fn:concat($body/chec:person/firstName,_"is_not_a_valid_name.") variable firstNameValidation

    - Messaging > action assign to do this:

    Assign fn:true() to the isFirstNameValid variable.



    So, after my stunt of ifs, I can check the second assigned variable and build a chain with the invalid fields.



    -----

    And my second question.



    How could I use the variable previously defined by the assign actions?

    for example isFirstNameValid to check if it is true or not.



    -----



    Well, basically, that's it... in the beginning... = D



    Thanks guys...

    A very beautiful description.

    How to be a 'best practice' to do this validation?

    You follow the best approach (validate the action of OSB). Validate the action is to validate an element of support useful/full load XML itself against the pre loaded schema/WSDL

    How could I use the variable previously defined by the assign actions?

    You can use your variable previously defined in the complete piping by simply returning its name. Assume that if you want to use it in an inline-Xpath/Xquery expression then just return it by $isFirstNameValid

    so, if you want to check if isFirstNameValid is true then within an if expression write $isFirstNameValid = fn:true()

    Kind regards
    Anuj

Maybe you are looking for