Custom Java Control vs EJB
Hello experts,
IHAC , who has implemented few Portals on Weblogic 8.1sp . The customer is now keen on moving to 10.3.2 version.
As a part of upgrade they also want to do a code refactoring as they are seeing many performance issues due to heavy user-traffic in some occassions.
Can someone point out the pros-cons of using an EJB ( distributed components ) vs Custom Java Control + JDBC Control
for implementing the Business Logic layer.
If we move to an EJB based soultion , how can we levarage on the huge investment that customer had already done on the Data-Access using JDBC Control ?
-thanks
reju
Jean,
I created and built the ldapcontrol and in the jpf, I choose Insert ->
Control ->LDAPControl from the menu. This did not cause the control to be
displayed twice.
Can you provide more info on how and where you dragged the LDAPControl from.
Can you try cleaning the project control and building it again ?
This can be done by choosing Build -> Clean Project -> your control project
name.
Thanks
Raj Alagumalai
WebLogic Workshop Support
"Jean-Philippe Degand" <[email protected]> wrote in
message news:[email protected]..
>
Hi,
I made a custom Java control with bea Workshop 8.1 and it seems ok. Thiscontrol
has one method to validate a username and password and to retreive someldap data.
(SearchLDAP)
I have created a small JPF with a login and a welcome page. When I dragthe LDAP
custom control on the JPF control, the "method" appears twice in theAction view
of the JPF (one with the type method and one with the type operation)
Except that fact, evything seems to work but is it normal?
Sources of the control implementation, of the interface and the jpegshowing the
Action view of the JPF are in the attached zip.
Thanks for your help.
Similar Messages
-
How do I reuse a custom java control in another project?
Relatively simple question, but I am having a lot of trouble with this. Documentation
alludes to this being possible and easy, but never says how (and the only tutorials
I can find describe creating a custom java control in the same project where they
are used):
"You can design a custom control for use in one project, or you can design a custom
control for easy reuse in multiple projects." (from WLS docs on Java Controls)
"When the control project builds, all of the controls and associated files are
compiled into a single jar file and pushed onto the classpath of the containing
application for immediate use and testing by other projects in the application.
This jar is self-contained and can be moved to any other application by adding
it to the application’s Library folder. Appropriately marked controls in the Library
it will automatically appear on the user’s palette, ready for incorporation into
an application." (from dev2dev article on controls, P. Hussey)
I have a Workshop application which contains a few projects. One project is a
component project, another is a web project. I created a custom java control in
the control project and built it (JAR appeared in the Libraries folder). Now I
open up the page flow in my web app project, and try to drag the java control
onto my page flow - but I get an eror that the control must reside in the same
project! It does not automatically appear on my palate, so if I go over to the
palate on the right, and try to "add control" I only get a list containing the
BEA controls - no custom controls are listed.
What am I doing wrong? How can I incorporate my custom control into a web project?
I don't want to move the control in the web project, since this contradicts the
concept of a separate shared library. I should be able to build a library of controls
and reuse them in our web projects right?
-BobPlease disregard... I got it to work. For some reason I had to close Workshop,
restart it, then I reloaded the application, rebuilt the control project, and
now my control appears in the list of controls and can be easliy added to the
palette.
"Bob" <[email protected]> wrote:
>
Relatively simple question, but I am having a lot of trouble with this.
Documentation
alludes to this being possible and easy, but never says how (and the
only tutorials
I can find describe creating a custom java control in the same project
where they
are used):
"You can design a custom control for use in one project, or you can design
a custom
control for easy reuse in multiple projects." (from WLS docs on Java
Controls)
"When the control project builds, all of the controls and associated
files are
compiled into a single jar file and pushed onto the classpath of the
containing
application for immediate use and testing by other projects in the application.
This jar is self-contained and can be moved to any other application
by adding
it to the application’s Library folder. Appropriately marked controls
in the Library
it will automatically appear on the user’s palette, ready for incorporation
into
an application." (from dev2dev article on controls, P. Hussey)
I have a Workshop application which contains a few projects. One project
is a
component project, another is a web project. I created a custom java
control in
the control project and built it (JAR appeared in the Libraries folder).
Now I
open up the page flow in my web app project, and try to drag the java
control
onto my page flow - but I get an eror that the control must reside in
the same
project! It does not automatically appear on my palate, so if I go over
to the
palate on the right, and try to "add control" I only get a list containing
the
BEA controls - no custom controls are listed.
What am I doing wrong? How can I incorporate my custom control into a
web project?
I don't want to move the control in the web project, since this contradicts
the
concept of a separate shared library. I should be able to build a library
of controls
and reuse them in our web projects right?
-Bob -
How can i access any kind of java control inside ejb
I want to access an ejb control of a session bean inside another session bean. Can anybody tell me how can i do that as the weblogic workshop doesnot give any option to add that.
Thanks
SachinHi,
We can not able to add any type of javaControls inside the ejb project.
Instead of that we can write our own code to get ejbs in an existing ejb's.
Regards
Anilkumar kari -
Hi everybody.
Can i use Java Control Factories to treat Java Controls as singletons ? Is there any issue about multiple threads acessing the same instance of (Built-in or Custom) Java Controls ?
When i use the following structure:
Page Flow -> Custom Java Control -> Built-in Java Control
and my Custom Java Control is "stateless". Can i "share" the same instance of Custom Java Control between different Page Flows ? How should i proceed to do it ?
Thanks in advance.Hi Daniel
I don't think java controls are multithreaded and also since they are executed as EJB's you cannot do threading there.
Basically java controls (jcs) internally gets invoked within a EJB container so you can say that JCS kind of becomes an EJB and so have the EJB pool, cache funactionality so eventually we reuse the instances of the ejb for incoming requests.
If the control is stateless then the EJB wrapper for the control code will be a stateless EJB and hence we reuse the instances as they become free after the method execution.
Similarly if the control is stateful then we use Entity beans(BMP container bean) which saves the state in the database and maintains it. In essence you do get the advantage of pooling, transaction etc
Thanks
Vimala -
Java Controls, JSPs, Servlets and Filters
Hi, everybody.
How can i invoke a custom java control from a JSP ?
How can i invoke a custom java control from a Servlet or Filter ?
I've tried using WlwProxy.create(controlInterfaceClass, request) but i don't know if this is the "official and recommended" way of do it. By the way, invocation is falling because Workshop is trying to find a .jcx file (i have only a .jcs).
Thanks in advance.Hi Vimala.
All the business logic of my project will be implemented as Java Controls (that's the reason of my questions about Controls' accessibility):
1. From a JSP
A) I can use netui tag <netui-data:callControl>
B) I can call a page flow to execute Java Control and to populate http request (or session) within some Java Beans. After this, the JSP will "consume" these Java Beans.
2. From init method of a startup Servlet
I can't call a Java Control from here. Can i implement analogous feature using Builtin Timer Control ?
3. From service (doGet/doPost) method of a "ordinary" Servlet
I can call a page flow to execute Java Control and to populate http request (or session) within some Java Beans. After this, the Servlet will "consume" these Java Beans.
4. From filter method of a Servlet Filter
This is the "trickest" one, but i really need to access business logic from here.
I've found an way (and i'm not proud of how i'm doing this):
i) The filter will populate a request attribute within information about which method of which control will be executed. Method parameters values will be stored too;
ii) The filter will "forward" request to a Page Flow, using a HttpServletRequestWrapper and a "dummy/empty" HttpServletResponseWrapper. This is really odd. I'm not sure if a filter should try to "forward" or to "include" another webapp resources. When doing this, you should be aware about issues like "recursion" and configurations like filter-dispatched-requests-enabled (http://edocs.bea.com/wls/docs90/webapp/progservlet.html#160016);
iii) The Page Flow will receive the new request, "unpack" invocation data, execute appropriate Java Control, "pack" the result in the http request and forward to an "empty" JSP;
iv) The "execution control" will be returned to the filter. This filter will "discard" the contents of HttpServletResponseWrapper, "unpack" the result data out of the http request and use it.
To "hide" all this mess of my filters and Page Flows, the filters will use a "dynamic proxy" to act as "Page Flow clients" (this proxy will look like as an ordinary Java Control to my filters). The Page Flows will use an helper class to store Java Controls (at onCreate lifecycle method), to use them (at begin method) and to discard/release them (at onDestroy lifecycle method).
I've tested this and it has worked. I'm not sure about performance and multithread behaviour of this solution.
I'm accepting any suggestion (official or "unofficial") about how to make this easier.
Thanks !!!
Sample code:
== JavaControlClientProxy.java ==
public Object invoke(Object proxy, Method method, Object[] parameters)
throws Throwable {
Object result = null;
if (LOG.isDebugEnabled()) {
LOG.debug("before: " + method.getName());
try {
HttpServletRequestWrapper newRequest =
new HttpServletRequestWrapper(this.request);
HttpServletResponseWrapper newResponse =
new HttpServletResponseWrapper(this.response);
InvocationData invocationData = new InvocationData();
invocationData.setCaller(this.javaControlCaller);
invocationData.setTarget(this.javaControlInterface);
invocationData.setTargetMethod(method);
invocationData.setParameters(parameters);
newRequest.setAttribute(InvocationData.ATT_NAME, invocationData);
try {
RequestDispatcher dispatcher = this.request
.getRequestDispatcher(this.javaControlServerPath);
/* include doesn't work (.jpf ?) */
dispatcher.forward(newRequest, newResponse);
invocationData = (InvocationData) newRequest
.getAttribute(InvocationData.ATT_NAME);
if (invocationData.getException() != null) {
throw invocationData.getException();
} else {
if (invocationData.getReturnValue() != null) {
result = invocationData.getReturnValue();
} finally {
newResponse.getWriter().close();
newResponse.getOutputStream().close();
return result;
} finally {
if (LOG.isDebugEnabled()) {
LOG.debug("after: " + method.getName());
}== ControlCallController.jpf ==
* This method represents the point of entry into the pageflow
* @jpf:action
* @jpf:forward name="success" path="empty.jsp"
protected Forward begin()
try {
this.controlServer.execute(getRequest());
} catch (IllegalArgumentException e) {
try {
/* Avoid external access to this resource. */
getResponse().sendError(HttpServletResponse.SC_NOT_FOUND);
} catch (IOException e1) {
throw new UnhandledException(e1);
throw e;
return new Forward("success");
protected void onCreate() throws Exception {
super.onCreate();
this.controlServer = new JavaControlServer();
this.controlServer.addControl(MyControl1.class, this.myControl1);
this.controlServer.addControl(MyControl2.class, this.myControl2);
protected void onDestroy(HttpSession arg0) {
this.controlServer = null;
super.onDestroy(arg0);
}== JavaControlServer.java ==
public void execute(final HttpServletRequest request)
throws IllegalArgumentException {
InvocationData invocationData = (InvocationData) request
.getAttribute(InvocationData.ATT_NAME);
if (LOG.isDebugEnabled()) {
LOG.debug("InvocationData " + invocationData + ".");
if (invocationData == null) {
throw new IllegalArgumentException("Http request doesn't contain "
+ InvocationData.ATT_NAME + ".");
Control targetControl = (Control) this.controlMap.get(invocationData
.getTarget());
if (targetControl == null) {
throw new IllegalArgumentException("Missing control "
+ invocationData.getTarget() + ".");
Method method = invocationData.getTargetMethod();
try {
Object returnValue = method.invoke(targetControl, invocationData
.getParameters());
invocationData.setReturnValue(returnValue);
} catch (IllegalArgumentException e) {
LOG.error("Could not invoke method", e);
throw new UnhandledException(e);
} catch (IllegalAccessException e) {
LOG.error("Could not invoke method", e);
throw new UnhandledException(e);
} catch (InvocationTargetException e) {
LOG.debug("An error has ocurred when invoking method", e);
invocationData.setException(e.getCause());
request.setAttribute(InvocationData.ATT_NAME, invocationData);
} -
Transaction in java control??
hi, all.
I've wrote a custom java control which include several database operations, and I want these operations be wrapped in transactions.
I get information from the document that implicit transaction is provided by workshop.
but unfortunately, I found that when a database operation failed, no rollback happened.
I have search about this problem in this newsgroup, but can't get useful information.
Can someone help me?zheng vl wrote:
hi, all.
I've wrote a custom java control which include several database operations, and I want these operations be wrapped in transactions.
I get information from the document that implicit transaction is provided by workshop.
but unfortunately, I found that when a database operation failed, no rollback happened.
I have search about this problem in this newsgroup, but can't get useful information.
Can someone help me?I've taken care of this in my pageflow by explicitly getting a
UserTransaction object from an InitialContext object, as follows
InitialContext itx = new InitialContext();
UserTransaction ut =
(UserTransaction)itx.lookup("javax.transaction.UserTransaction");
ut.begin();
This should get you started.
hth
Mike -
Creation of Data Control for custom java method which will return records
Hi Guys,
I have a requirement of creating a a custom java method in App module which will return a record set taking an id as input.In case of single return type it works fine but in case of returning record set it is not working.In my case i have to combine two tables and return it as a single entity as a view in Data Control.
Warm Regards,
Srinivas.Why don't you just create a custom view object? There's even an example or 2 in the docs:
http://docs.oracle.com/cd/E16162_01/web.1112/e16182/intro_tour.htm#CHDGDIEC (check out "View object on refcursor" example)
Edit: you are aware that you can create a View Object based on more than one table?
John -
How to access custom JAVA webdynpro application from an iPad?
Hi,
We are trying to access custom JAVA webdynpro application from an iPad, but nothing is opening up from the iPad browser.
What can be the possible reasons for this? Any kind of SICF enablement or opening up of ports in the network?
Any inputs are welcome!!
TIA,
Regards
DeepthiHi,
it is possible to show Java Web Dynpro applications on a mobile device in general, but the controls and the ui should be optimized for the mobile device.
Safari devices are not officially supported so far for Mobile Web Dynpro.
Supported are Windows Mobile devices and Blackberry devices. I also got some good results with Symbian devices.
You can find more inforamtion on Mobile Always Connected at:
ht[http://help.sap.com/saphelp_nwce711core/helpdata/en/7d/28fa3e7cb1d861e10000000a114084/content.htm|http://help.sap.com/saphelp_nwce711core/helpdata/en/7d/28fa3e7cb1d861e10000000a114084/content.htm]
Best Regards,
Stefan -
Reg :: Exception in custom java adapter module in sap pi
Hi Experts,
I have included custom java adapter module in SAP PI. I get the below error in sender communication channel monitoring.
Error: javax.ejb.TransactionRolledbackLocalException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/xml/utils/URI$MalformedURIException; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/xml/utils/URI$MalformedURIException; nested exception is: javax.ejb.EJBTransactionRolledbackException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/xml/utils/URI$MalformedURIException; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/xml/utils/URI$MalformedURIException
I have included in External jar files in EJB project also..Will that cause the above exception?
Kindly suggest your solution.
Thanks
PriyaHi !
have a look
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f013e82c-e56e-2910-c3ae-c602a67b918e
and this thread also
Throw Error in Module Adapter EJB
Thanks! -
How to implement a custom UI control
I need to display interactive maps on the Windows SAP GUI. The maps
are dynamically generated and fetched from an external map server using ABAP.
The interactive map should be scrollable and allow the user to select a single or multiple POIs (Point Of Interest) using the mouse and drag and drop them into
a table and/or tree. There should be an visual indication on the map
for selected POIs and a tooltip displaying additional information should
pop up if the cursor is placed above a POI. I've implemented all this using
SWT / Java already which was pretty straight forward.
I looked at the CL_GUI_PICTURE control but it seems that I would need more
events (such as OnMouseMove, OnLeft/RightButtonDown, OnLeft/RightButtonUp,
OnDrag) in order to implement this. I think that the CL_GUI_PICTURE has
just a few events in order to minimize client/server interactions.
What are my options to implement such an interactive map on SAP GUI?
I found this blog where a custom control is implemented using ActiveX:
/people/thomas.jung3/blog/2004/09/01/using-net-windows-controls-in-the-abap-control-framework
Is this the way to go? Is there an official developers guide for custom
UI controls from SAP?Hi Dominik,
Sorry but I don't have an answer - I have been trying to solve the same problem for a while now. I even contacted Thomas Jung directly, but was not able to solve the event sink\handler problem. Although I did manage to re-create his example and display a .NET VB Textbox within the SAP GUI...
If you do manage to get any further - please let me know how you managed to get the event handling to work...
Tx,
N -
Page Flow and Java Control interaction
Hi everybody !
Even after to read some documents like
http://dev2dev.bea.com/pub/a/2004/06/wlw_internals.html
and
http://dev2dev.bea.com/pub/a/2004/01/jones.html
i still didn't get what is really happening "behind the scenes" between Page Flows and Java Controls (Workshop 8.1). I would be glad if anyone could send to me more detailed documentation or explanation about this subject.
How can a Java Control to stand behind a Stateless Session Bean (GenericStatelessSLSB) and still to keep its internal state (instance variables) consistent ? How can a statefull Java Control to remain statefull being accessed by a stateless component (the EJB) ? Or is the source code of a Java Control (the JCS file) kept by the Page Flow and sent to EJB for its execution ?
Thanks in advance.Hi Daniel
I have attached a doc I created that explains what happens behind the scenes
when a pageflow call a JCS va a JWS calling a JCS.
Can you please go through the document and let me know any questions you may
have?
Thanks
Vimala
<Daniel Lima> wrote in message news:[email protected]..
Hi everybody !
Even after to read some documents like
http://dev2dev.bea.com/pub/a/2004/06/wlw_internals.html
and
http://dev2dev.bea.com/pub/a/2004/01/jones.html
i still didn't get what is really happening "behind the scenes" between
Page Flows and Java Controls (Workshop 8.1). I would be glad if anyone
could send to me more detailed documentation or explanation about this
subject.
How can a Java Control to stand behind a Stateless Session Bean
(GenericStatelessSLSB) and still to keep its internal state (instance
variables) consistent ? How can a statefull Java Control to remain
statefull being accessed by a stateless component (the EJB) ? Or is the
source code of a Java Control (the JCS file) kept by the Page Flow and
sent to EJB for its execution ?
Thanks in advance. -
Could you please send me the links to get an idea on Custom table controls
Hi Friends,
I am working on custom table controls, Could you please send me any links on Custom table controls or documentation.
Thanks and Regards,
Sandeep Kumar BonamHello Sandeep,
See here for the latest table features in 2004s.
<a href="/people/bertram.ganz/blog/2006/07/03/web-dynpro-java-foundation--whats-new-in-sap-netweaver-2004s:///people/bertram.ganz/blog/2006/07/03/web-dynpro-java-foundation--whats-new-in-sap-netweaver-2004s
This link also has a lot information on tables
<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/d43bb0e5-0601-0010-3a97-d9760726bf4c">https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/d43bb0e5-0601-0010-3a97-d9760726bf4c</a>
Regards,
Sudeep. -
Variable Sensor with Custom Java as Sensor Action.
I am trying to use Variable sensor in BPEL (SOA 11gPS3). I am using Custom Java as the sensor action (Publish target as demo.MyPublisher) . I have the Jar file of the Java class in the server lib as well as in SCA-INF/lib of the project. Even tried to keep the orabpel.jar in SCA-INF. But no success.
Error details given below... Please help me on this.
Java code is
package demo;
import com.oracle.bpel.sensor.DataPublisher;
import com.oracle.bpel.sensor.schemas.ITSensorAction;
import com.oracle.bpel.sensor.schemas.ITSensorActionData;
import org.w3c.dom.Element;
public class MyPublisher implements DataPublisher {
public MyPublisher() {
super();
public void publish (ITSensorAction action,ITSensorActionData actionData,Element xml) throws Exception {
System.out.println("Sensor data:"+xml.toString());
Error is thrown when the project is deployed.
<Dec 4, 2011 12:23:28 AM IST> <Error> <oracle.soa.bpel.engine.sensor> <BEA-000000> <error
java.lang.NoClassDefFoundError: com/oracle/bpel/sensor/DataPublisher
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:296)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
at weblogic.utils.classloaders.FilteringClassLoader.findClass(FilteringClassLoader.java:101)
at weblogic.utils.classloaders.FilteringClassLoader.loadClass(FilteringClassLoader.java:86)
at java.lang.ClassLoader.loadClass(ClassLoader.java:296)
at java.lang.ClassLoader.loadClass(ClassLoader.java:296)
at java.lang.ClassLoader.loadClass(ClassLoader.java:296)
at oracle.classloader.PolicyClassLoader.findJREClass(PolicyClassLoader.java:1225)
at oracle.classloader.PolicyClassLoader.askParentForClass(PolicyClassLoader.java:1379)
at oracle.classloader.SearchPolicy$AskParent.getClass(SearchPolicy.java:72)
at oracle.classloader.SearchSequence.getClass(SearchSequence.java:119)
at oracle.classloader.PolicyClassLoader.internalLoadClass(PolicyClassLoader.java:1728)
at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1689)
at java.lang.ClassLoader.loadClass(ClassLoader.java:296)
at com.collaxa.cube.engine.deployment.BPELClassLoader.loadClass(BPELClassLoader.java:163)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at com.collaxa.cube.engine.sensor.sa.BpelPublisher.createDataPublisher(BpelPublisher.java:95)
at com.collaxa.cube.engine.sensor.registry.BpelSensorRegistryLoader.loadActions(BpelSensorRegistryLoader.java:93)
at com.collaxa.cube.engine.sensor.registry.BpelSensorRegistryLoader.load(BpelSensorRegistryLoader.java:235)
at com.collaxa.cube.engine.core.BaseCubeProcess.init(BaseCubeProcess.java:325)
at com.collaxa.cube.engine.deployment.CubeProcessLoader.create(CubeProcessLoader.java:153)
at com.collaxa.cube.engine.deployment.DeploymentManager.deployProcess(DeploymentManager.java:240)
at com.collaxa.cube.engine.deployment.DeploymentManager.deployComponent(DeploymentManager.java:185)
at com.collaxa.cube.ejb.impl.CubeServerManagerBean._deployOrLoadComponent(CubeServerManagerBean.java:818)
at com.collaxa.cube.ejb.impl.CubeServerManagerBean.deployComponent(CubeServerManagerBean.java:119)
at com.collaxa.cube.ejb.impl.bpel.BPELServerManagerBean.deployComponent(BPELServerManagerBean.java:87)
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:94)
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.ejb.JpsAbsInterceptor.runJaasMode(JpsAbsInterceptor.java:81)
at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:112)
at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:105)
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.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy311.deployComponent(Unknown Source)
at com.collaxa.cube.ejb.impl.bpel.BPELServerManagerBean_bp05wg_ICubeServerManagerLocalBeanImpl.__WL_invoke(Unknown Source)
at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:39)
at com.collaxa.cube.ejb.impl.bpel.BPELServerManagerBean_bp05wg_ICubeServerManagerLocalBeanImpl.deployComponent(Unknown Source)
at oracle.fabric.CubeServiceEngine.load(CubeServiceEngine.java:885)
at oracle.fabric.CubeServiceEngine.load(CubeServiceEngine.java:128)
at oracle.integration.platform.blocks.deploy.CompositeDeploymentConnection.deployComponents(CompositeDeploymentConnection.java:242)
at oracle.integration.platform.blocks.deploy.CompositeDeploymentConnection.deploy(CompositeDeploymentConnection.java:93)
at oracle.integration.platform.blocks.deploy.CompositeDeploymentManagerImpl.initDeployment(CompositeDeploymentManagerImpl.java:149)
at oracle.integration.platform.blocks.deploy.CompositeDeploymentManagerImpl.load(CompositeDeploymentManagerImpl.java:62)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at oracle.integration.platform.blocks.deploy.DeploymentEventPublisher.invoke(DeploymentEventPublisher.java:69)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy339.load(Unknown Source)
at oracle.integration.platform.blocks.deploy.StandaloneCompositeDeploymentCoordinatorImpl.coordinateCompositeRedeploy(StandaloneCompositeDeploymentCoordinatorImpl.java:69)
at oracle.integration.platform.blocks.deploy.servlet.BaseDeployProcessor.overwriteExistingComposite(BaseDeployProcessor.java:382)
at oracle.integration.platform.blocks.deploy.servlet.BaseDeployProcessor.deploySARs(BaseDeployProcessor.java:222)
at oracle.integration.platform.blocks.deploy.servlet.DeployProcessor.doDeployWork(DeployProcessor.java:160)
at oracle.integration.platform.blocks.deploy.servlet.DeployProcessor.doDeployWork(DeployProcessor.java:109)
at oracle.integration.platform.blocks.deploy.servlet.DeployProcessor.doDeploy(DeployProcessor.java:96)
at oracle.integration.platform.blocks.deploy.servlet.DeployProcessor.process(DeployProcessor.java:78)
at oracle.integration.platform.blocks.deploy.servlet.CompositeDeployerServlet.doPostInsideLoggingSession(CompositeDeployerServlet.java:191)
at oracle.integration.platform.blocks.deploy.servlet.CompositeDeployerServlet.doPost(CompositeDeployerServlet.java:114)
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 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.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
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)
>Can any one help me on this issue.
-
Custom data control createRowData(DCRowContext ctx)
Custom data control createRowData(DCRowContext ctx)
public Object createRowData(DCRowContext ctx) {
System.out.println("createRowData()");
DCRowSetIteratorImpl rsi = (DCRowSetIteratorImpl)ctx.getRowSetIterator();
ARow row = new ARow(new PersonTO(new Integer(122),"Juhan", "Santiago", "223311" ), rsi);
return row;
I overrode this method in my custom data control class ( MyCustomDataControl extends EjbDataControl)
However the returned row is not added to the rowsetiterator. ARow is a custom class which extends RowImpl,
there i only overrode the constructor. PersonTO is what would be returned by ctx.getRowDataProvider().
How can i get a PersonTO to be inserted into the rowsetiterator to which the ctx refers?
Many thanks!I know... But at the moment it's the only solution i can see that works.
I have tested it by executing the EL in my data control to retreive the value from my TF input parameter and it works.
So basically i am trying to write a DC that will retreive information from another system. As an input parameter of the taskflow, you need to specify the name of that system and it's that parameter I want to pass to my DC. So currently I have something like this:
public MyDC() {
super();
System.out.println("calling constructor");
String system = (String)get("#{pageFlowScope.system}");
System.out.println("System: " + system);
SessionFactory factory = new SessionFactory(system);
Session session = factory.getCurrentSession();
System.out.println("init complete");
}SessionFactory and Session are from the custom java API so don't bother about that :)
I have tested this and it works but I know it's not the best solution... (that's why I wrote this post)
Based upon that, is there a better way for passing the system name to the DC?
Edited by: Yannick Ongena on Jan 18, 2012 12:16 PM -
Issue in custom delegate control
hi
am creating a custom delegate control with controlid ="AdditionalPageHead" . i deployed and activated as a site collection feature.
but i am not sure how to see the activated control/ how to see this control in action.
below is my code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.Diagnostics;
namespace OPUserDispName
public class EcmaScriptDelegateControl :WebControl
protected override void OnLoad(EventArgs e)
base.OnLoad(e);
string helloAlert = "alert('Hello, world!');";
this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "popup", helloAlert, true);
// if(!HttpContext.Current.User.Identity.IsAuthenticated)
// return;
// SPUser user = //SPContext.Current.Web.EnsureUser("i:0#.f|OPMembership|OPAdmin");
// user.Name = "OPAdmin";
// user.Update();
in my elements.xml file of my module :
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Control Id="AdditionalPageHead" ControlAssembly="OPUserDispName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=467af93481413beb" ControlClass="OPUserDispName.EcmaScriptDelegateControl"
></Control>
</Elements>
here i wanna see alert when the activated/or page load happened.
may i know, how to see this, in working. as per the current scenario, am unable to see any output even after feature activation.
do i need to do any settings in master page? do i need to perform any changes in web.config.
help is appreciated!This has complete solution.
http://www.codeproject.com/Articles/113704/SharePoint-Master-Page-Customizations-Through
can you try RegisterStartupScript instead
of RegisterClientScriptBlock?
Bala
Maybe you are looking for
-
How to use many conditions in query
Hi all, i have a situation,must prepare a report to find availability of it devices.they are given the specific ip of devices. my query SELECT Resultdate, [SERVICE] ,[SERVICE TYPE] ,[IP] , DailyAvailability FROM [Orion].[dbo].[DepartmentNodesNew
-
Adding one row to a table for displaying calculated amounts
Hi, My requirement is like this: We are getting values in the table with the columns recno rectype amount 1 autofare 100 2 airfare 50 3 busfare 25 4
-
Why can't i connect to my wifi at home
just had my screen repaired got the phone home and i cant connect to my wi fi,need some help
-
IPhone 6 plus usage/storage almost full
My 16gb iphone 6 plus is giving me a warning that I am almost out of space , yet when I sync it to iTunes it lists that I have 4gb of space. I have all my music on iTunes Match and have about 1.3 gb of photos. I've cleared out caches of some apps and
-
I had setup the iphone email with gmail, and other pop account. But I find out that they don't displace other language. I had received email from Hong Kong, they wrote it in chinese. iPhone email does not display it. If I use Safari to view the email