Reply component on synchronous BPEL process in Oracle SOA
if there any possibility for returning the result to the client in the middle of a synchronous BPEL process?
I put the reply component in the middle of BPEL process, but the client still will wait for the whole process completed. I am wondering how the reply mechanism works in BPEL for synchronous.
Hi,
You should build your process in a way that the reply activity should be in the end.
Meaning, add the relevant activities - scopes, catch (fault handling - system & business), switch etc...
If, from some reason, you don't want to continue with the process,at any stage then go to the end.
Arik
Similar Messages
-
Time out problem while uploading large bpel processes into oracle soa suite
Hi everyone,
I'm using oracle soa suite 10.1.3.4.0 and I'm encountering time out problem while trying to upload a 5MB bpel process into my bpel process server located in the LAN network. The error is coming from apache common file upload.
Is there a way to increate the connection time out for oc4j to avoid this problem?
Thanks for any help.
Regards
EsfandHi Marc.
Thanks for your reply. I increased the transaction manager time-out but still I have the same problem. I believe this is something related to oc4j settings and related to upload bpel process. here is my stack trace output:
79: A problem occured while connecting to server "192.168.0.12" using port "8888": bpel_JazbModaresJadidBPEL_1.0.jar failed to deploy. Exception message is: javax.transaction.RollbackException: Timed out
at com.oracle.bpel.client.util.ExceptionUtils.handleServerException(ExceptionUtils.java:94)
at com.oracle.bpel.client.BPELDomainHandle.deploySuitcase(BPELDomainHandle.java:324)
at com.oracle.bpel.client.BPELDomainHandle.deployProcess(BPELDomainHandle.java:341)
at deployHttpClientProcess.jspService(_deployHttpClientProcess.java:376)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:400)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:414)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Caused by: oracle.oc4j.rmi.OracleRemoteException: An exception occurred during transaction completion: ; nested exception is:
javax.transaction.RollbackException: Timed out
at com.evermind.server.ejb.EJBTransactionManager.end(EJBTransactionManager.java:152)
at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:57)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
at DomainManagerBean_RemoteProxy_4bin6i8.deploySuitcase(Unknown Source)
at com.oracle.bpel.client.BPELDomainHandle.deploySuitcase(BPELDomainHandle.java:319)
... 25 more
Caused by: javax.transaction.RollbackException: Timed out
at com.evermind.server.ApplicationServerTransaction.checkForRollbackOnlyWhileInCommit(ApplicationServerTransaction.java:664)
at com.evermind.server.ApplicationServerTransaction.doCommit(ApplicationServerTransaction.java:273)
at com.evermind.server.ApplicationServerTransaction.commit(ApplicationServerTransaction.java:162)
at com.evermind.server.ApplicationServerTransactionManager.commit(ApplicationServerTransactionManager.java:472)
at com.evermind.server.ejb.EJBTransactionManager.end(EJBTransactionManager.java:137)
... 33 more
Total time: 4 minutes 30 seconds
The bpel jar file is about 2MB and is uploaded from my machine located in the same LAN.
Any hints?
Thanks
Esfand -
Error Deploying BPEL process in Oracle SOA 10g
Hi All,
Error Deploying the jar file in Oracle SOA 10g.
Error no : 500
The server encountered an internal error or misconfiguration and was unable to complete your request.
Following Information from log
[New log entry] The BPEL process "InInvoice", revision "1.0" has not been loaded. Either the process was not initialized properly or the process
has been disabled.
[New log entry] Please consult your administrator regarding this error. The application server logs may provide more information regarding this error
[New log entry] 11/05/27 02:48:08 at com.collaxa.cube.engine.deployment.DeploymentManager.getProcess(DeploymentManager.java:556)
[New log entry] 11/05/27 02:48:08 at com.collaxa.cube.engine.deployment.DeploymentHelper.lookupProcess(DeploymentHelper.java:258)
[New log entry] 11/05/27 02:48:08 at com.collaxa.cube.engine.deployment.DeploymentHelper.getContentFile(DeploymentHelper.java:123)
[New log entry] 11/05/27 02:48:08 at com.collaxa.cube.ejb.impl.BPELProcessManagerBean.contentFileExists(BPELProcessManagerBean.java:472)
[New log entry] 11/05/27 02:48:08 at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
[New log entry] 11/05/27 02:48:08 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[New log entry] 11/05/27 02:48:08 at java.lang.reflect.Method.invoke(Method.java:585)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.ThreadState.runAs(ThreadState.java:705)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
[New log entry] 11/05/27 02:48:08 at ProcessManagerBean_RemoteProxy_4bin6i8.contentFileExists(Unknown Source)
[New log entry] 11/05/27 02:48:08 at com.collaxa.cube.ws.soap.SOAPProviderHelper.copyProcessFile(SOAPProviderHelper.java:284)
[New log entry] 11/05/27 02:48:08 at com.collaxa.cube.ws.soap.SOAPProviderHelper.doGet(SOAPProviderHelper.java:487)
[New log entry] 11/05/27 02:48:08 at com.collaxa.cube.ws.soap.oc4j.BPELOC4JServlet.doGet(BPELOC4JServlet.java:190)
[New log entry] 11/05/27 02:48:08 at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
[New log entry] 11/05/27 02:48:08 at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
[New log entry] 11/05/27 02:48:08 at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:400)
[New log entry] 11/05/27 02:48:08 at java.security.AccessController.doPrivileged(Native Method)
[New log entry] 11/05/27 02:48:08 at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
[New log entry] 11/05/27 02:48:08 at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:414)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:644)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
[New log entry] 11/05/27 02:48:08 at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
[New log entry] 11/05/27 02:48:08 at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
[New log entry] 11/05/27 02:48:08 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303
[New log entry] 11/05/27 02:48:08 at java.lang.Thread.run(Thread.java:595)
Error While Deploying Using ant script.
BUILD FAILED
/home/c_lprove/sridhar/InInvoice/build.xml:81: A problem occured while connecting to server "xxxx.yyyy.com" using port "11745": <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>500 Internal Server Error</TITLE>
</HEAD><BODY>
<H1>Internal Server Error</H1>
The server encountered an internal error or
misconfiguration and was unable to complete
your request.<P>
Please contact the server administrator,
[email protected] and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.<P>
More information about this error may be available
in the server error log.<P>
</BODY></HTML>Yes it is having a receive activity , it receives the cXML from Ariba Adaapter. I checked the adapter it is up.
I generated the jar and deployed through BPEL console still i get the same error.
I got the below error
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log. -
Problem executing migrated BPEL process in Oracle SOA 11g
Hi,
I have migrated a 10g BPEL process to 11g successfully and deployed it. But while trying to invoke the BPEL, I am getting this error while invoking the bpel:
Non Recoverable System Fault :
Error committing transaction:; nested exception is: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLException: ORA-12899: value too large for column "DEV1_SOAINFRA"."CUBE_INSTANCE"."TITLE" (actual: 1718, maximum: 100) Error Code: 12899 Call: INSERT INTO CUBE_INSTANCE (CIKEY, PARENT_REF_ID, AG_ROOT_ID, TEST_RUN_ID, COMPOSITE_LABEL, STATE, CONVERSATION_ID, EXT_STRING1, SCOPE_USIZE, MODIFY_DATE, STAGE, AT_COUNT_ID, CREATOR, ECID, PARENT_ID, TITLE, PRIORITY, TEST_SUITE, TEST_CASE, METADATA, SCOPE_CSIZE, COMPOSITE_NAME, STATUS, ROOT_ID, DOMAIN_NAME, CMPST_ID, OUTCOME, EXT_INT1, AG_MILESTONE_PATH, COMPONENTTYPE, PROCESS_TYPE, MODIFIER, CREATION_DATE, AT_DETAIL_ID, COMPONENT_NAME, SCOPE_REVISION, EXT_STRING2, AT_EVENT_ID, COMPOSITE_REVISION, TEST_RUN_NAME, CACHE_VERSION) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) bind => [10092, null, null, null, soa_f21825b0-dcd6-47c2-8bf0-da63e26a53ea, 5, urn:uuid:b194c638-d9b3-4680-a10f-068c9a1eaa01, null, 415, 2010-06-23 12:38:26.406, null, 0, null, 0000I_ZcdIR95il_Kt9Die1C8BKX00009a, null, Instance #10092 of ProcessOrder GIFBDC IG-GetOrder Order 98347594357 Always 100shij 2009-08-03T16:16:17.390Z 321354564 processCancelBRMOrder Commit 1 2010061001 2010-05-01 VIN2010061001 Address1 CityName CountrySub 456123 US 101 true 12345 0 0 wang chen 1 1 1 1 1 1 Sales_Channel 123 PricePlan 156 2010-05-01 true 101 , 0, null, null, null, 256, ProcessOrder, Log_Fault, null, default, 10006, null, 0, null, bpel, 0, null, 2010-06-23 12:38:06.812, 0, ProcessOrder, 1, null, 0, 1.0, null, null] Query: InsertObjectQuery(com.collaxa.cube.persistence.dto.CubeInstance@1830602)
IS there any problem with the configuration of database? I am using XE for storing the metadata.
Please provide the solution for the issue.
Thanks in advance.Yes it is having a receive activity , it receives the cXML from Ariba Adaapter. I checked the adapter it is up.
I generated the jar and deployed through BPEL console still i get the same error.
I got the below error
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log. -
Unable to get Fault in reply from Synchronous BPEL Process
Hi All,
I am using a synchronous BPEL process which always throws a fault. The structure of this fault message is added to <bpel_process_name>.xsd.
For WSDL faults I have added the following in .wsdl file:
</wsdl:message>
<wsdl:message name="BusinessFault">
<wsdl:part name="payload" element="client:faultarea"/>
</wsdl:message>
<wsdl:portType name="FaultBPELProcess">
<wsdl:operation name="process">
<wsdl:input message="client:FaultBPELProcessRequestMessage"/>
<wsdl:output message="client:FaultBPELProcessResponseMessage"/>
<wsdl:fault message="client:BusinessFault" name="BusinessFault" />
</wsdl:operation>
</wsdl:portType>
Now when I invoke this BPEL process, the fault is thrown and caught by the catch block at main scope. this catch assigns some values to the fault message and returns it back to the calling party.
Fault QName is defined in the reply activity of catch block.
On testing it, the reply never comes back and I can see the following error message in the logs:
[2011-08-09T09:47:01.001+05:30] [soa_server1] [NOTIFICATION] [] [oracle.wsm.agent.WSMAgent] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:53ccedc:131a8598fc1:-8000-0000000000000ed1,0:3] [WEBSERVICE_PORT.name: FaultBPELProcess_pt] [APP: soa-infra] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: faultbpelprocess_client_ep] [J2EE_APP.name: soa-infra] Message Type is normalized, exiting agent.processFault()
[2011-08-09T09:47:01.001+05:30] [soa_server1] [NOTIFICATION] [] [oracle.wsm.agent.WSMAgent] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:53ccedc:131a8598fc1:-8000-0000000000000ed1,0:3] [WEBSERVICE_PORT.name: FaultBPELProcess_pt] [APP: soa-infra] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: faultbpelprocess_client_ep] [J2EE_APP.name: soa-infra] Message Type is normalized, exiting agent.processFault()
[2011-08-09T09:47:01.060+05:30] [soa_server1] [ERROR] [OWS-04086] [oracle.webservices.service] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:53ccedc:131a8598fc1:-8000-0000000000000ed1,0:3] [APP: soa-infra] javax.xml.rpc.soap.SOAPFaultException[[
at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.generateSoapFaultException(WebServiceEntryBindingComponent.java:1094)
at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.processIncomingMessage(WebServiceEntryBindingComponent.java:887)
at oracle.integration.platform.blocks.soap.FabricProvider.processMessage(FabricProvider.java:113)
at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:1187)
at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:1081)
at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:581)
at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:232)
at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:192)
at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:459)
at oracle.integration.platform.blocks.soap.FabricProviderServlet.doPost(FabricProviderServlet.java:507)
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.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
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:413)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
[2011-08-09T09:47:01.061+05:30] [soa_server1] [ERROR] [OWS-04115] [oracle.webservices.service] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:53ccedc:131a8598fc1:-8000-0000000000000ed1,0:3] [APP: soa-infra] An error occurred for port: FabricProvider: javax.xml.rpc.soap.SOAPFaultException.
If I try to invoke the endpoint uri, it gets invoked and returns the response.
Any pointers will be appreciated!!I tried the same scenario which you told and it's working for me...I'll paste the contents for your reference...
BPELProcess.bpel
<?xml version = "1.0" encoding = "UTF-8" ?>
<!--
-->
<process name="BPELProcess1"
targetNamespace="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1"
xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:client="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1"
xmlns:ora="http://schemas.oracle.com/xpath/extension"
xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
<!--
PARTNERLINKS
List of services participating in this BPEL process
-->
<partnerLinks>
<!--
The 'client' role represents the requester of this service. It is
used for callback. The location and correlation information associated
with the client role are automatically set using WS-Addressing.
-->
<partnerLink name="bpelprocess1_client" partnerLinkType="client:BPELProcess1" myRole="BPELProcess1Provider"/>
</partnerLinks>
<!--
VARIABLES
List of messages and XML documents used within this BPEL process
-->
<variables>
<!-- Reference to the message passed as input during initiation -->
<variable name="inputVariable" messageType="client:BPELProcess1RequestMessage"/>
<!-- Reference to the message that will be returned to the requester-->
<variable name="outputVariable" messageType="client:BPELProcess1ResponseMessage"/>
<variable name="FaultVar_2" messageType="client:BusinessFault"/>
<variable name="FaultVar" messageType="client:BusinessFault"/>
</variables>
<faultHandlers>
<catch faultName="client:BusinessFault" faultVariable="FaultVar">
<reply name="Reply_1" variable="FaultVar"
partnerLink="bpelprocess1_client" portType="client:BPELProcess1"
operation="process" faultName="client:BusinessFault"/>
</catch>
</faultHandlers>
<!--
ORCHESTRATION LOGIC
Set of activities coordinating the flow of messages across the
services integrated within this business process
-->
<sequence name="main">
<!-- Receive input from requestor. (Note: This maps to operation defined in BPELProcess1.wsdl) -->
<receive name="receiveInput" partnerLink="bpelprocess1_client" portType="client:BPELProcess1" operation="process" variable="inputVariable" createInstance="yes"/>
<!-- Generate reply to synchronous request -->
<assign name="Assign_1">
<copy>
<from expression="'A business fault occured'"/>
<to variable="FaultVar_2" part="payload"
query="/client:processResponse/client:result"/>
</copy>
</assign>
<throw name="Throw_1" faultName="client:BusinessFault"
faultVariable="FaultVar_2"/>
<reply name="replyOutput" partnerLink="bpelprocess1_client" portType="client:BPELProcess1" operation="process" variable="outputVariable"/>
</sequence>
</process>
BPELProcess1.wsdl
<?xml version= '1.0' encoding= 'UTF-8' ?>
<wsdl:definitions
name="BPELProcess1"
targetNamespace="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1"
xmlns:ns1="http://schemas.oracle.com/bpel/extension"
xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
xmlns:client="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>
<plnk:partnerLinkType name="BPELProcess1">
<plnk:role name="BPELProcess1Provider">
<plnk:portType name="client:BPELProcess1"/>
</plnk:role>
</plnk:partnerLinkType>
<wsdl:import namespace="http://schemas.oracle.com/bpel/extension" location="RuntimeFault.wsdl"/>
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1" schemaLocation="xsd/BPELProcess1.xsd"/>
</schema>
</wsdl:types>
<wsdl:message name="BPELProcess1RequestMessage">
<wsdl:part name="payload" element="client:process"/>
</wsdl:message>
<wsdl:message name="BPELProcess1ResponseMessage">
<wsdl:part name="payload" element="client:processResponse"/>
</wsdl:message>
<wsdl:message name="BusinessFault">
<wsdl:part name="payload" element="client:processResponse"/>
</wsdl:message>
<wsdl:portType name="BPELProcess1">
<wsdl:operation name="process">
<wsdl:input message="client:BPELProcess1RequestMessage"/>
<wsdl:output message="client:BPELProcess1ResponseMessage"/>
<wsdl:fault message="client:BusinessFault" name="BusinessFault" />
</wsdl:operation>
</wsdl:portType>
</wsdl:definitions>
Hope that helps you...
Thanks,
N -
Transaction Error In Synchronous BPEL Process
Hi All,
The Bpel Component makes a synchronous call to webservice , at few occurences response from
webservice delays to 50 secs .
The default time out of Synchronous Bpel Process is 45 secs, so when response from webservice takes more than 45 secs, the expected behaviour of BPEL
component should get faulted and control should go to catch all block
Issue
But instead, the Invoke activity in BPEL component gets rolled back, and control did not go to catch all block and complete instance goes into running state.
And after 50 secs, once webservice response back , a new instances gets automitically created .
Can anyone, Please help me to resolve the issue, i do not want the instances to go into running state .What I would do is, have the timeout settings as follows.
syncMaxWaitTime < EJB Timeout < JTA timeout
Then, as Vijay pointed in "http://technology.amis.nl/2011/11/18/timeouts-in-oracle-soa-suite-11g/" link, you should add the httpConnTimeout property and httpReadTimeout property to be set less than syncMaxWaitTimeout, so that those timeout will kick in before the syncMaxWaitTime and throw the exception and you can catch it in the catchall block.
HTH.
Hruthayah -
BUSINESS RULES WITH SYNCHRONOUS BPEL PROCESS
Hi
I want to know whether i can use Business Rules with Synchronous BPEL process. Actually i developed an example synchronous BPEL process but while invoking decision service it generated an error stating RECEIVE TIMEOUT fault. But when i created identical process in ASYNCHRONOUS mode it went through without any error.
Thanks and Regards
VishnuJust in case, here is some documentation about changing the syncMaxWaitTime
http://download-east.oracle.com/docs/cd/B31017_01/integrate.1013/b28980/bpel_install.htm
Jan Kettenis -
Synchronous BPEL process calling apache soap 2.3.1 service(s) on jboss
I have a problem that is quite frustratiing. I have a very simple synchronous BPEL process and I am trying to invoke some legacy services we have deployed using Apache soap 2.3.1 running on jboss. The process executes, the service executes, but the return value is not received by the BPEL process.
I used obtunnel to capture the data flow and everything seems fine from that perspective. The problem is, if you watch the monitor, the status says active, but the BPEL process returns immediately. It does not wait for the response, so the return value winds up being null. I have tried this numerous times with several services and the result is always the same. This is a serious problem for us. Any suggestions/insight would be very much appreciated.
Ina case there are any doubts as to whether or not it is actually a synchronous process, from the BPEL code:
<!--
Oracle JDeveloper BPEL Designer
Created: Wed Apr 18 13:19:50 EDT 2007
Author: bmurray
Purpose: Synchronous BPEL Process
-->
Below is an example from obtunnel:
==============
Listen Port: 5678
Target Host: pian.wlgore.com
Target Port: 8080
==== Request ====
POST /soap/servlet/rpcrouter HTTP/1.1
Host: pian.wlgore.com:5678
Connection: TE
TE: trailers, deflate, gzip, compress
User-Agent: Oracle HTTPClient Version 10h
SOAPAction: "http://vitalstream.com/webservices/Authenticate"
Accept-Encoding: gzip, x-gzip, compress, x-compress
Content-type: text/xml; charset=UTF-8
Content-length: 829
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<ns0:Authenticate xmlns:ns0="http://vitalstream.com/webservices">
<strAccount xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar3</strAccount>
<strToken xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar1</strToken>
<strReferrer xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar4</strReferrer>
<strSourceURL xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar</strSourceURL>
<strClientIP xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar2</strClientIP>
</ns0:Authenticate>
</env:Body>
</env:Envelope>==== Response ====
HTTP/1.1 200 OK
X-Powered-By: Servlet 2.4; Tomcat-5.0.28/JBoss-4.0.1sp1 (build: CVSTag=JBoss_4_0_1_SP1 date=200502160314)
Set-Cookie: JSESSIONID=C656EEE6B641F23F02D6E5BE79CD2A4D.ajp13w; Path=/soap
Content-Type: text/xml;charset=utf-8
Content-Length: 480
Date: Wed, 18 Apr 2007 18:34:19 GMT
Server: Apache-Coyote/1.1
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<ns1:AuthenticateResponse xmlns:ns1="http://vitalstream.com/webservices" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return xsi:type="xsd:int">1</return>
</ns1:AuthenticateResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
==============
As you can see, the value is indeed returned from the service, but BPEL indicates a null value for the return:
<messages><Invoke_1_Authenticate_InputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strSourceURL"><strSourceURL xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar</strSourceURL>
</part><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strToken"><strToken xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar1</strToken>
</part><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strAccount"><strAccount xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar3</strAccount>
</part><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strClientIP"><strClientIP xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar2</strClientIP>
</part><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strReferrer"><strReferrer xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar4</strReferrer>
</part></Invoke_1_Authenticate_InputVariable><Invoke_1_Authenticate_OutputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Result">null</part></Invoke_1_Authenticate_OutputVariable></messages>Did you specify the correct message type for your return variable?
<Invoke_1_Authenticate_OutputVariable>
<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Result">
null
</part>
</Invoke_1_Authenticate_OutputVariable>
As is returns:
<ns1:AuthenticateResponse
xmlns:ns1="http://vitalstream.com/webservices" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return xsi:type="xsd:int">1</return>
</ns1:AuthenticateResponse>
Regards,
Marc -
Repeat executed of synchronous bpel process
Repeat call in synchronous bpel process
The BPEL PM Server Version is as follows:
Oracle BPEL Server 版本 10.1.3.1.0
构建: 0
构建时间: Mon Oct 09 08:44:49 PDT 2006
构建类型: release
源标记: PCBPEL_10.1.3.1.0_GENERIC_061009.0802
When I run a synchronous bpel process which may run about 4 hours,the process was executed twice .
But when I design this process using asynchronous method, it does not happen.
Does anyone encounter this case and how it was resolved?
Or this is a bug of Oracle BPEL Server ?
Thanks for your answer.
Jiucai.
nullHI
Please describe your issue clearly and also the opmn log error trace here ! -
How to call a BPEL process from Oracle Apps Java Concurrent program
Hello,
I need to trigger a BPEL process from Oracle Apps. Can anybody tell me how to do that? I have two triggering option--
1. On button click from a Form 6i screen
2. Using Java Concurrent program.
Thanks in advance.
DebkantaI am not sure how concurrent program works, but may be one of the way might work out, let me know if Java Concurrent Program works a bit different way
- [if async] Through concurrent program, you can insert message token to db or aq, and BPEL can be instantiated from there
or
- If it supports pure java call, then you can look at multiple documents (e.g. http://www.oracle.com/technology/products/ias/bpel/pdf/orabpel-Tutorial7-InvokingBPELProcesses.pdf) to invoke your process
- You can also use oracle db utility to invoke soap operation and get the result back
HTH,
Chintan -
Issue in invoking the BPEL process from Oracle using a SOAP Request
Hi,
We are facing an issue while invoking a deployed Bpel Process from Oracle Applications 11.5.10..
Using a concurrent program( Unix / Host program ) we are passing the input variables required for the Bpel process in the ProcessRequest tags and forming this as a SOAP message payload.
Then trying to invoke the deployed bpel process using the end point location using HTTP POST..but nothing is happening..
The bpel process is not getting invoked when i look at the Console and also checked for the Manual Recovery queue..it's not stuck there as well..
Have set the Transfer Time Out to 25 minutes using UTL_HTTP.SET_TRANSFER_TIMEOUT(1500);
Could someone please help us as soon as possible with this ..as this is critical and we are stuck at the moment.
The logic is mentioned below :
UTL_HTTP.SET_TRANSFER_TIMEOUT(1500);
UTL_HTTP.SET_DETAILED_EXCP_SUPPORT(ENABLE=>TRUE);
soap_request:='<?xml version="1.0" encoding="UTF-8"?>'||
'<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'||
'<soap:Header/>'||
'<soap:Body xmlns:ns1="http://xmlns.oracle.com/bpelprocessname">'||
'<ns1:bpelprocessnameProcessRequest>'||
'<ns1:CSONum>'||order_number||'</ns1:CSONum>'||
'<ns1:CreationDate>'||c_chr_cso_last_run_dte||'</ns1:CreationDate>'||
'</ns1:bpelprocessnameProcessRequest>'||
'</soap:Body>'||
'</soap:Envelope>';
http_req:= utl_http.begin_request
('http://bpel_server ip:port/orabpel/domain_name/bpelprocessname/1.0' , 'POST', 'HTTP/1.1'
utl_http.set_header(http_req, 'Content-Type', 'text/xml') ;
utl_http.set_header(http_req, 'Content-Length', length(soap_request)) ;
utl_http.set_header(http_req, 'SOAPAction', 'process');
utl_http.write_text(http_req, soap_request) ;
http_resp:= utl_http.get_response(http_req) ;
utl_http.read_text(http_resp, soap_respond) ;
utl_http.end_response(http_resp) ;
dbms_output.put_line(soap_respond);
Thankscheck if your soap envelope is correct,check my below procedure which is working fine for me
procedure xxxxx_BPEL_SCHEDULER
IS
soap_request varchar2(30000);
soap_respond varchar2(30000);
http_req utl_http.req;
http_resp utl_http.resp;
launch_url varchar2(240) ;
begin
soap_request:='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:add="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:star="http://xmlns.oracle.com/xxxxx_BPEL_SCHEDULER">
<soapenv:Header>
<add:MessageID>?</add:MessageID>
<add:ReplyTo>
<add:Address>?</add:Address>
<!--Optional:-->
<add:ReferenceProperties>
<!--You may enter ANY elements at this point-->
</add:ReferenceProperties>
<!--Optional:-->
<add:PortType>?</add:PortType>
<!--Optional:-->
<add:ServiceName PortName="?">?</add:ServiceName>
<!--You may enter ANY elements at this point-->
</add:ReplyTo>
</soapenv:Header>
<soapenv:Body>
<star:STARS_BPEL_SCHEDULERProcessRequest>
<star:SCHEDULER_PARAM1>?</star:SCHEDULER_PARAM1>
<star:SCHEDULER_PARAM2>?</star:SCHEDULER_PARAM2>
<star:SCHEDULER_PARAM3>?</star:SCHEDULER_PARAM3>
<star:SCHEDULER_PARAM4>?</star:SCHEDULER_PARAM4>
<star:SCHEDULER_PARAM5>?</star:SCHEDULER_PARAM5>
</star:STARS_BPEL_SCHEDULERProcessRequest>
</soapenv:Body>
</soapenv:Envelope>';
http_req:= utl_http.begin_request('http://xxxxxx.com:16000/orabpel/default/xxxx_BPEL_SCHEDULER/1.0 '
,'POST',
'HTTP/1.1'
utl_http.set_header(http_req, 'Content-Type', 'text/xml') ;
utl_http.set_header(http_req, 'Content-Length', length(soap_request)) ;
utl_http.set_header(http_req, 'SOAPAction', 'initiate');
utl_http.write_text(http_req, soap_request) ;
http_resp:= utl_http.get_response(http_req) ;
utl_http.read_text(http_resp, soap_respond) ;
utl_http.end_response(http_resp) ;
dbms_output.put_line(soap_respond);
END; -
When to use Synchronous BPEL process.....??
I know the difference between Asynchronous and Synchronous BPEL process... BUt can any body tell me exactly when to use synchronous BPLE process... it will be great if anybody can give me some example..??
If caller needs to receive output from processing immediately then use sync.
For instance give me get customer details and display immediately on screen
If processing is taking longer time more than fewl seconds use async
Example:
Submit order for processing -
Synchronous BPEL processes and dehydration
Hi all,
I am confused about dehydration behaviour of synchronous BPEL processes.
The BPEL Developer's Guide says:
"Dehydration enables the states of long-running processes to be automatically maintained in a database and correlation of asynchronous messages"
IMHO this means that dehydration is applied to asynchronous BPEL processes only - not to synchronous processes.
On the other hand I found a forum entry Re: dehydration ï¼ saying the following:
"Dehydration can optionally be disabled for synchronous flows"
which means that by default synchronous processes will be dehydrated(?).
Can anyone clarify the dehydration behaviour and configuration of synchronous BPEL processes?
Thanks in advance
IngoHi Ingo,
The BPEL Developer's Guide says:
"Dehydration enables the states of long-running processes to be automatically maintained in a database and correlation of asynchronous messages"
This is true, as well as adding a checkpoint() in the Java Embedding Activity will force hydration.
Cheers
Pucha Anirudh -
Fault error framework for synchronous Bpel process
Hi all,
Do fault policies work for synchronous Bpel processes? I am using a synchronous bpel process which invokes JMS service. I have used fault policies and bindings for this , when the instance fails due to binding fault the instance gets timed out and it neither goes to catch block nor fault policies.Is it normal behaviour or am i doing wrong anywhere. please help
Regards
Raju.Hello Raju,
yes fault policies absolutely work for sync Bpel processes, please check if you have defined the Binding fault in your fault policy and also in your bindings.
if you have defined them in your policies then the control will jump to the policies first do the respective action defined.
so do check again...
Good luck..
vny. -
Fault framework for synchronous Bpel process
Hi all,
Do fault policies work for Synchronous Bpel process? I have created a Synchronous Bpel process which invokes a JMS service. In this case if the process errors out due to binding fault, my instance is getting timed out and it's neither going to fault policies nor CatchAll block. Is it normal behaviour oris it happening only in this case? please help.
Regards
RajuHello Raju,
yes fault policies absolutely work for sync Bpel processes, please check if you have defined the Binding fault in your fault policy and also in your bindings.
if you have defined them in your policies then the control will jump to the policies first do the respective action defined.
so do check again...
Good luck..
vny.
Maybe you are looking for
-
Transaction iView - pass web dynpro parameter
Hi! I created a web dynpro (ABAP) iView with a button on it. Selecting the button opens a transaction iView. (SAP GUI for Windows) I want to pass a web dynpro parameter to the SAP GUI iView and write the value of this WD parameter into a screen field
-
Oracle express 6.3.2 AIX
Is there anywhere that I can download oracle express server version 6.3.2.0 for AIX 5.3 ??? Is this product still supported ?
-
Package does not compile from 10g to 11g
On the 10g instance I don't get any errors. When I created the package on the 11g instance, I get this : PACKAGE BODY SYSTEM.SIEBEL_ACCOUNT_MANAGEMENT On line: 102 PL/SQL: ORA-00942: Table ou vue inexistante Here's the lign 99 to 108 : BEGIN SELECT
-
My emails are printing in very tiny type (unreadable). This happens in both my Gmail and AOL email accounts. When I use internet explorer it doesn't happen. I have researched the answers online and it seems that if I go to Firefox>file>page setup>sca
-
Using Powershell to change a Windows Service logon account name and password
Hi I have been sreaching the web on this and found a lot of advice none of which works. I want to write a scipt that will change service passwords. this is what I have $svc = get-wmiobject win32_service -filter "name='AdobeARMservice'" $svc.change