Exception in setVariableData
What is wrong with this: setVariableData("output", "payload", "/result", new String(nodeValue)), where nodeValue is the value I get in the Jave Exec after some calculations. This is throwing up the following exception trace:
04/09/01 13:30:10 Exception thrown while getting node value faultName: {{http:/
/schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
messageType: {null}
code: {null}
summary: {null}
detail: {null}
04/09/01 13:30:10 com.collaxa.cube.engine.types.BPELFault: faultName: {{http://s
chemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
messageType: {null}
code: {null}
summary: {null}
detail: {null}
04/09/01 13:30:10 at com.collaxa.cube.engine.ext.BPELXExecLet.setVariableD
ata(BPELXExecLet.java:523)
04/09/01 13:30:10 at bpel._1_0.ExecLetBxExe2.execute(ExecLetBxExe2.java:10
4)
04/09/01 13:30:10 at com.collaxa.cube.engine.ext.wmp.BPELXExecWMP.__execut
eStatements(BPELXExecWMP.java:58)
04/09/01 13:30:10 at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perfo
rm(BPELActivityWMP.java:154)
04/09/01 13:30:10 at com.collaxa.cube.engine.CubeEngine.performActivity(Cu
beEngine.java:3215)
04/09/01 13:30:10 at com.collaxa.cube.engine.CubeEngine.handleWorkItem(Cub
eEngine.java:1636)
04/09/01 13:30:10 at com.collaxa.cube.engine.dispatch.message.instance.Per
formMessageHandler.handleLocal(PerformMessageHandler.java:57)
04/09/01 13:30:10 at com.collaxa.cube.engine.dispatch.DispatchHelper.handl
eLocalMessage(DispatchHelper.java:81)
04/09/01 13:30:10 at com.collaxa.cube.engine.dispatch.DispatchHelper.sendM
emory(DispatchHelper.java:134)
04/09/01 13:30:10 at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEng
ine.java:5266)
04/09/01 13:30:10 at com.collaxa.cube.engine.CubeEngine.createAndInvoke(Cu
beEngine.java:1164)
04/09/01 13:30:10 at com.collaxa.cube.engine.bean.CubeEngineBean.createAnd
Invoke(CubeEngineBean.java:115)
04/09/01 13:30:10 at com.collaxa.cube.engine.bean.CubeEngineBean.syncCreat
eAndInvoke(CubeEngineBean.java:137)
04/09/01 13:30:10 at ICubeEngineBean_StatelessSessionBeanWrapper2.syncCrea
teAndInvoke(ICubeEngineBean_StatelessSessionBeanWrapper2.java:486)
04/09/01 13:30:10 at com.oracle.bpel.client.dispatch.BaseDispatcherService
.initialRequestAnyType(BaseDispatcherService.java:753)
04/09/01 13:30:10 at com.oracle.bpel.client.dispatch.BaseDispatcherService
.initialRequest(BaseDispatcherService.java:340)
04/09/01 13:30:10 at com.oracle.bpel.client.dispatch.BaseDispatcherService
.request(BaseDispatcherService.java:241)
04/09/01 13:30:10 at com.oracle.bpel.client.dispatch.DispatcherService.req
uest(DispatcherService.java:66)
04/09/01 13:30:10 at com.oracle.bpel.client.dispatch.DeliveryService.reque
st(DeliveryService.java:80)
04/09/01 13:30:10 at com.oracle.bpel.client.dispatch.DeliveryService.reque
st(DeliveryService.java:58)
04/09/01 13:30:10 at ngDoInitiate.jspService(_ngDoInitiate.java:157)
04/09/01 13:30:10 at com.orionserver.http.OrionHttpJspPage.service(OrionHt
tpJspPage.java:56)
04/09/01 13:30:10 at oracle.jsp.runtimev2.JspPageTable.service(JspPageTabl
e.java:347)
04/09/01 13:30:10 at oracle.jsp.runtimev2.JspServlet.internalService(JspSe
rvlet.java:509)
04/09/01 13:30:10 at oracle.jsp.runtimev2.JspServlet.service(JspServlet.ja
va:413)
04/09/01 13:30:10 at javax.servlet.http.HttpServlet.service(HttpServlet.ja
va:853)
04/09/01 13:30:10 at com.evermind.server.http.ServletRequestDispatcher.inv
oke(ServletRequestDispatcher.java:765)
04/09/01 13:30:10 at com.evermind.server.http.ServletRequestDispatcher.inc
lude(ServletRequestDispatcher.java:121)
04/09/01 13:30:10 at com.evermind.server.http.EvermindPageContext.include(
EvermindPageContext.java:267)
04/09/01 13:30:10 at displayProcess.jspService(_displayProcess.java:261)
04/09/01 13:30:10 at com.orionserver.http.OrionHttpJspPage.service(OrionHt
tpJspPage.java:56)
04/09/01 13:30:10 at oracle.jsp.runtimev2.JspPageTable.service(JspPageTabl
e.java:347)
04/09/01 13:30:10 at oracle.jsp.runtimev2.JspServlet.internalService(JspSe
rvlet.java:509)
04/09/01 13:30:10 at oracle.jsp.runtimev2.JspServlet.service(JspServlet.ja
va:413)
04/09/01 13:30:10 at javax.servlet.http.HttpServlet.service(HttpServlet.ja
va:853)
04/09/01 13:30:10 at com.evermind.server.http.ServletRequestDispatcher.inv
oke(ServletRequestDispatcher.java:765)
04/09/01 13:30:10 at com.evermind.server.http.ServletRequestDispatcher.for
wardInternal(ServletRequestDispatcher.java:317)
04/09/01 13:30:10 at com.evermind.server.http.HttpRequestHandler.processRe
quest(HttpRequestHandler.java:790)
04/09/01 13:30:10 at com.evermind.server.http.HttpRequestHandler.run(HttpR
equestHandler.java:270)
04/09/01 13:30:10 at com.evermind.server.http.HttpRequestHandler.run(HttpR
equestHandler.java:112)
04/09/01 13:30:10 at com.evermind.util.ReleasableResourcePooledExecutor$My
Worker.run(ReleasableResourcePooledExecutor.java:192)
04/09/01 13:30:10 at java.lang.Thread.run(Thread.java:534)
I looked at your bpel, the problem is the "output" variable is not initialized. thats why when you apply the "/result" query in setVariableData() it returns zero node. I changed two things in your bpel.
1. initialized the output variable
<assign>
<copy>
<from> <TestResponse xmlns="http://www.yasutech.com"><result/></TestResponse> </from>
<to variable="output" part="payload"/>
</copy>
</assign>
2.Changed the query in <bpelx:exec> setVariableData()
setVariableData("output", "payload", "/tns:TestResponse/tns:result", new String(nodeValue));
From 2.0.10, we do strict xpath evaluation. All xpath queries should be qualified now. which means all your xpath steps should have prefix associated like "/pfx1:a/pfx1:b/pfx2:c".
Similar Messages
-
Hi All,
I am getting the exception "Exception: java.lang.RuntimeException: Caller doesn't have enough permission to call this method.", when i try to execute the code "Composite MFTComposite = (Composite)locator.lookupComposite(compositeNameRevision); ".Below mentioned the sample code , i am using this code for getting the running instances.
try{
String componentInstanceID = new Long(getInstanceId()).toString();
addAuditTrailEntry("Component Instance ID is "+componentInstanceID);
Locator locator = LocatorFactory.createLocator();
addAuditTrailEntry("Created locator..");
String compositeRevision = (String)getVariableData("compositeRevision");
addAuditTrailEntry("compositeRevision..1111"+compositeRevision);
String compositeNameRevision = "ManagedFileTransfer/MFT!" + compositeRevision;
Composite MFTComposite = (Composite)locator.lookupComposite(compositeNameRevision);
addAuditTrailEntry("MFT Composite lookup complete..setting filter");
CompositeInstanceFilter filter = new CompositeInstanceFilter();
filter.setState(CompositeInstance.STATE_RUNNING);
filter.setTitle((String) getVariableData("transferName"));
List<CompositeInstance> instances = MFTComposite.getInstances(filter);
StringBuffer message = new StringBuffer();
if ((instances != null) && (instances.size() > 1)) {
addAuditTrailEntry("currently running MFT Instances..");
for (CompositeInstance instance : instances) {
message.append("Instance: " + instance.getId() + " Creation date: " + instance.getCreationDate() + ",");
addAuditTrailEntry("Instance: " + instance.getId() +
" creation-date: " + instance.getCreationDate());
setVariableData("runningInstance", message.toString());
} catch (Exception ex) {
setVariableData("runningInstance", ex.getMessage());
addAuditTrailEntry("Exception: " + ex);
Appreaciate your quick response.
Thank You,
Vamsi.PHi Vamsi.P,
Try something like below... Using weblogic admin credentials...
Hashtable props = new Hashtable();
props.put(Context.SECURITY_PRINCIPAL, "fred");
props.put(Context.SECURITY_CREDENTIALS, "seafood");
Locator locator = LocatorFactory.createLocator(props);
Cheers,
Vlad -
Urgent: ORABPEL-05215 PLEASE HELP!
I am trying to get following code in a bpel process to work under SOA 10.1.3.1. The code works fine until I added the FOR LOOP which accesses the tasks in the List tasks. I am able to create a LIST tasks using taskQueryService.queryTasks, but when I try and access each task in the LIST, by using Task task = (Task)tasks.get(i); I compile the code, and it returns 0 errors, but when I deploy it, I get:
BUILD FAILED
C:\BPELWorkList\BPELWorkList\build.xml:79: A problem occured while
connecting to server "missun2db" using port "8890":
bpel_BPELWorkList_1.0.jar failed to deploy. Exception message is:
ORABPEL-05215
One of my imports is:
<bpelx:exec import="oracle.bpel.services.workflow.task.model.Task"/>
Here is the code:
String user = (String)getVariableData("InputUserId");
String password = (String)getVariableData("InputPassword");
String sStatus = (String)getVariableData("InputStatus");
String sPriority = (String)getVariableData("InputPriority");
String expDateFromFilter = (String)getVariableData("InputExpFromDate");
String expDateToFilter = (String)getVariableData("InputExpToDate");
String createDateFromFilter =
(String)getVariableData("InputCreateFromDate");
String createDateToFilter =
(String)getVariableData("InputCreateToDate");
String sKeywords = (String)getVariableData("InputKeywords");
String sCategory = (String)getVariableData("InputCategory");
SimpleDateFormat df = new SimpleDateFormat( "MMM dd, yyyy" );
IWorkflowServiceClient wfSvcClient =
WorkflowServiceClientFactory.getWorkflowServiceClient(WorkflowServiceCli
entFactory.JAVA_CLIENT);
ITaskQueryService taskQueryService = wfSvcClient.getTaskQueryService();
IWorkflowContext wfCtx = taskQueryService.authenticate(user, password,
oracle.tip.pc.services.identity.config.ISConfiguration.getDefaultRealmNa
me(), null);
Map filterParams = new HashMap();
if ((sPriority != null) && (!sPriority.equals("")))
filterParams.put(IWorklistService.FILTER_TYPE_PRIORITY_FILTER,
sPriority);
if ((sStatus != null) && (!sStatus.equals("")))
filterParams.put(IWorklistService.FILTER_TYPE_STATUS_FILTER,
sStatus);
if ((expDateFromFilter != null) && (!expDateFromFilter.equals("")))
Date fromDate = new Date(df.parse(expDateFromFilter).getTime());
filterParams.put(IWorklistService.FILTER_TYPE_EXP_DATE_FROM_FILTER,
fromDate);
if ((expDateToFilter != null) && (!expDateToFilter.equals("")))
Date toDate = new Date(df.parse(expDateToFilter).getTime());
filterParams.put(IWorklistService.FILTER_TYPE_EXP_DATE_TO_FILTER,
toDate);
if ((createDateFromFilter != null) &&
(!createDateFromFilter.equals("")))
Date fromDate = new
Date(df.parse(createDateFromFilter).getTime());
filterParams.put(IWorklistService.FILTER_TYPE_CREATE_DATE_FROM_FILTER,
fromDate);
if ((createDateToFilter != null) &&
(!createDateToFilter.equals("")))
Date toDate = new Date(df.parse(createDateToFilter).getTime());
filterParams.put(IWorklistService.FILTER_TYPE_CREATE_DATE_TO_FILTER,
toDate);
Predicate filterPredicate = null;
filterPredicate = FilterUtil.createPredicateFromRequest(wfCtx,
filterParams, new HashMap());
List queryColumns = new ArrayList();
queryColumns.add("TASKID");
queryColumns.add("TITLE");
queryColumns.add("PRIORITY");
queryColumns.add("ASSIGNED USERS");
queryColumns.add("ASSIGNED GROUPS");
queryColumns.add("STATE");
queryColumns.add("CREATED DATE");
queryColumns.add("EXPIRATION DATE");
List tasks =
taskQueryService.queryTasks(wfCtx,null,null,ITaskQueryService.ASSIGNMENT
FILTERMY_AND_GROUP,sKeywords,filterPredicate,null,0,0);
String myTasks = "\n";
int i=0;
for(i=0;i<tasks.size();i++)
Task task = (Task)tasks.get(i);
int taskNumber = task.getSystemAttributes().getTaskNumber();
String title = task.getTitle();
String taskId = task.getSystemAttributes().getTaskId();
setVariableData("outputVariable","payload","/ns1:WorkList_Response/ns1:E
rrors","User Authenticated! Tasks Size: "+tasks.size()+myTasks);
catch (WorkflowException wfe)
setVariableData("outputVariable","payload","/ns1:WorkList_Response/ns1:E
rrors", "WorkFlowException: "+wfe);
catch(Exception ex)
setVariableData("outputVariable","payload","/ns1:WorkList_Response/ns1:E
rrors","Exception: "+ex.getMessage());
Here is the ERROR:
Buildfile: C:\BPELWorkList\BPELWorkList\build.xml
validateTask:
[echo]
| Validating workflow
[validateTask] Validation of workflow task definitions is completed
without errors
deployProcess:
[echo]
| Deploying bpel process BPELWorkList on missun2db, port 8890
[deployProcess] Deploying process
C:\BPELWorkList\BPELWorkList\output\bpel_BPELWorkList_1.0.jar
BUILD FAILED
C:\BPELWorkList\BPELWorkList\build.xml:79: A problem occured while
connecting to server "missun2db" using port "8890":
bpel_BPELWorkList_1.0.jar failed to deploy. Exception message is:
ORABPEL-05215
Error while loading process.
The process domain encountered the following errors while loading the
process "BPELWorkList" (revision "1.0"): Failed to compile classes.
Failed to compile the generated BPEL classes for "BPELWorkList".
If you have installed a patch to the server, please check that the
bpelcClasspath domain property includes the patch classes.
at
com.collaxa.cube.engine.deployment.CubeProcessHolder.bind(CubeProcessHol
der.java:285)
at
com.collaxa.cube.engine.deployment.DeploymentManager.deployProcess(Deplo
ymentManager.java:804)
at
com.collaxa.cube.engine.deployment.DeploymentManager.deploySuitcase(Depl
oymentManager.java:670)
at
com.collaxa.cube.ejb.impl.BPELDomainManagerBean.deploySuitcase(BPELDomai
nManagerBean.java:445)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJ
BJoinPointImpl.java:35)
at
com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(Invoca
tionContextImpl.java:119)
at
com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInte
rceptor.java:52)
at
com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(Invoca
tionContextImpl.java:119)
at
com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInt
erceptor.java:31)
at com.evermind.server.ThreadState.runAs(ThreadState.java:620)
at
com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASIn
terceptor.java:34)
at
com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(Invoca
tionContextImpl.java:119)
at
com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(
TxRequiredInterceptor.java:50)
at
com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(Invoca
tionContextImpl.java:119)
at
com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInte
rceptor.java:52)
at
com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(Invoca
tionContextImpl.java:119)
at
com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPo
ol.java:55)
at
com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(Stat
elessSessionEJBObject.java:87)
at DomainManagerBean_RemoteProxy_4bin6i8.deploySuitcase(Unknown Source)
at
com.oracle.bpel.client.BPELDomainHandle.deploySuitcase(BPELDomainHandle.
java:317)
at
com.oracle.bpel.client.BPELDomainHandle.deployProcess(BPELDomainHandle.j
ava:339)
at
deployHttpClientProcess.jspService(_deployHttpClientProcess.java:376)
at
com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:453)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:591)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:515)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at
com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChai
n.java:64)
at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:396)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:410)
at
com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestD
ispatcher.java:621)
at
com.evermind.server.http.ServletRequestDispatcher.forwardInternal(Servle
tRequestDispatcher.java:368)
at
com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequest
Handler.java:866)
at
com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHa
ndler.java:448)
at
com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestH
andler.java:216)
at
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:
117)
at
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:
110)
at
oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocke
tReadHandler.java:260)
at
oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSoc
ketAcceptHandler.java:239)
at
oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcc
eptHandler.java:34)
at
oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(Ser
verSocketAcceptHandler.java:880)
at
com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Releasab
leResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Total time: 42 seconds
I added the following to C:\product\10.1.3.1\OracleAS_1\j2ee\home\config\application.xml:
<library
path="C:/product/10.1.3.1/OracleAS_1/bpel/lib/bpm-infra.jar"/>
<library
path="C:/product/10.1.3.1/OracleAS_1/bpel/lib/orabpel-common.jar"/>
<library
path="C:/product/10.1.3.1/OracleAS_1/bpel/lib/orabpel-thirdparty.jar"/>
<library path="C:/product/10.1.3.1/OracleAS_1/bpel/lib/orabpel.jar"/>
<library
path="C:/product/10.1.3.1/OracleAS_1/j2ee/home/oc4jclient.jar"/>
<library path="C:/product/10.1.3.1/OracleAS_1/bpel/lib/xml.jar"/>
<library
path="C:/product/10.1.3.1/OracleAS_1/bpel/lib/xmlparserv2.jar"/>
<library
path="C:/product/10.1.3.1/OracleAS_1/webservices/lib/orasaaj.jar"/>
<library
path="C:/product/10.1.3.1/OracleAS_1/webservices/lib/soap.jar"/>
<library
path="C:/product/10.1.3.1/OracleAS_1/bpel/system/services/config"/>
<library
path="C:/product/10.1.3.1/OracleAS_1/bpel/system/services/lib/bpm-servic
es.jar"/>
<library
path="C:/product/10.1.3.1/OracleAS_1/bpel/system/services/schema"/>
<library path="C:/product/10.1.3.1/OracleAS_1/bpel/lib/olite40.jar"/>
<library path="C:/product/10.1.3.1/OracleAS_1/jdbc/lib/ojdbc14.jar"/>
the bpelcClasspath is:
/opt/flora/bpel/lib/bpm-infra.jar:
/opt/flora/bpel/lib/orabpel-common.jar:
/opt/flora/bpel/lib/orabpel-thirdparty.jar:
/opt/flora/bpel/lib/orabpel.jar:
/opt/flora/j2ee/home/oc4jclient.jar:
/opt/flora/bpel/lib/xml.jar:
/opt/flora/bpel/lib/xmlparserv2.jar:
/opt/flora/webservices/lib/orasaaj.jar:
/opt/flora/webservices/lib/soap.jar:
/opt/flora/bpel/system/services/config:
/opt/flora/bpel/system/services/lib/bpm-services.jar:
/opt/flora/bpel/system/services/schema:
/opt/flora/bpel/lib/olite40.jar:
/opt/flora/jdbc/lib/ojdbc14.jar
But still no change. I really need to resolve this as soon as possible.
Any help is appreciated.
Thanks!!
MoeI removed the lines in application.xml, restarted the server, and deployed my process again, but no luck, the same error:
BUILD FAILED
C:\BPELWorkList\BPELWorkList\build.xml:79: A problem occured while connecting to server "missun2db" using port "8890": bpel_BPELWorkList_1.0.jar failed to deploy. Exception message is: ORABPEL-05215
Error while loading process.
The process domain encountered the following errors while loading the process "BPELWorkList" (revision "1.0"): Failed to compile classes.
Failed to compile the generated BPEL classes for "BPELWorkList".
If you have installed a patch to the server, please check that the bpelcClasspath domain property includes the patch classes.
This error is only happening when I add this for loop:
for(i=0;i<tasks.size();i++)
Task task = (Task)tasks.get(i);
int taskNumber = task.getSystemAttributes().getTaskNumber();
String title = task.getTitle();
String taskId = task.getSystemAttributes().getTaskId();
I am using this import for the TASK variable:
oracle.bpel.services.workflow.task.model.Task
What am I missing? -
Hi All
I need some very urgent help. I had been working on TIBCO and XI till now and in a project currently using Oracle Fusion. I need to query a data from an LDAP service and post a collection of employees into a JMS Queue as an XML. Now I tried using Embedded java to query the LDAP service and that works fine and it returns me the employee details. I have an XSD file that represents how the data needs to be presented. I imported the XSD file into my project and created a variable of element type and chose the schema to be the XSD which I am pasting below. I tried all kinds of ways to populate the data but I always get a selection failure error.
I then just tried a simple setVariableData method to set the username and again i get the same error. How can I set the variable so that it returns me a collection back. Please help. I am pasting both the XSD as well as the java code that I tried to use. It would be great if someone could let me know what I have done wrong or is there any ways of doing this.
Thanks so much
<?xml version="1.0" encoding="windows-1252" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.macerich.com/o2c"
targetNamespace="http://www.macerich.com/o2c"
elementFormDefault="qualified">
<xsd:complexType name="LDAPEmployeeType">
<xsd:sequence>
<xsd:element name="UserId" type="xsd:string"/>
<xsd:element name="firstName" type="xsd:string"/>
<xsd:element name="lastName" type="xsd:string"/>
<xsd:element name="operation" type="xsd:string"/>
<xsd:element name="effectiveStartDate" type="xsd:date"/>
<xsd:element name="effectiveEndDate" type="xsd:date"/>
<xsd:element name="email" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="LDAPEmployeeCollection">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="LDAPEmployee" type="LDAPEmployeeType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Status" type="xsd:string"/>
</xsd:schema>
Java Code I have written
try
setVariableData("Variable_1","LDAPEmployeeCollection","/ns1:LDAPEmployee/ns1:UserId")
catch(Exception e)
setVariableData("Variable_2",e.toString());
addAuditTrailEntry(e);
}Hi Marc
I tried what you had suggested but i always get a BPEL error stating a selection failure.
Im pasting my Java Code here with
try
java.util.Hashtable env = new java.util.Hashtable();
env.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(javax.naming.Context.PROVIDER_URL, "ldap://saturn:389");
env.put(javax.naming.Context.SECURITY_AUTHENTICATION, "simple");
env.put(javax.naming.Context.SECURITY_PRINCIPAL, "serenecorp\\rmohammed");
env.put(javax.naming.Context.SECURITY_CREDENTIALS, "s3r3n3!");
// Create initial context
javax.naming.directory.DirContext ctx = new javax.naming.directory.InitialDirContext(env);
//System.out.println(ctx.lookup("OU=Consultants,DC=serenecorp,DC=com "));
// Specify the ids of the attributes to return
String[] attrIDs = {"sn", "givenName", "mail", "createTimeStamp"};
javax.naming.directory.SearchControls ctrls = new javax.naming.directory.SearchControls();
ctrls.setReturningAttributes(attrIDs);
// Specify the attributes to match
//Attributes matchAttrs = new BasicAttributes(true);
//matchAttrs.put(new BasicAttribute("sAMAccountName", "jale*"));
String filter = "(&(sAMAccountName=*)(createTimeStamp>=20061116221624.0Z ))";
//matchAttrs.put(new BasicAttribute("createTimeStamp", "> 20061115221624.0Z"));
setVariableData("Variable_3","test2");
// Search for objects that have those matching attributes
//NamingEnumeration answer = ctx.search("OU=Consultants,DC=serenecorp,DC=com", matchAttrs, attrIDs);
javax.naming.NamingEnumeration answer = ctx.search("OU=Consultants,DC=serenecorp,DC=com", filter, ctrls);
javax.xml.parsers.DocumentBuilderFactory domFactory = null;
javax.xml.parsers.DocumentBuilder domBuilder = null;
domFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance();
domBuilder = domFactory.newDocumentBuilder();
org.w3c.dom.Document newDoc = domBuilder.newDocument();
org.w3c.dom.Element rootElement = newDoc.createElement("LDAPEmployeeCollection");
rootElement.setAttributeNS("ns1","ns1","http://www.macerich.com/o2c");
newDoc.appendChild(rootElement);
while (answer.hasMore())
setVariableData("Variable_3","test3");
javax.naming.directory.SearchResult sr = (javax.naming.directory.SearchResult)answer.next();
System.out.println(">>>" + sr.getName());
javax.naming.directory.Attributes attrs = sr.getAttributes();
if (attrs == null)
System.out.println("No attributes");
else
org.w3c.dom.Element rowElement = newDoc.createElement("LDAPEmployeeType");
rowElement.setAttributeNS("ns1","ns1","http://www.macerich.com/o2c");
/* Print each attribute */
for (javax.naming.NamingEnumeration ae = attrs.getAll(); ae.hasMore();)
javax.naming.directory.Attribute attr = (javax.naming.directory.Attribute)ae.next();
String id =attr.getID().toString();
if(id.equals("sn"))
id = "UserId";
else if(id.equals("givenName"))
id ="firstName";
else if(id.equals("mail"))
id ="email";
else if(id.equals("createTimeStamp"))
id="effectiveStartDate";
System.out.println("attribute: " + attr.getID());
System.out.println("Value: " + attr.get());
org.w3c.dom.Element curElement = newDoc.createElement(id);
curElement.appendChild(newDoc.createTextNode(attr.get().toString()));
rowElement.appendChild(curElement);
setVariableData("Variable_3","test4");
rootElement.appendChild(rowElement);
// Print the answer
//printSearchEnumeration(answer);
javax.xml.transform.TransformerFactory tranFactory = javax.xml.transform.TransformerFactory.newInstance();
javax.xml.transform.Transformer aTransformer = tranFactory.newTransformer();
javax.xml.transform.Source src = new javax.xml.transform.dom.DOMSource(newDoc);
javax.xml.transform.Result dest = new javax.xml.transform.stream.StreamResult(new java.io.File("c:/test.xml"));
aTransformer.transform(src, dest);
org.w3c.dom.NodeList nl = newDoc.getElementsByTagName("LDAPEmployeeCollection");
org.w3c.dom.Node nd = nl.item(0);
System.out.println("XML---"+rootElement.toString());
setVariableData("Variable_1","LDAPEmployeeCollection",newDoc);
// Close the context when we're done
ctx.close();
catch (Exception e)
setVariableData("Variable_3",e.toString());
addAuditTrailEntry(e);
I tried numerous things and today is the final day for my code completion. So i am in a bit of trouble. I just cant figure out what I have done wrong here. I have created a DOM document as you had suggested and then done a setVariableData onto the Variable_1 that i had created selecting the xsd that I had pasted in my previous post as the schema for the variable. I have the namespace set corretly as well. Any suggestions.
Thanks so much in advance
Message was edited by:
user593748 -
Hi,
We have a problem in which we are getting data from one source system which contains "&" in it.
This data is received in SOA and in transformation its being converted to &
Then SOA is calling a database Adapter. Hence its being saved in the same format(&) in the database.
Can we do someting so that "&" is preserve as "&".
Also sometime source system sends data as "&" then also I need equivalent character of this i.e. "&".
Any suggestions is highly appreciated.
Thanks,
Ashufollowing piece of java embedding code solved the problem for me.
Where raw_Msg= Message with wrong value of ampersand (&).
Str_var= Output Message which will have correct representation of ampersand (&)
*<bpelx:exec name="Java_Embedding_Sp_Char" version="1.5" language="java">*
*<![CDATA[*
try
setVariableData("Str_Var", ((String)getVariableData("raw_Msg")).replaceAll("&","&") );
catch (Exception e)
setVariableData("javaException", e.getMessage() );
*]]>* -
Unable to setVariableData in Java Embedding BPEL
Hi Folks,
I am a new bee to BPEL. I am trying to set a variable which has been declared in BPEL process from a Java program but it is failing with an error,
"[scac] E:\JDeveloper\mywork\SOADeveloperCookBook\ReadConfigurationProject\SCA-INF\bpel\BPELRe~0\src\orabpel\bpelreadconfigurations\ExecLetBxExe2.java:101: cannot find symbol
[scac] symbol : variable configData"
Even though configData variable is declared in BPEL process it is throwing cannot find symbol error.
Following are import statements and java source code defined in .bpel file:
<bpelx:exec import="java.io.*"/>
<bpelx:exec import="java.util.Properties"/>
<bpelx:exec name="Java_Embedding" version="1.5" language="java">
<![CDATA[/*Write your java code below e.g.
System.out.println("Hello, World");
try
Properties prop = new Properties();
BufferedReader br = null;
//InputStream is = new FileInputStream("E:/POC/sample.properties");
//prop.load(is);
File file = new File("E:/POC/service-config.xml");
System.out.println("Configuration file details"+file);
br = new BufferedReader(new FileReader("E:/POC/service-config.xml"));
String data = "";
StringBuilder xmlDataStr = new StringBuilder();
if(br != null)
while((data = br.readLine()) != null)
xmlDataStr.append(data);
String configFile = xmlDataStr.toString();
setVariableData("configData",configFile);
addAuditTrailEntry("Configuration details"+configData);
System.out.println("CONFIG FILE IN STRING FORMAT"+configFile);
catch(Exception ex)
ex.printStackTrace();
}]]>
</bpelx:exec>
Could you please advice where I am going wrong?
Thanks,
Paneendra
Edited by: 983077 on Mar 22, 2013 2:25 AMWhat is the variable type of configData? if this is simple type string then you can assign the value directly else if the variable of type xsd element or message type the syntax looks as below
setVariableData("variablename","partname","xpath",data);
e.g
setVariableData("outputVariable","payload","/client:HelloJavaEmbedBPELProcessResponse/client:result",xmlData);
Mark the posting appropriately as "helpful" or "correct answer", if your issue is solved.
Regards
Albin I
[http://www.albinsblog.com/] -
Java Embedding setVariableData not working - Urgent
Hi Guys,
I tried a simple HelloWord/Echo Kinda example, accessing input variable using getVariableData and assigning it to output variable using setVariable data in Java Embedding. It's throwing an error.
JavaEnbedCode :
String xmlData = ((oracle.xml.parser.v2.XMLElement) getVariableData("inputVariable","payload","/client:HelloJavaEmbedBPELProcessRequest/client:input")).getFirstChild().getNodeValue();
setVariableData("outputVariable","payload","/client:HelloJavaEmbedBPELProcessResponse/client:result",xmlData);
Imports:
<bpelx:exec import="java.util.*"/>
<bpelx:exec import="java.lang.*"/>
<bpelx:exec import="java.rmi.RemoteException"/>
<bpelx:exec import="javax.naming.NamingException"/>
<bpelx:exec import="org.w3c.dom.Element"/>
<bpelx:exec import="java.math.*"/>
<bpelx:exec import="java.io.*"/>
<bpelx:exec import="java.net.*"/>
Error:
<selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"><part name="summary"><summary>faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
messageType: {}
parts: {{summary=<summary>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 "" and verify the &amp;lt;to&amp;gt; part xpath query.
</summary>
</summary>
</part></selectionFailure>
I am using Jdev 10.1.3.3 and SOA Suite 10.1.3.3
Thanks in adavance.I gave up trying to reference elements, especially those that are accessed through the input and output messages and leave that up to BPEL Assigns. So my inline Java looks like this and it works in 10.1.3.3.
Hopefully the forum leaves enough of the formatting intact for you to get the idea.
/*Write your java code below e.g.
System.out.println("Hello, World");
try{
String in = (String)getVariableData("Input_Value");
addAuditTrailEntry("You Entered: " + in);
int InvalidCharsFound = 0;
String ValidChars="0123456789.";
String FilteredChars="$ ,";
String TempChar="";
String Tempstring="";
int innum;
double inval;
innum=in.length();//get string length
for (int i=0;i<innum;i++){
TempChar = in.substring(i,i+1);
if (ValidChars.contains(TempChar)){
Tempstring+=TempChar;
else {
if (FilteredChars.contains(TempChar)){
//filtered char was found
addAuditTrailEntry("A filtered character was found such as: " + FilteredChars);
else{
//invalid chars
InvalidCharsFound = 1;
addAuditTrailEntry("An invalid character was found");
if (InvalidCharsFound == 0){
//clean number input was detected so proceed.
inval = Double.valueOf(Tempstring).doubleValue();
inval *= 100;//multiply by 100
addAuditTrailEntry("Times 100 is: " + inval);
double out = Math.rint(inval);
addAuditTrailEntry("Rounded is: " + out);
out /= 100;
addAuditTrailEntry("Divided by 100 is: " + out);
DecimalFormat myFormatter = new DecimalFormat("###.00");
String output = myFormatter.format(out);
addAuditTrailEntry("Formated is: " + output);
setVariableData("Output_Value",output);
else
// The number input was not a good clean number
setVariableData("Output_Value","ERROR the input was not a number");
catch(Exception e){
addAuditTrailEntry(e);
If you actually find this Java example that I made usefull keep in mind the Math.rint
function incorrectly rounds 100.5 to 100 instead of 101. Or in other words with this program if you try to round 100.245 it will produce 100.24. This is not a problem for what I'm using it for as I'm simply trying to correct small inaccuracies found when adding 2 currency numbers using BPEL see Bug No. 6451541
As far as the Math.rint "bug" I have found this same issue duscussed on the sun java forums and as far as I can tell someone who is mathematically brilliant (compared to me) decided that this was the correct way to round. I'm glad I'm not in school any more.
Oh the complete BPEL source looks like this (I probably should have included this instead)
<?xml version = "1.0" encoding = "UTF-8" ?>
<!--
Oracle JDeveloper BPEL Designer
Created: Tue Sep 04 10:45:03 PDT 2007
Author: RTaylor
Purpose: Synchronous BPEL Process
-->
<process name="BPEL_Round_Currency"
targetNamespace="http://xmlns.oracle.com/BPEL_Round_Currency"
xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
xmlns:client="http://xmlns.oracle.com/BPEL_Round_Currency"
xmlns:ora="http://schemas.oracle.com/xpath/extension"
xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
<!--
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="client" partnerLinkType="client:BPEL_Round_Currency"
myRole="BPEL_Round_CurrencyProvider"/>
</partnerLinks>
<!--
VARIABLES
List of messages and XML documents used within this BPEL process
-->
<variables>
<!-- Reference to the message passed as input during initiation -->
<!-- Reference to the message that will be returned to the requester-->
<variable name="inputVariable"
messageType="client:BPEL_Round_CurrencyRequestMessage"/>
<variable name="outputVariable"
messageType="client:BPEL_Round_CurrencyResponseMessage"/>
<variable name="Input_Value" type="xsd:string"/>
<variable name="Output_Value" type="xsd:string"/>
</variables>
<!--
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 BPEL_Round_Currency.wsdl) -->
<receive name="receiveInput" partnerLink="client"
portType="client:BPEL_Round_Currency" operation="process"
variable="inputVariable" createInstance="yes"/>
<!-- Generate reply to synchronous request -->
<assign name="Copy_Input">
<copy>
<from variable="inputVariable" part="payload"
query="/client:BPEL_Round_CurrencyProcessRequest/client:input"/>
<to variable="Input_Value"/>
</copy>
<copy>
<from variable="inputVariable" part="payload"
query="/client:BPEL_Round_CurrencyProcessRequest/client:input"/>
<to variable="Output_Value"/>
</copy>
</assign>
<bpelx:exec import="java.text.DecimalFormat"/>
<bpelx:exec name="Round_Output" language="java" version="1.3">
<![CDATA[/*Write your java code below e.g.
System.out.println("Hello, World");
try{
String in = (String)getVariableData("Input_Value");
addAuditTrailEntry("You Entered: " + in);
int InvalidCharsFound = 0;
String ValidChars="0123456789.";
String FilteredChars="$ ,";
String TempChar="";
String Tempstring="";
int innum;
double inval;
innum=in.length();//get string length
for (int i=0;i<innum;i++){
TempChar = in.substring(i,i+1);
if (ValidChars.contains(TempChar)){
Tempstring+=TempChar;
else {
if (FilteredChars.contains(TempChar)){
//filtered char was found
addAuditTrailEntry("A filtered character was found such as: " + FilteredChars);
else{
//invalid chars
InvalidCharsFound = 1;
addAuditTrailEntry("An invalid character was found");
if (InvalidCharsFound == 0){
//clean number input was detected so proceed.
inval = Double.valueOf(Tempstring).doubleValue();
inval *= 100;//multiply by 100
addAuditTrailEntry("Times 100 is: " + inval);
double out = Math.rint(inval);
addAuditTrailEntry("Rounded is: " + out);
out /= 100;
addAuditTrailEntry("Divided by 100 is: " + out);
DecimalFormat myFormatter = new DecimalFormat("###.00");
String output = myFormatter.format(out);
addAuditTrailEntry("Formated is: " + output);
setVariableData("Output_Value",output);
else
// The number input was not a good clean number
setVariableData("Output_Value","ERROR the input was not a number");
catch(Exception e){
addAuditTrailEntry(e);
}]]>
</bpelx:exec>
<assign name="Copy_Output">
<copy>
<from variable="Output_Value"/>
<to variable="outputVariable" part="payload"
query="/client:BPEL_Round_CurrencyProcessResponse/client:result"/>
</copy>
</assign>
<reply name="replyOutput" partnerLink="client"
portType="client:BPEL_Round_Currency" operation="process"
variable="outputVariable"/>
</sequence>
</process> -
Can't catch the exception when transaction rollback ,BPEL/SOA 11G,updated!
Hi Guys ,
I have two insert/update invoke actions through dbadpter in my BPEL process .
When I set the GetActiveUnitOfWork property of those two db adapters to true ,it successfully makes the global transaction work . any of them failed will cause the other rollback.
But the CatchAll brunch can't catch the exception in that case,
I can only see exception message from the system output :
02/11/2009 11:36:46 AM oracle.toplink.transaction.AbstractSynchronizationListener beforeCompletion
WARNING:
Local Exception Stack:
Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.1.0) (Build 090527)): oracle.toplink.exceptions.DatabaseException
Internal Exception: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (Table1_PK) violated
from BPEL console , you can't even see the error , the process finished with no exception.
When I set GetActiveUnitOfWork to false, CatchAll brunch is able to catch the exception , but global rollback is not working .
I try all the other method like set the transaction property of BPEL to required , using checkpoint() in java embedding . it looks like only way is set GetActiveUnitOfWork to true, but can't catch exception.
Here are some updated:
Here is my process
Main Sequence
Invoke (dbadapter update)
Invoke (dbadapter insert)
Global CatchAll
Invoke(jmsAdapter sendjms)
if I disable the CatchAll branch , when insert failed , the insert will rollback as well, even GetActiveUnitOfWork set to false.
enable CatchAll branch , even doing nothing in this branch , the update won't rollback when insert failed. it looks like when catch the exception , bpel seems not rollback , I try to add throw rollback in catchall branch, no any effect.
any clue ?
Kevin
Edited by: kyi on Nov 5, 2009 10:10 AMHi All,
We are also facing a similar kind of issue.
We have a simple BPEL which will makes use of JAva embedding to call an end point to check its availibility.
The Java code for cheking the enpoint connectivity is below
try{
boolean endpointAvailable = false;
long start = System.currentTimeMillis();
int endpointTestURL_port = 8445 ;
int endpointTestURL_timeout = 500;
String endpointTestURL_queryString = "" ;
String endpointTestURL_protocol = (String)getVariableData ("endpointProtocol");
addAuditTrailEntry("endpointTestURL_protocol: " + endpointTestURL_protocol);
String endpointTestURL_host = (String)getVariableData ("endpointHost");
addAuditTrailEntry("endpointTestURL_hostl: " + endpointTestURL_host);
URL endpoint = new URL(endpointTestURL_protocol, endpointTestURL_host, 8445, endpointTestURL_queryString);
addAuditTrailEntry("endpoint object is created" );
String endpointTestURL = endpoint.toExternalForm();
addAuditTrailEntry("Checking availability of endpoint at URL: " + endpointTestURL);
// Configure connection
HttpURLConnection connection = (HttpURLConnection)endpoint.openConnection();
connection.setRequestMethod("GET");
addAuditTrailEntry("The Method is Get");
connection.setConnectTimeout(5000);
addAuditTrailEntry("Timeout is 500 ms");
// Open connection
connection.connect();
addAuditTrailEntry("Open Connection");
String responseMessage = connection.getResponseMessage();
addAuditTrailEntry("Recieved availability response from endpoint as: " + responseMessage);
// Close connection
connection.disconnect();
endpointAvailable = true;
if (endpointAvailable)
setVariableData("crmIsAvailable", "true");
else
setVariableData("crmIsAvailable", "false");
catch(Exception e)
System.out.println ("Error in checking endpoint availability " + e) ;
addAuditTrailEntry("error message is : " +e);
When we run the above as a seperate java program it runs fine i.e goes to the catch block and catches the exception.
But when we run it within the java embedding in BPEL(11G) it gives us the follwoing error.
The reason was The execution of this instance "490001" for process "default/GMDSSalesLeadsBackMediationInterface!1.0*soa_e1a6362f-c148-417c-819c-9327017ebfa4" is supposed to be in an active jta transaction, the current transaction status is "ROLLEDBACK" .
Consult the system administrator regarding this error.
at com.oracle.bpel.client.util.TransactionUtils.throwExceptionIfTxnNotActive(TransactionUtils.java:119)
at com.collaxa.cube.engine.CubeEngine.store(CubeEngine.java:4055)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4372)
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.delivery.DeliveryService.handleInvoke(DeliveryService.java:654)
at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:355)
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 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.GeneratedMethodAccessor960.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.EnvironmentInte
we also get
BEA1-108EA2A88DAF381957FF
weblogic.transaction.internal.TimedOutException: Transaction timed out after 301 seconds
BEA1-108EA2A88DAF381957FF
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:1733)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(ServerTransactionManagerImpl.java:1578)
at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1900)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManagerImpl.java:1488)
at weblogic.transaction.internal.WLSTimer.timerExpired(WLSTimer.java:35)
at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
javax.ejb.EJBException: Transaction Rolledback.: weblogic.transaction.internal.TimedOutException: Transaction timed out after 301 seconds
BEA1-108EA2A88DAF381957FF
We tried the following
Increase the JTA timeout in the EM console to a larger value like 600 secs.
The BPEL instance is not getting created.
Any help would be appreciated
Thanks
Lalit -
If image file not exist in image path crystal report not open and give me exception error problem
Hi guys my code below show pictures for all employees
code is working but i have proplem
if image not exist in path
crystal report not open and give me exception error image file not exist in path
although the employee no found in database but if image not exist in path when loop crystal report will not open
how to ignore image files not exist in path and open report this is actually what i need
my code below as following
DataTable dt = new DataTable();
string connString = "data source=192.168.1.105; initial catalog=hrdata;uid=sa; password=1234";
using (SqlConnection con = new SqlConnection(connString))
con.Open();
SqlCommand cmd = new SqlCommand("ViewEmployeeNoRall", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
FileStream fs = null;
fs = new FileStream("\\\\192.168.1.105\\Personal Pictures\\" + dr[0] + ".jpg", FileMode.Open);
BinaryReader br = new BinaryReader(fs);
byte[] imgbyte = new byte[fs.Length + 1];
imgbyte = br.ReadBytes(Convert.ToInt32((fs.Length)));
dr["Image"] = imgbyte;
fs.Dispose();
ReportDocument objRpt = new Reports.CrystalReportData2();
objRpt.SetDataSource(dt);
crystalReportViewer1.ReportSource = objRpt;
crystalReportViewer1.Refresh();
and exception error as belowFirst: I created a New Column ("Image") in a datatable of the dataset and change the DataType to System.Byte()
Second : Drag And drop this image Filed Where I want.
private void LoadReport()
frmCheckWeigher rpt = new frmCheckWeigher();
CryRe_DailyBatch report = new CryRe_DailyBatch();
DataSet1TableAdapters.DataTable_DailyBatch1TableAdapter ta = new CheckWeigherReportViewer.DataSet1TableAdapters.DataTable_DailyBatch1TableAdapter();
DataSet1.DataTable_DailyBatch1DataTable table = ta.GetData(clsLogs.strStartDate_rpt, clsLogs.strBatchno_Rpt, clsLogs.cmdeviceid); // Data from Database
DataTable dt = GetImageRow(table, "Footer.Jpg");
report.SetDataSource(dt);
crv1.ReportSource = report;
crv1.Refresh();
By this Function I merge My Image data into dataTable
private DataTable GetImageRow(DataTable dt, string ImageName)
try
FileStream fs;
BinaryReader br;
if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + ImageName))
fs = new FileStream(AppDomain.CurrentDomain.BaseDirectory + ImageName, FileMode.Open);
else
// if photo does not exist show the nophoto.jpg file
fs = new FileStream(AppDomain.CurrentDomain.BaseDirectory + ImageName, FileMode.Open);
// initialise the binary reader from file streamobject
br = new BinaryReader(fs);
// define the byte array of filelength
byte[] imgbyte = new byte[fs.Length + 1];
// read the bytes from the binary reader
imgbyte = br.ReadBytes(Convert.ToInt32((fs.Length)));
dt.Rows[0]["Image"] = imgbyte;
br.Close();
// close the binary reader
fs.Close();
// close the file stream
catch (Exception ex)
// error handling
MessageBox.Show("Missing " + ImageName + "or nophoto.jpg in application folder");
return dt;
// Return Datatable After Image Row Insertion
Mark as answer or vote as helpful if you find it useful | Ammar Zaied [MCP] -
Hi,
We are getting below errors in /nwa/logs. We have our PI (7.11) and Service Registry configured on the same server. And have out CE (7.2) system connected to this service registry. Does any one has similar experience? Please let me know if you have any solution for the same.
SR Log Error
| 11-Nov-11 14:10:45.568
| Method : getClassificationSystems()
| Class : com.sap.esi.uddi.sr.api.ws.ServicesRegistrySiImplBean
| ThreadID : 146
| Message : com.sap.esi.uddi.sr.api.exceptions.SRException: No classification system found for ID 'QName: Namespace= http://uddi.sap.com/classification; Name= ConfigurationFlags'
|
| com.sap.esi.uddi.sr.impl.common.Utility.cs2srException(Utility.java:122)
| com.sap.esi.uddi.sr.impl.ejb.ServicesRegistryBean.getClassificationSystems(ServicesRegistryBean.java:242)
| sun.reflect.GeneratedMethodAccessor1325.invoke(Unknown Source)
| sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| java.lang.reflect.Method.invoke(Method.java:585)
| com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:46)
| com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
| com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
| com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
| com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)
| com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
| com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)
| com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)
| com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
| com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
| com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)
| com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
| com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)
| com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
| com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)
| com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
| com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)
| com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
| $Proxy1087.getClassificationSystems(Unknown Source)
| com.sap.esi.uddi.sr.api.ws.ServicesRegistrySiImplBean.getClassificationSystems(ServicesRegistrySiImplBean.java:456)
| sun.reflect.GeneratedMethodAccessor1324.invoke(Unknown Source)
| sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| java.lang.reflect.Method.invoke(Method.java:585)
| com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:46)
| com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
| com.sap.engine.services.ejb3.runtime.impl.Interceptors_WS.invoke(Interceptors_WS.java:31)
| com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
| com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
| com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
| com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)
| com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
| com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)
| com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)
| com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
| com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
| com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)
| com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
| com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)
| com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
| com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)
| com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
| com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)
| com.sap.engine.services.ejb3.webservice.impl.DefaultImplementationContainer.invokeMethod(DefaultImplementationContainer.java:203)
| com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process0(RuntimeProcessingEnvironment.java:512)
| com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.preProcess(RuntimeProcessingEnvironment.java:486)
| com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process(RuntimeProcessingEnvironment.java:256)
| com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPostWOLogging(ServletDispatcherImpl.java:176)
| com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPostWithLogging(ServletDispatcherImpl.java:112)
| com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:70)
| SoapServlet.doPost(SoapServlet.java:51)
| javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
| javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
| com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:140)
| com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:37)
| com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:486)
| com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:298)
| com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:396)
| com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:385)
| com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:48)
| com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
| com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:84)
| com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
| com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:245)
| com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
| com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:78)
| com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
| com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
| com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
| com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
| com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
| com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
| com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
| com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
| com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
| com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
| com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
| com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:43)
| com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
| com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
| com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:42)
| com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
| com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
| com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:428)
| com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:247)
| com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:45)
| com.sap.engine.core.thread.execution.Executable.run(Executable.java:115)
| com.sap.engine.core.thread.execution.Executable.run(Executable.java:96)
| com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:314)
|Hi,
Refer Error:Service Registyr Configuration PI 7.11
and http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/8071b1b8-3c5c-2e10-e7af-8cadbc49d711?QuickLink=index&overridelayout=true
Thanks,
Chandra -
I have an itunes account and an ipod, and when I purchased 2 albums on the computer they synced straight to the ipod. I bought an iphone and used the usb cord from the computer to it to sync the itunes albums to the new phone. Everything transfered, and those were albums I had uploaded (not purchased from the itunes store), except the two albmus I just purchased from the itunes store. They appear on my itunes on the computer and ipod, but not on the iphone. What did I fail to do or did I do incorrectly?
This might sound weird, but here's an idea which worked for me re music that was newly added to itunes and showed up in my ipod but wouldn't play - I simply played the tracks in itunes first, just a second of time or so will do it, not the whole track, then connect the ipod and sync again and this time they played - hope this helps.
-
Get Attribute values from a page and procedure exception handling?
Hi All,
I have created new page with two input attributes not based on any VO. This page is created to capture two values and pass these to an AM method upon pressing OK button. The method in AM will call a procedure with two in parameter expecting the two values captured from the above said page.
I have two questions, first one how to capture the values entered by the page in the controller class and advises me how to handle exceptions when my procedure fails.
I can not use something like this since this page is not based on a VO
String fromName = (String)vo.getCurrentRow().getAttribute("FromName");
Do I have to create a dummy VO like select '' name1, '' name2 from dual?
Thanks for the help.Hi,
Actually you can capture the parameters on the page like this way
String test = (String)pageContext.getParameter("id of the text input bean");
Now in procedure you can take an out parameter which stores the error messages on exception
and return that out parameter in java.
and then you can throw exception on page using OAException class.
Thanks
Gaurav Sharma -
Get the values from Exception class
Hi all ..
In class i have raised one exception
when i catch this exception in my program i m able to get the
error message but i need to get all the parameters that i pass
when i raise the exception ...
i have raised like this
RAISE EXCEPTION TYPE cx_bapi_error
EXPORTING
textid = cx_bapi_error=>cx_bo_error
class_name = 'ZHS_'
log_no = wa_bapi_return-log_no
log_msg_no = wa_bapi_return-log_msg_no
t100_msgid = wa_bapi_return-id
t100_msgno = wa_bapi_return-number
t100_msgv1 = wa_bapi_return-message_v1
t100_msgv2 = wa_bapi_return-message_v2
t100_msgv3 = wa_bapi_return-message_v3
t100_msgv4 = wa_bapi_return-message_v4
STATUS = lt_status
and caught the exception like this in my program
CATCH cx_bapi_error INTO go_error.
gd_text = go_error->get_text( ).
EXIT.
ENDTRY.
in this i m just getting the class name which i have passed in exception
i need all other parameters that i have passed ..
if u have any idea pls let me know ..
Thanks in advance ...Hello Jayakumar
Usually the attributes of standard exception classes are defines as <b>public</b> and <b>read-only</b>. Thus, you should be able to use the following coding:
DATA:
go_error TYPE REF TO cx_bapi_error. " specific exception class !!!
TRY.
RAISE EXCEPTION TYPE cx_bapi_error
EXPORTING
textid = cx_bapi_error=>cx_bo_error
class_name = 'ZHS_'
log_no = wa_bapi_return-log_no
log_msg_no = wa_bapi_return-log_msg_no
t100_msgid = wa_bapi_return-id
t100_msgno = wa_bapi_return-number
t100_msgv1 = wa_bapi_return-message_v1
t100_msgv2 = wa_bapi_return-message_v2
t100_msgv3 = wa_bapi_return-message_v3
t100_msgv4 = wa_bapi_return-message_v4
STATUS = lt_status.
CATCH cx_bapi_error INTO go_error.
gd_text = go_error->get_text( ).
WRITE: go_error->t100_msgid, " perhaps the attributes have different name
go_error->t100_msgno, " check attribute names in SE24
EXIT.
ENDTRY.
Regards
Uwe -
Trying to delete file from trash but get this: The operation can’t be completed because the item “File name” is in use. All other files delete except this one. Please help
Maybe some help here:
http://osxdaily.com/2012/07/19/force-empty-trash-in-mac-os-x-when-file-is-locked -or-in-use// -
hello I'm experiencing some problems with my iMessage and face time. I did with Apple provided me online. I did the steps. Nothing will work, it keeps saying activation turn on Wi-Fi when my Wi-Fi is turned on. As soon as I got this on Christmas. iMessage and FaceTime have not been working. My Apple and ID password are correct. Everything else is working fine. My iOS updates are up to date, everything is fine except FaceTime and iMessage
Did you try everything here?
iOS: Troubleshooting Messages
Using FaceTime and iMessage behind a firewall
iOS: Troubleshooting FaceTime and iMessage activation
FaceTime, Game Center, Messages: Troubleshooting sign in issues
In the future saying your tried the Apple on-line articles does provide us with information as to which ones you found and tried
Maybe you are looking for
-
How can I use my time capsule as an external hard disk?
Hi , I hav en Airport Extreme 3 TB. I have done the setup. And it seems to working well. But I also want to use it as an external hard drive. When I go finder Shared folder I could not see Data folder in it. I have this screen. How can I see that fol
-
How do I un-pillarbox 4:3 material broadcast in 16:9?
In widescreen (16:9) digital TV broadcasts, source material which was originally 4:3 is simply pillarboxed. Is there any way of removing the pillarboxes to revert it to a 4:3 DV without losing resolution? Using Quicktime to convert 16:9 material to 4
-
Problems restoring iPhone 4 that has gone from iOS 4 to iOS7
2013-09-20 15:06:06.375|AppleMobileBackup.exe|5144:16387912|DeviceLinkConnection.c:_DLChec kVersionForConnect| ERROR: Connecting side determined that its DeviceLink protocol version is greater (connect: 300, accept: 100) 2013-09-20 16:26:30.109|Apple
-
Executing java program in oracle
Good day everyone! I created a small java program. import javax.swing.JOptionPane; public class LogOn { public static void main (String [] args) {} public static void ShowMessage(){ JOptionPane.showConfirmDialog(null, "Hello", "Info", JOptionPane.PLA
-
I cannot get the user manual pdf to download. I just get the happy spinning wheel. Has anyone else had this problem? I've tried to access it from several available links. I suspect it may be a Safari problem, but am not sure. Thanks.