BPEL selection failure fault in Assign Activity

I have creaated a BPEL with some input, when I am excuting that (not providing some input) then getting following Exception in Assign Activity. I am using Oracle SOA 11g and Jdeveloper 11g,
link for any sample process would be appreciated.
I need to do fault handling. can any one help me how to do fault handling for this case.
com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
parts: {{
summary=<summary>empty variable/expression result.
The XPath variable or expression /client:process/client:taskId is empty at line 132.
An attempt to read or copy data referenced or computed by the XPath expression either had invalid data, according to the XML schema, or did not contai
n certain optional data.
Ensure that the variable or expression result named in the error message is not empty. Enable XML schema validation of related variables to ensure the
run-time data is valid.
</summary>}
at com.collaxa.cube.engine.ext.bpel.common.BPELWMPHelper.evalFromValue(BPELWMPHelper.java:368)
at com.collaxa.cube.engine.ext.bpel.v1.wmp.BPEL1AssignWMP.__executeStatements(BPEL1AssignWMP.java:133)
at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:162)
at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2465)
at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1132)
at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:73)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:219)
at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:327)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4350)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4281)
at com.collaxa.cube.engine.CubeEngine._createAndInvoke(CubeEngine.java:713)
at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:545)
at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:108)
at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvoke(CubeEngineBean.java:150)
at com.collaxa.cube.engine.ejb.impl.bpel.BPELEngineBean.syncCreateAndInvoke(BPELEngineBean.java:111)
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.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:88)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
at oracle.security.jps.wls.JpsWeblogicEjbInterceptor.runJaasMode(JpsWeblogicEjbInterceptor.java:61)
at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:106)
at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:106)
at sun.reflect.GeneratedMethodAccessor836.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy253.syncCreateAndInvoke(Unknown Source)
at com.collaxa.cube.engine.ejb.impl.bpel.BPELEngineBean_51369e_ICubeEngineLocalBeanImpl.syncCreateAndInvoke(BPELEngineBean_51369e_ICubeEngineL
ocalBeanImpl.java:526)
at com.collaxa.cube.engine.delivery.DeliveryHandler.callCreateAndInvoke(DeliveryHandler.java:790)
at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:528)
at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:487)
at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:162)
at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.request(CubeDeliveryBean.java:607)
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.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:88)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
at oracle.security.jps.wls.JpsWeblogicEjbInterceptor.runJaasMode(JpsWeblogicEjbInterceptor.java:61)
at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:106)
at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:106)
at sun.reflect.GeneratedMethodAccessor836.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy250.request(Unknown Source)
at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.request(BPELDeliveryBean_5k948i_ICubeDeliveryLocal
BeanImpl.java:725)
at oracle.fabric.CubeServiceEngine.request(CubeServiceEngine.java:358)
at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:155)
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 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:59)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy255.request(Unknown Source)
at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.doMessageProcessing(WebServiceEntryBindingComponent.java:1169)
at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.processIncomingMessage(WebServiceEntryBindingComponent.java:768)
at oracle.integration.platform.blocks.soap.FabricProvider.processMessage(FabricProvider.java:113)
at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:1168)
at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:996)
at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:562)
at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:222)
at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:185)
at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:430)
at oracle.integration.platform.blocks.soap.FabricProviderServlet.doPost(FabricProviderServlet.java:477)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>
<May 24, 2011 2:59:50 PM SGT> <Error> <oracle.soa.bpel.engine> <BEA-000000> <<CubeEngine::finalizeActivity> Unhandled exception for ComponentDN=defaul
t/RegistrationUpload!17.0*soa_76f60ccc-36b0-4f17-b244-bbcfbc07b2df/TaskProcess1 CompositeInstanceId=320012 ComponentInstanceId=460012>
<May 24, 2011 2:59:51 PM SGT> <Error> <oracle.soa.bpel.engine> <BEA-000000> <<CubeEngine::handleWorkItem> This exception occurred because the fault th
rown in the BPEL flow was not handled by any fault handlers and reached the top-level scope. Root cause : com.oracle.bpel.client.BPELFault: faultName:
{{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
parts: {{
summary=<summary>empty variable/expression result.
The XPath variable or expression /client:process/client:taskId is empty at line 132.
An attempt to read or copy data referenced or computed by the XPath expression either had invalid data, according to the XML schema, or did not contai
n certain optional data.
Ensure that the variable or expression result named in the error message is not empty. Enable XML schema validation of related variables to ensure the
run-time data is valid.
</summary>}
>
Not fatal connection error ... not retrying.
<May 24, 2011 2:59:51 PM SGT> <Error> <oracle.webservices.service> <OWS-04115> <An error occurred for port: FabricProvider: javax.xml.rpc.soap.SOAPFau
ltException: empty variable/expression result.
The XPath variable or expression /client:process/client:taskId is empty at line 132.
An attempt to read or copy data referenced or computed by the XPath expression either had invalid data, according to the XML schema, or did not contai
n certain optional data.
Ensure that the variable or expression result named in the error message is not empty. Enable XML schema validation of related variables to ensure the
run-time data is valid.
.>
INFO [orabpel.invoke.pool-4.thread-5] (TaskProcess1_ptClient.java:282) - Exception occured while executhing process functionjavax.xml.ws.soap.SOAPFau
ltException: empty variable/expression result.
The XPath variable or expression /client:process/client:taskId is empty at line 132.
An attempt to read or copy data referenced or computed by the XPath expression either had invalid data, according to the XML schema, or did not contai
n certain optional data.
Ensure that the variable or expression result named in the error message is not empty. Enable XML schema validation of related variables to ensure the
run-time data is valid.

The XPath variable or expression /client:process/client:taskId is empty at line 132.
An attempt to read or copy data referenced or computed by the XPath expression either had invalid data, according to the XML schema, or did not contai
n certain optional data.
Ensure that the variable or expression result named in the error message is not empty. Enable XML schema validation of related variables to ensure the
run-time data is valid.This error happen when you try to assgin some empty element to your your target variable. Try using transformation if your input has empty elements.
I need to do fault handling. can any one help me how to do fault handling for this case. Just add a catch all block and in the catch all block message flow add the required action that needed to be performed in case of fault.
you can go through the below links for fault handling framework
http://www.it-eye.nl/weblog/2009/12/10/using-fault-management-framework-in-oracle-11g/
Re: How to get error message from the BPEL process
Fault policy and fault management

Similar Messages

  • BPEL Assign Activity XPath failure

    Hi,
    My BPEL process fails during the Assign activity and it is failing because the Query expression does not find the 'from' element. Which makes sense because for one my test cases I am not including a value for that element in the XML instance. My question - How do I handle this situation such that when the 'from' element is either missing or has no value then nothing gets assigned to the target variable?
    ******* Error Message from BPEL PM Assign audit *****************
    [2009/05/14 21:37:45] Error in evaluate <from> expression at line "127". The result is empty for the XPath expression : "/ns2:CRMODAccounts/ns2:CRMODContactID".less
    oracle.xml.parser.v2.XMLElement@1a1d727
    [2009/05/14 21:37:45] "{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure" has been thrown.less
    - <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
    - <part name="summary">
    <summary>
    empty variable/expression result.
    xpath variable/expression expression "/ns2:CRMODAccounts/ns2:CRMODContactID" is empty at line 127, when attempting reading/copying it.
    Please make sure the variable/expression result "/ns2:CRMODAccounts/ns2:CRMODContactID" is not empty.
    Possible reasons behind this problems are: some xml elements/attributes are optional or the xml data is invalid according to XML Schema.
    To verify whether XML data received by a process is valid, user can turn on validateXML switch at the domain administration page.
    </summary>
    </part>
    </selectionFailure>
    *********************** section from bpel source for the assign function ****************
    <assign name="assignEBSAccountDetails">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/ns2:CRMODAccounts/ns2:CRMODAccountID"/>
    <to variable="invokeEBSAccountDetails_GetEBSAccountDetailsPL_InputVariable"
    part="InputParameters"
    query="/ns3:InputParameters/ns3:P_CRMOD_ACCOUNT_ID"/>
    </copy>
    (versions) BPEL PM 10.1.3.4.0 JDev 10.1.3.4
    thanks,
    ilyas

    Use a switch, e.g. if string-lenght(/ns2:CRMODAccounts/ns2:CRMODContactID) > 0
    or you can do a transform and put an if condition for the mapping using the same code.
    cheers
    James

  • How to logging off the assign activity to dehydration store

    As per my understanding , every bpel process, logs data from assign activity in dehydration store. I changed the setting auditLevel to production to for logging off the assign activity.
    But it didnt work I guess. Even I tried to query audit_details & audit_trail tables by instance id.
    But didnt get the record that I got. Can we get variables stored ?
    Please help me in logging off assign activity to dehydration store which is default behaviour. And also how to cross check it.
    Thanks in advance.

    Look here:
    http://download.oracle.com/docs/cd/B31017_01/core.1013/b28942/tuning_bpel.htm#CIHEFIFH
    Use the
    "completionPersistPolicy BPEL Property"
    "inMemoryOptimization BPEL Property"
    In your BPEL process.
    Marc

  • BPEL assign activity fault

    hi,
       Please anybody know how create human intervention recovery for sublanguageExecutionFault in assign activity.
       I assign xml file using ora:doc(file///) when file location is not correct.
       i am new for soa suite so please help.

    Hi,
    Its a Non Recoverable System Fault so you will not be able to recover it using human intervention..

  • Assign activity for Complex XML type in BPEL

    Hi All,
    I am NEW to BPEL. I am trying to assign a constant value to a XML Fragment of complex type in BPEL.
    Here is my XSD definition.
    <xs:element name="AssetGetList">
    <xs:complexType>
    <xs:sequence>
    <xs:element xmlns:q59="http://schemas.datacontract.org/2004/07/Xerox.MPS" minOccurs="0" name="request" nillable="true" type="q59:SearchRequest"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:complexType name="SearchRequest">
    <xs:complexContent mixed="false">
    <xs:extension base="tns:RequestBase">
    <xs:sequence>
    <xs:element xmlns:q8="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Filters" nillable="true" type="q8:ArrayOfanyType"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RequestBase">
    <xs:sequence>
    <xs:element minOccurs="0" name="APIKey" nillable="true" type="xs:string"/>
    <xs:element minOccurs="0" name="AccountID" nillable="true" type="xs:string"/>
    <xs:element minOccurs="0" name="AllAccessibleAccounts" type="xs:boolean"/>
    <xs:element minOccurs="0" name="PageNumber" type="xs:int"/>
    <xs:element minOccurs="0" name="PageSize" type="xs:int"/>
    <xs:element minOccurs="0" name="SortDirection" type="tns:SortDirection"/>
    <xs:element minOccurs="0" name="SortField" nillable="true" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="RequestBase" nillable="true" type="tns:RequestBase"/>
    <xs:complexType name="DateRangeFilterParameter">
    <xs:sequence>
    <xs:element minOccurs="0" name="ColumnName" nillable="true" type="xs:string"/>
    <xs:element minOccurs="0" name="EndDate" type="xs:dateTime"/>
    <xs:element minOccurs="0" name="StartDate" type="xs:dateTime"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="DateRangeFilterParameter" nillable="true" type="tns:DateRangeFilterParameter"/>
    <xs:complexType name="ArrayOfanyType">
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="unbounded" name="anyType" nillable="true" type="xs:anyType"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="ArrayOfanyType" nillable="true" type="tns:ArrayOfanyType"/>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/">
    <xs:element name="anyType" nillable="true" type="xs:anyType"/>.
    In the above XSD I am able to invoke the webservice by passing the Basic inputs APIKey,AccountID and it works fine without the Filters.
    Example:
    <Invoke_1_AssetGetList_InputVariable>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="parameters">
    -<AssetGetList xmlns="http://api.services.xerox.com">
    -<request>
    <APIKey xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">1130a5ff-d41b-4e55-becc-f572046ff231</APIKey>
    <AccountID xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">58c6d7e4-5b7e-4cfe-acf5-f1997284ed72</AccountID>
    <AllAccessibleAccounts xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">true</AllAccessibleAccounts>
    <PageNumber xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">1</PageNumber>
    <PageSize xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">10</PageSize>
    <SortDirection xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">Ascending</SortDirection>
    <SortField xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">AssetId</SortField>
    <Filters xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS"/>
    </request>
    </AssetGetList>
    </part>
    </Invoke_1_AssetGetList_InputVariable>
    When I try to add the filters I get the error message as
    **INPUT:**
    <temp_AssetGetList_InputVariable>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="parameters">
    -<AssetGetList xmlns="http://api.services.xerox.com">
    -<request>
    <APIKey xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">1130a5ff-d41b-4e55-becc-f572046ff231</APIKey>
    <AccountID xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">58c6d7e4-5b7e-4cfe-acf5-f1997284ed72</AccountID>
    -<Filters xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:xer="http://schemas.datacontract.org/2004/07/Xerox.MPS" xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">
    -<arr:anyType xmlns="http://www.w3.org/2001/XMLSchema-instance" type="xer:DateRangeFilterParameter">
    <xer:ColumnName>ModifiedDate</xer:ColumnName>
    <xer:EndDate>2011-11-08T17:31:00</xer:EndDate>
    <xer:StartDate>2011-10-02T20:31:00</xer:StartDate>
    </arr:anyType>
    </Filters>
    </request>
    </AssetGetList>
    </part>
    </temp_AssetGetList_InputVariable>
    OUTPUT
    <fault>
    -<SerializationFaultFault xmlns="http://api.services.xerox.com">
    -<part name="detail">
    -<SerializationFault xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS.Faults" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <Code xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS.Faults" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">300</Code>
    <Message xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS.Faults" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    Element anyType from namespace http://schemas.microsoft.com/2003/10/Serialization/Arrays cannot have child contents to be deserialized as an object. Please use XmlNode[] to deserialize this pattern of XML.
    </Message>
    </SerializationFault>
    </part>
    </SerializationFaultFault>
    </fault>
    I want to add filters to this by passing the values to the DateRangeFilterParameter. I am trying to assign the StartDate and EndDate values using copy operation but was unable to do so.
    Please let me know if you need any other information regarding this.
    Could you please help me as how I need to pass these values of ComplexType in BPEL.Thanks for your time.
    Thanks
    Murthy

    To add new child nodes to a parent node, you should use append, insert-before or insert-after operations in the assign activity.
    Serkan

  • Problem with asyn bpel process assign activity

    hi
    i m creating asyn bpel process,in my assign activity,i want to copy operation.But it seems that when i expand my input variable it doesnt expand.so i m not able to copy.what would be the reason.anybody suggest me
    thanks

    works for me
    i added the xsd to my composite application
    created a new bpel in it, for input/ouput used both your elements.
    after that i added the assign and could just 'browse' the tree to both the input-element and the result-element, with this result :
        <sequence name="main">
            <!-- Receive input from requestor. (Note: This maps to operation defined in BPELProcess2.wsdl) -->
            <receive name="receiveInput" partnerLink="bpelprocess2_client" portType="client:BPELProcess2" operation="process" variable="inputVariable" createInstance="yes"/>
            <!--
              Asynchronous callback to the requester. (Note: the callback location and correlation id is transparently handled using WS-addressing.)
            -->
            <assign name="my_assign">
                <copy>
                    <from variable="inputVariable" part="payload"
                          query="/ns1:AsyncallerProcessRequest/ns1:input"/>
                    <to variable="outputVariable" part="payload"
                        query="/ns1:AsyncallerProcessResponse/ns1:result"/>
                </copy>
            </assign>
            <invoke name="callbackClient" partnerLink="bpelprocess2_client" portType="client:BPELProcess2Callback" operation="processResponse" inputVariable="outputVariable"/>
        </sequence>when you put your bpel in design mode (first tab), and the and the left bottom browse to <your process.bpel> > Variables > Process > Variables > inputVariable > payload > ns1:AsyncallerProcessRequest > input
    you do see this element ?
    at the bottom fo this window you see a checkbox "show detailed node information", in case of errors or non validation xsd's this would be usefull, but the xsd validates for me.
    any other errors you can find ?

  • Get All Element Values in Assign Activity

    Given the below XML, how can I get both values with a single statement?
    I tried /root/set/name/. with no luck. I would like to assign John Jane to a variable in a BPEL Assign Activity.
      <root>
        <set>
         <name>John</name>
        </set>
        <set>
         <name>Jane</name>
        </set>
      </root>

    If you want to select multiple nodes in an assign copy activity you will receive a selectionFailure. You can try this out by using /node/*[local-name() = 'nodename'] construct where * means all child elements and [local-name() = 'nodename'] represents the element name that needs to match.
    According to the BPEL Specification a selectionFailure MUST be thrown in the following situations:
    1. the from-spec selects multiple XML information items
    2. the from-spec selects one XML information item and the to-spec does not select exactly one XML information item.
    see BPEL Spec (section 8.4.1) http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#_Toc164738498
    To have the desired result an assign activity with an expression can help. Use the concatenate function. See http://docs.oracle.com/cd/E28280_01/dev.1111/e10224/bp_manipdoc.htm#BABBHGAJ
    If you want to dynamically concatenate use a xslt transformation.
    Good luck!
    Melvin

  • Using assign-activity:Append to append child nodes in XML-tree within loop

    I would like to produce an XML looking something like this (just an example):
    &lt;Customer&gt;
    &lt;Name&gt;Tom&lt;/Name&gt;
    &lt;Invoices&gt;
    &lt;Invoice&gt;
    &lt;InvoiceData&gt;.....&lt;/InvoiceData&gt;
    &lt;/Invoice&gt;
    &lt;Invoice&gt;
    &lt;InvoiceData&gt;.....&lt;/InvoiceData&gt;
    &lt;/Invoice&gt;
    &lt;/Invoices&gt;
    &lt;/Customer&gt;
    For different reasons (composite PK's in DB etc) I have to first get the Customer-data, and then get each Invoice for that customer.
    Then I have to loop the Invoices and append each Invoice-node to the XML, ending up with the whole thing when the loop is finished.
    This should be pretty simple (I guess), and I have tried different variations of the Append (assign activity), but everytime I end up with only the last Invoice-node.
    I can see in the Flow-window of the BPEL Console that it is not the same Invoice-node I'm appending within the loop-iterations, so that can not be the case in any way.
    In other words it seems to copy instead of appending.
    What is wrong ?
    Is this a bug in the Append function ?
    Any suggestions to other approaches that might work ? (I have to use the loop to get 1 and 1 Invoice-node though, and in that way put the whole XML together in some way)
    Edited by: user1694182 on 09.okt.2008 05:08

    Thank you for your answer.
    After taking your "debugging"-suggestions at hand and running some tests, I can now see that it gets appended in some way, but not correctly.
    1st LOOP ROUND:
    <installation>
    <measurePoints>
    <measurePoint><measurePointId>308</measurePointId>...</measurePoint>
    </mesurePoints>
    </installation>
    Correct so far.
    2nd LOOP ROUND:
    <installation>
    <measurePoints>
    <measurePoint><measurePointId>322</measurePointId>...</measurePoint>
    <measurePoint><measurePointId>322</measurePointId>...</measurePoint>
    </mesurePoints>
    </installation>
    So now it appends the new measurepoint, but overwrites the 1st as well... Strange..
    3rd LOOP ROUND (last round):
    <installation>
    <measurePoints>
    <measurePoint><measurePointId>382</measurePointId>...</measurePoint>
    <measurePoint><measurePointId>382</measurePointId>...</measurePoint>
    </mesurePoints>
    </installation>
    So suddenly the same Append doesn't append, but overwrites the 2 I had with the new measurepoint...Strange...
    WHAT I DO IN MORE DETAIL:
    1: Assign(copy) the whole XML in the 1st loop round. (Copy - FROM: submitInstallation_InputVariable - TO: Powel_InstallationServiceInput)
    2: Within each loop round I collect the whole XML with just 1 measurePoint (TransformActivity - FROM: DBAdapter-output - TO: submitInstallation_InputVariable).
    3: Within each loop round I then append the new measurePoint (collected in step 2) to the measurePoints-node. (Append - FROM: submitInstallation_InputVariable - TO: Powel_InstallationServiceInput)
    PS! I can see in the BPEL Console that it is a new measurePoint that gets collected in step 2, and just 1 node.
    Help/tips on this is very appreciated ! :-)
    Edited by: user1694182 on 14.okt.2008 00:57

  • "xsi:type" attribute coming automatically in XML by using Assign activity

    Hi,
    I am using below copy operation in assign activity
    *<copy>*
    *<from variable="StopSeq"/>*
    *<to variable="InvokeGlog_IV" part="Transmission"*
    *query="/ns2:Transmission/ns2:TransmissionBody/ns2:GLogXMLElement/ns2:ActualShipment/ns2:Shipment    /ns2:ShipmentStop[bpws:getVariableData('SCounter')]/ns2:StopSequence"/>*
    *</copy>*
    which is copying from one local variable(StopSeq of int type ) to another variable(StopSequence of string type).
    It was working fine in SOA 11.1.1.3 and I was getting result as below
    Expected Result *<StopSequence>1</StopSequence>*
    But recently we have migrated from 11.1.1.3 to 11.1.1.5 and we started to get below output for the same assign activity.
    Current Result *<StopSequence xsi:type="ns:int">1</StopSequence>*
    Please suggest.
    Thanks

    I found one workaround for the problem,
    "<from variable="StopSeq"/>"
    As of now , StopSeq was a variable created by me in BPEL file.
    I was using this variable to do some calculations.
    As a workaround of the problem, I created a schema with "StopSeqType" as a simple int type element.
    Then inside the BPEL, I marked the the existing variable "StopSeq" as a type of "StopSeqType" of my new schema.
    After this change I found the expected result.
    Now my doubt is , Is it the case for all variables created in BPEL ?
    If yes , how we can prevent this ?

  • Assign Activity modelling in BPMN

    Hi All,
    I am new to BPMN. I wanted to know if it is possible to model Assign activity in BPMN similar to the way it is modelled in BPEL?
    For example if I have to assign a value to a User task payload within the BPMN flow, is there any actiivty which would do this.

    BPM activities are generally to model the process/user task flow. However you can do various things using the methods that you can define in a process. You can write your java code or a simple PBL to assign values to variables.
    Within the process you can update a variable using the 'AutomaticActivity' and just writing variableA="newValue", or you can also use the interactive activity with the main task defined to a method and writing the same code as above in this method.

  • Assign activity: xsd complex type variable assignment

    <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"><part name="summary"><summary>XPath query string returns multiple nodes.
    According to BPEL4WS spec 1.1 section 14.3, The assign activity part and query /ns5:returnResultResponse/return should not return multipe nodes.
    Please check the BPEL source at line number "158" and verify the part and xpath query /ns5:returnResultResponse/return.
    </summary>
    </part></selectionFailure>
    I am trying to add nodes to an existing variable.
    I think this is possible in WS-BPEL 2.0, what is the workaround till then?
    Thanks in advance

    To add new child nodes to a parent node, you should use append, insert-before or insert-after operations in the assign activity.
    Serkan

  • Issues with Assign activity

    I am trying to assign a value(string) from an element of one variable, to an attribute of an element in another.
    I then test the process and get an error on this activity. The message says:
    XPath query string returns zero node.
    According to BPEL4WS spec 1.1 section 14.3, The assign activity &amp;lt;to&amp;gt; part query should not return zero node.
    Please check the BPEL source at line number "162" and verify the &amp;lt;to&amp;gt; part xpath query.
    Any thoughts or suggestions?
    Thanks,
    Matthew

    Matthew,
    I don't know if this is the problem you're having, but I can take a guess at one possible cause: you are using a variable, or part of a variable, before it has been instantiated.
    I apologise in advance for this long-winded explanation. :)
    I hope you know Java because I'll use an example from that to illustrate my point. Take this (psuedocode) example where we have some code that wants to use a complex type of class Person:
    class MyClass
      private class Person
        public String nameOfPerson;
        public int    age;
      private void someMethod()
        Person ppp;
        ppp.nameOfPerson = "Homer Simpson";
        ppp.age  = 38;
    }Hopefully you realise that this will fail. That's because even though ppp is of type Person, you can't start using the data structures it contains because they haven't been created yet. That is, it hasn't been instantiated. Instead, the variable creation line can look like this:
    Person ppp = new Person();Now memory has been set aside and the data structures are created. There are empty "slots" for name and age and you can start populating those fields.
    If that makes sense to you then you should understand how that pertains to BPEL and your problem.
    The thing that's going on with BPEL variables is much the same, except that they are based on XML, which adds some difficulty. In Java, a variable has just a value. e.g. ppp.nameOfPerson = "Homer Simpson". But in XML, you have an element name and an element value. The XML (again, psuedocode) equivalent might be myVar = "<nameOfPerson>Homer Simpson</nameOfPerson>". And you can't put in the "Homer Simpson" until the <nameOfPerson> slot exists.
    In our BPEL solution, we do something nice for you which most people don't even realise. We initialise your variables for you. But -- and here's the catch -- not in all circumstances.
    Imagine our schema is this (everything in this post is psuedocode and not meant to be exact):
    <element name="Person">
      <complexType>
        <sequence>
          <element name="nameOfPerson" type="string"/>
          <element name="age" type="int"/>
        </sequence>
      </complexType>
    </element>Suppose our BPEL variable is called pppB (to differentiate it from the Java example, above). In your BPEL process you essentially declare your variable of that type:
    <variable name="pppB" type="Person"/>Just like in the Java example above, you can't then simply do an <assign> because the variable hasn't been initialised. Except that you can because we automatically initialise the variable for you! In every programming language a complex variable has to be instantiated or initialised before it can be used. Usually you have to do it explicitly yourself. Some, like in our case, do it for you automatically.
    For example, if you want to do XML operations in Java, you have to do something like the following (and this is very psuedocode!):
    Document doc = createNewDocument();
    Element pppE = createNewElement();
    pppE.setNodeName = "Person";
    Element nameE = createNewElement();
    nameE.setNodeName = "nameOfPerson";
    nameE.setNodeValue = "Homer Simpson";
    Element ageE = createNewElement();
    ageE.setNodeName = "age";
    ageE.setNodeValue = "38";
    pppE.addChild(nameE);
    pppE.addChild(ageE);Note that you cannot assign a value to a node until is created. Also, in general, you can't work with a node unless the parent nodes also exist. The following won't work:
    Document doc = createNewDocument();
    Element pppE = createNewElement();
    pppE.setNodeName = "Person";
    Element nameE = pppE.getChild("nameOfPerson")
    nameE.setNodeValue("Homer Simpson");That's because even though the Person node was created, no child nodes were. The following would work:
    Document doc = createNewDocument();
    Element pppE = createNewElement();
    pppE.setNodeName = "Person";
    Element nameE = createNewElement();
    nameE.setNodeName = "nameOfPerson";
    nameE.setNodeValue = "Homer Simpson";
    pppE.addChild(nameE);
    Element newName = pppE.getChild("nameOfPerson");
    newName.setNodeValue("Homer J. Simpson");Now returning back to BPEL, you have your variable:
    <variable name="pppB" type="Person"/>Normally you could not do such an assign because the variable hasn't been initialised:
    <assign name="addName">
      <copy>
        <from expression="string('Homer Simpson')"/>
        <to   variable="pppB" query="/ns1:Person/ns1:nameOfPerson"/>
      </copy>
    </assign>Except that with our solution you can because we are nice and do the initialisation for you automatically. People don't realise this and take it for granted, which leads to the problem you are having.
    However we don't always instantiate the variable for you. And one time we don't is when a variable is passed in. Suppose the BPEL process took a Person element as it's input:
    <variable name="inputVariable" messageType="ns1:PersonMessage"/>and PersonMessage resolved to a Person element.
    Now suppose you invoke the BPEL process with the following:
    <Person>
      <nameOfPerson>Homer Simpson</nameOfPerson>
    </Person>(Assuming that the <age> element is optional, as defined in the schema.)
    Now your BPEL process is started and inputVariable looks like this, as expected:
    <Person>
      <nameOfPerson>Homer Simpson</nameOfPerson>
    </Person>So if you then try to do an <assign> and set the age like this:
    <assign name="addName">
      <copy>
        <from expression="string('38')"/>
        <to   variable="inputVariable" query="/ns1:Person/ns1:age"/>
      </copy>
    </assign>you're going to get an error because that element does not exist. There is nowhere to put the value for age because the node for age doesn't exist! To be more precise, the query "/ns1:Person/ns1:age" returns null because there is no such element. This results in your error:
    The assign activity <to> part query should not return zero node.
    A zero node is like saying null here.
    This is what I meant above when I said XML is different from "normal" variables that we're used to. You have to have both a node and a value, whereas a variable in Java, say, only has a value.
    The solution to this is add the node first, then assign the value. We have a nice way that lets you do that with an append. In the BPEL designer you create an <assign>, then instead of a copy rule, which is what we use most of the time, you use an append. The code will look like this:
    <assign name="addAgeElement">
      <bpelx:append>
        <bpelx:from>
          <ns1:age></ns1:age>
        </bpelx:from>
      <bpelx:to variable="inputVariable" part="payload" query="/ns1:Person"/>
    </assign>The part between <bpelx:from> and </bpelx:from> is the XML you want to append. The query attribute in <bpelx:to> is where you want that XML to go. Once you've done that, you can now go and do your normal assign and set the age:
    <assign name="addName">
      <copy>
        <from expression="string('38')"/>
        <to   variable="inputVariable" query="/ns1:Person/ns1:age"/>
      </copy>
    </assign>I hope that makes sense. The code in this post is not accurate, just pseudocode to make the point.
    Regards,
    Robin.

  • I am getting read WSDL errors for WSDLS and Exception building schema in the assign activity schema

    Hi All,
    1 st error: Even though I had added the URLs related to Webservice WSDLs that composite and BPEL have to load,I am getting 'read WSDL' errors when I open the composite.Sometimes it is loading properly and sometimes it is not loading properly.I restarted the system and I had aslo put webbrowser and proxy unchecked still I am facing that issue
    2 nd error: As I any schema node in assign activity I am getting 'Exception building schema' errors.
    What I feel I had set some memory settings so that wsdls and schemas will load properly.
    Please do the needful to resolve these issues as I have to work on some production issues urgently.

    Maybe you can use the MDS to decouple your development environment with your runtime environment.
    Put you're WSDLs/XSDs in a local MDS that you then sync with your runtime environment.
    Instead of referencing to the life WSDL you reference to a oramds:// url.
    Check out my two-part blogpost about it:
    (1/2) Using the MetaData Services (MDS) in a SOA environment
    (2/2) Using the MetaData Services (MDS) in a SOA environment

  • Handling BPEL custom business faults in 11g

    Hi All,
    I am trying to work with 11g BPEL custom business faults based on fault-policies and following options are tried, but no success
    1. Use Throw activity to throw business fault and handle it in fault-policies
    2. Receive SOAP:Fault from OSB partnerlink and handle it in fault-policies
    Flow Description_
    BPEL<sync=>OSB
    Fault-Policy used*
    <faultName xmlns:ns="http://schemas.org/2207/Services"
    name="ns:BusinessFault">
    <condition>
    <action ref="ora-retry"/>
    </condition>
    </faultName>
    OSB WSDL*
    &lt;wsdl:message name="Business_ResponseFaultMessage"&gt;
    &lt;wsdl:part name="BusinessFault" element="tns:BusinessFault"&gt;&lt;/wsdl:part&gt;
    &lt;/wsdl:message&gt;
    &lt;wsdl:portType name="IntegrationService"&gt;
    &lt;wsdl:operation name="Order"&gt;
    &lt;wsdl:input message="tns:IntegrationService_InputMessage"/&gt;
    &lt;wsdl:output message="tns:IntegrationService_OutputMessage"/&gt;
    &lt;wsdl:fault name="BusinessFault" message="tns:Business_ResponseFaultMessage"&gt;&lt;/wsdl:fault&gt;
    &lt;/wsdl:operation&gt;
    &lt;/wsdl:portType&gt;
    &lt;wsdl:binding name="IntegrationSoap" type="tns:IntegrationService"&gt;
    &lt;soap:binding transport="http://schemas.xmlsoap.org/soap/http"/&gt;
    &lt;wsdl:operation name="Order"&gt;
    &lt;soap:operation soapAction="Order" style="document"/&gt;
    &lt;wsdl:input&gt;
    &lt;soap:body use="literal"/&gt;
    &lt;/wsdl:input&gt;
    &lt;wsdl:output&gt;
    &lt;soap:body use="literal"/&gt;
    &lt;/wsdl:output&gt;
    &lt;wsdl:fault name ="BusinessFault" &gt;
    &lt;soap:fault name="BusinessFault" use="literal" /&gt;
    &lt;/wsdl:fault&gt;
    &lt;/wsdl:operation&gt;
    &lt;/wsdl:binding&gt;
    I have defined BusinessFault in xsd and xsd is referenced with in OSB WSDL.
    *1st case result*
    When I use Throw activity,business fault is being raised but always going to CatchAll in BPEL, but I would like to handle through fault-policies.
    _2nd case result_
    OSB partnerlink is returning SOAP:Fault to BPEL, but BPEL is always taking it as remoteFault, not as a business fault.
    When I ran OSB service,I can clearly see SOAP:Fault being thrown,but When I invoke from EM console it is always complaining like
    *     Either the WSDL URL is invalid or the WSDL file is not valid or incorrect. - Failed to model operation: {"http://schemas.org/2207/Services}Order(,)*
    *Reason: Could not find definition for element: {"http://schemas.org/2207/Services}BusinessFault Detail:*
    SOAP:Fault returned by OSB is
    &lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"&gt;
    &lt;soapenv:Header/&gt;
    &lt;soapenv:Body&gt;
    &lt;soap-env:Fault xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"&gt;
    &lt;faultcode&gt;soap-env:Server&lt;/faultcode&gt;
    &lt;faultstring&gt;Unable to find order offer for supplied product: ZINDA&lt;/faultstring&gt;
    &lt;detail&gt;
    &lt;ns:BusinessFault xmlns:ns="http://schemas.org/2207/Services"&gt;
    &lt;OrderResponse xmlns="http://schemas.org/2207/Services" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
    &lt;Errors&gt;
    &lt;ErrorMsgl Code="Unknown"&gt;Unable to find offer for supplied product: ZINDA&lt;/ErrorDetail&gt;
    &lt;/Errors&gt;
    &lt;Status&gt;Failed&lt;/Status&gt;
    &lt;/OrderResponse&gt;
    &lt;/ns:BusinessFault&gt;
    &lt;/detail&gt;
    &lt;/soap-env:Fault&gt;
    &lt;/soapenv:Body&gt;
    &lt;/soapenv:Envelope&gt;
    Any ideas where we are going wrong?
    Thanks,
    Praveen
    Edited by: Praveen Vaddanam on Apr 3, 2012 5:23 AM
    Edited by: Praveen Vaddanam on Apr 3, 2012 5:32 AM

    Hi
    Did you find a solution to your problem. I am also facing a similar problem.
    Thanks

  • Configuring selection failure error handler

    I have a scope which does an invoke. There is a possibility it causes a selection failure and hence I was trying to configure a catch branch for selection failures.
    In the part where I have to give a variable name, I cannot seem to be able to click on the button for creating a new variable. Can someone help me out with configuring a variable for this particular error.
    Thanks

    1. Add a Catch branch
    2. Double click on it
    3. In Fault Qname, Select Browser Faults icon
    4. Expand System Faults
    5. Select selectionFailure
    Ok, Done
    --Prasanna                                                                                                                                                                                                                                                                                                                                                       

Maybe you are looking for

  • G3 upgrade from 8.6 to 9.2.2

    Is there currently an upgrade path to take a G3 blue & white tower from System 8.6 (the system it came with) to 9.2.2? Thank you! G3 blue & white   Mac OS 8.6 or Earlier  

  • G/L accounts for cost centers

    Hi    How we can find what are the list of available G/l accounts which are permissible for a cost center. Thanks and Regards Manoj

  • Has "open in new page" and "open in new tab" been swopped?

    I am constantly opening new pages instead of new tabs. Have the two right click functions been swopped and is it possible to swop them back?

  • Usability of the Portal Studio Catalog & Knowledge Exchange...

    Just wanted to say: Usability of the Portal Studio Catalog in a word: SUX. Browsing the catalog is incredibly tedious on a corporate LAN; can't imagine how impossible it would be on any slower speed connection: Click. Wait. Click. Wait. Click. Wait.

  • AS3 wont publish

    Hi, I am trying to modify a FLA file, which is already done. Problem I am haveing is when I publish the FLA file,into a SWF, the AS3 file wont publish . Am a newbie with this so not sure what I am doing wrong, Without the AS3 file, the movie just loo