Bad console export, worse documentation for session replication setup
Hi,
I'm having problem configuring config.xml/weblogic.xml to get in-memory session rep going for WL 6.0
sp1.
I already have everything up and running in 5.1 sp8; so I figure I can just export my
weblogic.properties settings to 6.0's config.xml via the console, right? Well, here's my original
properties:
weblogic.httpd.session.enable=true
weblogic.httpd.session.cookies.enable=true
weblogic.httpd.session.timeoutSecs=10000
weblogic.httpd.session.cookie.comment="Kiko session tracking cookie"
weblogic.httpd.session.cookie.domain=.kikotest.com
weblogic.httpd.session.cookie.maxAgeSecs=-1
weblogic.httpd.session.persistence=true
weblogic.httpd.session.cacheEntries=1024
weblogic.httpd.session.persistentStoreType=replicated
When I use the console export tool, I find NONE of these settings in config.xml!!! So I look
through the docs to see if I can do this manually, and the documents are just as confusing! This
mapping table:
http://e-docs.bea.com/wls/docs60///////config_xml/properties.html#1152226
seem to suggest that each session flag from weblogic.properties is mapped to two corresponding flags
in config.xml and weblogic.xml (e.g. persistentStoreType -> (config.xml) SessionPersistentStoreType
& (weblogic.xml) PersistentStoreType). Does this mean I have to set the flags for BOTH files? Or
just one? Which one???
As for config.xml flags which have "N/A" in the "Console Label" column, does this mean I just add
this flag as a top-most label, like:
<SessionPersistentStoreType>replicated</SessionPersistentStoreType>
And to further add to the confusion, when I look at the document for "Configuring In-Memory HTTP
Replication in a Cluster" http://e-docs.bea.com/wls/docs60/cluster/servlet.html#1009453, it tells me
to "set the property PersistentStoreType to replicated in the Web Application deployment descriptor,
web.xml."? I thought it was weblogic.xml???
I think all of these confusions can easily be alleviated by fixing any one of the following, if not
all three:
1) /console export of weblogic.properties to config.xml needs to translate these session flags
2) /console needs to have access to these session flags so we don't have to poke around config.xml!
3) Documents need to be less ambiguous about how to set these flags
Gene
Hi Gene,
I believe the documentation is incorrect - sessionPersistentStoreTyped doesn't need to be set in the
config.xml file (I don't believe this tag still exists). The file name should be weblogic.xml and has
the following general form:
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 6.0//EN"
"http://www.bea.com/servers/wls600/dtd/weblogic-web-jar.dtd">
<weblogic-web-app>
... other stuff from the dtd if you like
<session-descriptor>
<session-param>
<param-name>PersistentStoreType</param-name>
<param-value>replicated</param-value>
</session-param>
</session-descriptor>
</weblogic-web-app>
weblogic.xml goes in the WEB-INF directory in your war file.
Hope this helps,
Glen
Gene Chuang wrote:
Hi,
I'm having problem configuring config.xml/weblogic.xml to get in-memory session rep going for WL 6.0
sp1.
I already have everything up and running in 5.1 sp8; so I figure I can just export my
weblogic.properties settings to 6.0's config.xml via the console, right? Well, here's my original
properties:
weblogic.httpd.session.enable=true
weblogic.httpd.session.cookies.enable=true
weblogic.httpd.session.timeoutSecs=10000
weblogic.httpd.session.cookie.comment="Kiko session tracking cookie"
weblogic.httpd.session.cookie.domain=.kikotest.com
weblogic.httpd.session.cookie.maxAgeSecs=-1
weblogic.httpd.session.persistence=true
weblogic.httpd.session.cacheEntries=1024
weblogic.httpd.session.persistentStoreType=replicated
When I use the console export tool, I find NONE of these settings in config.xml!!! So I look
through the docs to see if I can do this manually, and the documents are just as confusing! This
mapping table:
http://e-docs.bea.com/wls/docs60///////config_xml/properties.html#1152226
seem to suggest that each session flag from weblogic.properties is mapped to two corresponding flags
in config.xml and weblogic.xml (e.g. persistentStoreType -> (config.xml) SessionPersistentStoreType
& (weblogic.xml) PersistentStoreType). Does this mean I have to set the flags for BOTH files? Or
just one? Which one???
As for config.xml flags which have "N/A" in the "Console Label" column, does this mean I just add
this flag as a top-most label, like:
<SessionPersistentStoreType>replicated</SessionPersistentStoreType>
And to further add to the confusion, when I look at the document for "Configuring In-Memory HTTP
Replication in a Cluster" http://e-docs.bea.com/wls/docs60/cluster/servlet.html#1009453, it tells me
to "set the property PersistentStoreType to replicated in the Web Application deployment descriptor,
web.xml."? I thought it was weblogic.xml???
I think all of these confusions can easily be alleviated by fixing any one of the following, if not
all three:
1) /console export of weblogic.properties to config.xml needs to translate these session flags
2) /console needs to have access to these session flags so we don't have to poke around config.xml!
3) Documents need to be less ambiguous about how to set these flags
Gene
Similar Messages
-
Does replication group have to be set for session replication
I have delployed an servlet based application on a 3 node cluster. I have a simple POJO that I use to carry data in the session from a "confirm?" to "confirmed" page. This object implements serializable and only has String and int members. I put it in session using request.getSession().setAttribute("dto", myobject). For some reason it is not being replicated to the other nodes in the cluster. My weblogic.xml has "PersistentStoreType" set to "replicated_if_clustered". I am not seeing any serialization or other errors in the node logs.
I have looked at information contained in the link below and I think we are doing everything right. http://support.bea.com/application_content/product_portlets/support_patterns/wls/HTTP_Session_Replication_Failures_Pattern.html
The only thing that I noticed is that the "Replication Group" is not set for any of the servers in the cluster. Does this need to be set for replication to happen?Hi,
Having replication group is optional. It is used only if you are implementing failover in cluster. For session replication one has to generally configure 3 things:
- in memory replication
- jdbc replication
- file sytem replication
for im memory replication,
Step 1:
make sure taht a client is accesing the cluseter using either
- load balancing hardware
- web servers with weblogic proxy plugin
Step 2:
specify the persistance type in weblogic.xml
Thanks,
Sushma -
Documentation for Session Release Agent
Hi Experts,
I am searching for a deep documentation to the session release agent and/or the DSM-Component.
I have found some infromation in various OSS-Notes:
SAP Note: 755947
SAP Note: 1031159
and
SAP Note: 892250
SAP Note: 596698
But it seems to mee that an overall documentation is missing. (Actually I think I have read about it some time ago on help.sap.com but I cannot find it any more after some time of deeply searching...)
I found the following tool:
http://<HOST>:<PORT>/irj/servlet/prt/portal/prteventname/HtmlbEvent/prtroot/com.sap.portal.dsm.MonitorStoreGroups
But I can not fully understand the information there.
Does anybody knows exactly what and how I can work with it?
Do you have any information about the SRA or DSM and what and how you can configure it?
Can you please at least send me a link where the basic concepts are described (on help.sap.com I know it was there
Thanks and best regards,
Stefan BrauneisHi,
check below help link
http://help.sap.com/saphelp_nw04/helpdata/en/ca/a9a7408f031414e10000000a1550b0/frameset.htm
Koti Reddy -
How to create a documentation for Badi?
Hi All,
how to create a documentation for Badi?
This step is requested in the OSS note, but not explained how to perform it...
Thanks and regards,
Alex.Hi All,
solved. created in SE18
I noticed, that it is also possible to create such documentation in SE61 *** well,
Document Class Implementation Guide chapter (SIMG)
Chapter SIMG
Also the translation of documentation could be done in such way:
SE63--->Translation--->ABAP OBjects--->Transport object:
R3TR DSYS SIMGbadi_name_goes_here
Regards,
Alex -
Documentation for exporting apex page to Word or PDF
Hi,
Do you know of any examples or documentation for exporting several regions on an APEX page to either a word doc or a pdf? I have tried using the report print functionality but it's not quite robust enough and I can only do one report.
Any direction would be greatly appreciated.
Best,
ForrestHi -
Not sure if I've understood your requirement but I'll guess that you have multiple reports or other items on a page and you want to generate 1 report with values from all regions...
If that's the case the approach I would take:
1) Configure either BI Publisher or Apache FOP printing.
2) Define a Report Query and Layout under shared components that pulls in all the data you require.
3) Call the new report from a button on the page.
You can find docs for all of this on apex.oracle.com, look for "Configure PDF Printing".
Good luck. -
Where and How do I get the documentation for BADI --- HRWPC_PCR_APPR_NEXT
Hi,
Could anyone plz help me out in finding the documentation for the
BADI --> HRWPC_PCR_APPR_NEXT.
Thanks & Regards,
DeepakHi Deepak,
search on help.sap.com as per the version and release on which you are working currently..
http://help.sap.com/erp2005_ehp_03/helpdata/EN/00/173bcba8c54de3ba4ce23835860260/frameset.htm
also have a look on below thread...
Re: HRWPC_PCR_APPR_FORM BADI
also have look in google
http://www.google.co.in/search?hl=en&q=HRWPC_PCR_APPR_NEXT&meta=
Hope it will solve your problem..
Thanks & Regards
ilesh 24x7 -
RDC XI R2 - Documentation for pdf export registry options
Where can we find documentation explaining the various registry options for controlling pdf export behavior?
For example, ForceLargerFonts, UsePrecisePositioningForText, etc...Actually you can find a kbase and blog...
http://www.sdn.sap.com/irj/scn/advancedsearch?query=1435991
Short story is, set for CR 2008 but I verified from our source code it does exist in XI R2 also:
How to enable the registry keys for PDF exporting?
- Open the regedit on the machine and set the registry key at the similar location below:
[HKEY_LOCAL_MACHINESOFTWAREBusiness ObjectsSuite 12.0Crystal ReportsExportPDF]
The following are the registry keys for PDF exporting:
u2022 ForceLargerFonts
Purpose: To deal with text truncation issues.
Value:
[HKEY_LOCAL_MACHINESOFTWAREBusiness ObjectsSuite 12.0Crystal ReportsExportpdf]
"ForceLargerFonts"=dword:00000001
0 u2013 disable
1 - enable
u2022 UsePrecisePositioningForText and TruncationAdjustment
Purpose: When "ForceLargerFonts" doesn't work, implement this one. This one is to deal with text truncation issues as well.
How to use:
The new behaviour is controlled by two registry keys,
[HKEY_LOCAL_MACHINESOFTWAREBusiness ObjectsSuite 11.0Crystal ReportsExportPdf]
"UsePrecisePositioningForText"=dword:00000001
[HKEY_LOCAL_MACHINESOFTWAREBusiness ObjectsSuite 11.0Crystal ReportsExportPdf]
"TruncationAdjustment"=dword:00000005
The new behaviour is turned on when u201CUsePrecisePositioningForTextu201D is set to 1.
u201CTruncationAdjustmentu201D is used for adjusting rounding. Itu2019s only activated when u201CUsePrecisePositioningForTextu201D is set to 1. Its valid values are 0 to 10. Default value 5 should be sufficient for eliminating virtually all truncation issues.
Itu2019s worth mentioning that u201CForceLargerFontsu201D setting is ignored when u201CUsePrecisePositioningForTextu201D is set to 1. -
Best documentation for import/export
Can some one please point me towards the best documentation for import/export.
Thank you very much.The "Document not found" error is a nice touch on the
above link.The 9.0.2.2 and 9.0.2.6 Portal Export/Import FAQs have moved to the following locations:
Portal 9.0.2.2/9.0.2.3 FAQ for Portal Export/Import:
http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/OTN_CONTENT/MAINPAGE/DEPLOY_PERFORM/9023_EXPORT_IMPORT_FAQ_0308.HTM
Portal 9.0.2.6 FAQ for Portal Export/Import:
http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/OTN_CONTENT/MAINPAGE/DEPLOY_PERFORM/9026_EXPORT_IMPORT_FAQ_0308.HTM
Also, be sure to review the Chapter on Portal Export/Import in the Portal Configuration Guide (for 9.0.2.6/9.0.4/10g) here:
Portal Export/Import for the 10g (Portal 9.0.4) release is documented in detail in chapter 10 - The Portal Export/Import chapter in the Portal Configuration Guide.
The Portal Configuration guide can be downloaded/accessed at the following links on the Oracle Technology Network:
Acrobat PDF version (6MB): http://download-west.oracle.com/docs/cd/B10464_03/portal.904/b13675.pdf
Link to Chapter 10 (HTML version): http://download-west.oracle.com/docs/cd/B10464_03/portal.904/b13675/cg_imex.htm#i1030999
Best Regards,
Harry -
Http session replication fails in cluster
Hello everybody.
I have some problems with HTTP session replication in WebLlogic cluster environment. I have a cluster with 2 nodes and application deployed there. Application is configured with:
<session-param>
<param-name>PersistentStoreType</param-name>
<param-value>replicated</param-value>
</session-param>
in weblogic.xml
WebLogic plug-in for Apache webserver is configured properly as described in documentation.
But when I try to make experiment to enter the application, make some activities, look in console where I was redirected by apache proxy and manually shut down the node where request was sent, I loose my HTTP session with all data there (all the beans stored in session are Serializable). Replication doesn't work correctly. May be I've missed something in configuration? How can I configure my application to provide correctness session replication?
Thanks for advice.
ThanksThanks for response!
I'm using WebLogic 8.1 SP 4 and configured Apache proxy as described in documentation for load balancing. The only section I have in httpd.conf is next:
<Location /HTTPClnt>
SetHandler weblogic-handler
</Location>
<IfModule mod_weblogic.c>
WebLogicCluster serv1:7541,serv2:7541
MatchExpression *.*
Debug ON
WLLogFile /www/tmp/global_proxy.log
WLTempDir "/www/tmp"
DebugConfigInfo On
KeepAliveEnabled ON
KeepAliveSecs 15
</IfModule>
<Location /myApp>
SetHandler weblogic-handler
WebLogicCluster serv1:7541,serv2:7541
</Location>and the string to include weblogic proxy module for apache:
LoadModule weblogic_module modules/mod_wl_20.soI've configured CookiesEnabled=true in weblogic.xml, but it didn't help. About session specification in httpd.conf - where can I read about that? I've just configured apache according to manual from here:
[url http://e-docs.bea.com/wls/docs92/plugins/apache.html]http://e-docs.bea.com/wls/docs92/plugins/apache.html
Thanks -
Failover is work, but Session replication doesn't work!
Dear all,
My Cluster can failover, but can't session replicate....
I start up the 2 WLS 6.0 and the Web Server, then I visit
http://web_server_ip/myWebApp/SessionServlet serveral times, then the
counter variable in the session raise up, then I down the "target" WLS, then
I try http://web_server_ip/myWebApp/SessionServlet now, I can call but the
counter restart.... so the session seems not yet replicated. what I can
do...?!
My Setup: I setup a Netscape Web Server 3.6.3 as the proxy using libproxy.so
with the cluster setting, and use 2 WLS 6.0 (both are running in 7001,7002)
as the Application Server Cluster (WLCluster). one WLS is on Unix Machine
and the other in on a NT. I set the 2 WLSs: the Primary Group is
"WL_rep_group1", and set the secondary is "WL_rep_group2".
Deployment: I deploy the application "myWebApp" (.war) on the servers unix
and nt, adn also deploy to the cluster WLCluster.
I deploy the examplesWebApp to my created domain "demo", and modify the
weblogic.xml:
<weblogic-web-app>
<session-descriptor>
<session-param>
<param-name>PersistentStoreType</param-name>
<param-value>replicated</param-value>
</session-param>
</session-descriptor>
<jsp-descriptor>
<jsp-param>
<param-name>
pageCheckSeconds
</param-name>
<param-value>
1
</param-value>
</jsp-param>
<jsp-param>
<param-name>
verbose
</param-name>
<param-value>
true
</param-value>
</jsp-param>
</jsp-descriptor>
</weblogic-web-app>
so ... anything I did wrong, so the WLS can't do Session replication??!!
Please Help or Comment!
Thanks in advance!
with thanks,
Alex Wong
Dear Vinod and Kevin,
Some more information that I think it may help.
First, I want to correct 1 point in my previous message, the Replication
Group is "WLRepGroup1" and the Preferred Secondary Group is "WLRepGroup2"
for the 2 machine WLSs.
Second, I found that the Multicast Communication is not functioning becoz
the switch of my office block the 224.0.0.1's communication, so now I added
a hub for this 2 machine, as a result the multicast is wokring... at least
pass the java utils.MulticastTest....
Thrid, after the mutlicast work, I try the SessionServlet, it is working at
beginning... but after some more clicks, one server will cause the following
error (this time crash on x.y.z.b--NT machine)....
-------- (a long list, the IPs are replaced: x.y.z.a UNIX machine, x.y.z.b
NT machine, x.y.z.c My PC)
Screen caption on demo>Servers>wlserver2 (monitoring> cluster)
Unexpected Error
Connected to x.y.z.a:7001 Active Domain: demo Jun 11, 2001 5:06:23 PM
GMT+08:00
An unexpected error was encountered in processing your request.
Exception
java.lang.NullPointerException
<>
Current Date
Mon Jun 11 17:06:23 GMT+08:00 2001
Console Release Build
6.0 Service Pack 2
Console Build
6.0 Service Pack 2 05/24/2001 11:55:28 #117037
Server Release Build
6.0 Service Pack 2
Server Build
6.0 Service Pack 2 05/24/2001 11:55:28 #117037
All Server Product Versions
WebLogic Server Build: 6.0 Service Pack 2 05/24/2001 11:55:28 #117037
WebLogic XML Module: 6.0 Service Pack 2 05/24/2001 12:34:27 #117037
Request Info
Protocol: HTTP/1.1
ServerName: x.y.z.a
ServerPort: 7001
Secure: false
ContextPath: /console
ServletPath: /panels/mbean/Server.jsp
QueryString:
mbean=demo%3AName%3Dwlserver2%2CType%3DServer
PathInfo: null
PathTranslated: null
RequestURI: /console/panels/mbean/Server.jsp
AuthType: null
ContentType: null
CharacterEncoding: null
Locale: zh_TW
Method: GET
Session:
weblogic.servlet.internal.session.MemorySessionData@661950
RequestedSessionId:
OyQxOz4LG0WnLjufYcZDkIGGXIVAhHNASdBLUs2seZnvoQ4RXekX/console
RequestedSessionIdFromCookie: true
RequestedSessionIdFromURL: false
UserPrincipal: system
RemoteUser: system
RemoteAddr: x.y.z.c
RemoteHost: x.y.z.c
Parameters
mbean = demo:Name=wlserver2,Type=Server
Attributes
console.original./console/panels/mbean/Server.jsp.ContextPath = /console
console.original./console/panels/mbean/Server.jsp.Method = GET
console.original./console/panels/mbean/Server.jsp.QueryString =
mbean=demo%3AName%3Dwlserver2%2CType%3DServer
console.original./console/panels/mbean/Server.jsp.RemoteUser = system
console.original./console/panels/mbean/Server.jsp.RequestURI =
/console/panels/mbean/Server.jsp
console.original./console/panels/mbean/Server.jsp.ServletPath =
/panels/mbean/Server.jsp
console.preferences.ContextKey =
/panels/mbean/Server.jsp
javax.servlet.include.context_path = /console
javax.servlet.include.request_uri =
/console/common/requestinfo.jsp
javax.servlet.include.servlet_path =
/common/requestinfo.jsp
javax.servlet.jsp.jspException =
java.lang.NullPointerException
weblogic.httpd.user = system
weblogic.management.console.tags.ContentTag =
java.lang.Object@545f89
weblogic.management.console.tags.HeaderTag =
java.lang.Object@4c5c6c
weblogic.management.console.tags.TabbedDialogTag =
java.lang.Object@7eafc
Headers
Accept = image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Accept-Encoding = gzip, deflate
Accept-Language = zh-tw
Connection = Keep-Alive
Cookie =
JSESSIONID=OyQxOz4LG0WnLjufYcZDkIGGXIVAhHNASdBLUs2seZnvoQ4RXekX!143710744761
7668081!-896735123!7001!7002!NONE
Host = x.y.z.a:7001
User-Agent = Mozilla/4.0 (compatible; MSIE 5.01; Windows 98)
BrowserInfo
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows 98)
IE: true
Netscape: false
Supported: true
JavscriptHrefs: false
TableCellClick: true
DocumentReloadedOnResize: false
DropdownStretchable: true
CellSpacingBlank: false
EmptyCellBlank: false
ImgOnclickSupported: true
TableBorderFancy: true
PartialToWideTables: false
Server System Properties
bea.home = /u0/weblogic
file.encoding = ISO8859-1
file.encoding.pkg = sun.io
file.separator = /
java.awt.fonts =
java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment
java.awt.printerjob = sun.awt.motif.PSPrinterJob
java.class.path =
/u0/weblogic/wlserver6.0:/u0/weblogic/wlserver6.0/lib/weblogic_sp.jar:/u0/we
blogic/wlserver6.0/lib/weblogic.jar:/opt/oracle/product/8.1.6/jdbc/lib/class
es12.zip
java.class.version = 47.0
java.ext.dirs = /u0/weblogic/jdk130/jre/lib/ext
java.home = /u0/weblogic/jdk130/jre
java.io.tmpdir = /var/tmp/
java.library.path =
/u0/weblogic/jdk130/jre/bin/../lib/sparc/hotspot:/u0/weblogic/jdk130/jre/bin
/../lib/sparc::/lib:/usr/local/easysoft/oob/client:/usr/local/easysoft/lib:/
u0/weblogic/wlserver6.0/lib/solaris:/u0/weblogic/wlserver6.0/lib/solaris/oci
816_8:/usr/lib
java.naming.factory.initial =
weblogic.jndi.WLInitialContextFactory
java.naming.factory.url.pkgs = weblogic.jndi.factories
java.protocol.handler.pkgs =
weblogic.utils|weblogic.utils|weblogic.net|weblogic.management|weblogic.net|
weblogic.net|weblogic.utils
java.runtime.name = Java(TM) 2 Runtime Environment,
Standard Edition
java.runtime.version = 1.3.0
java.security.policy =
=/u0/weblogic/wlserver6.0/lib/weblogic.policy
java.specification.name = Java Platform API Specification
java.specification.vendor = Sun Microsystems Inc.
java.specification.version = 1.3
java.vendor = Sun Microsystems Inc.
java.vendor.url = http://java.sun.com/
java.vendor.url.bug =
http://java.sun.com/cgi-bin/bugreport.cgi
java.version = 1.3.0
java.vm.info = mixed mode
java.vm.name = Java HotSpot(TM) Client VM
java.vm.specification.name = Java Virtual Machine
Specification
java.vm.specification.vendor = Sun Microsystems Inc.
java.vm.specification.version = 1.0
java.vm.vendor = Sun Microsystems Inc.
java.vm.version = 1.3.0
javax.rmi.CORBA.PortableRemoteObjectClass =
weblogic.iiop.PortableRemoteObjectDelegateImpl
javax.rmi.CORBA.UtilClass = weblogic.iiop.UtilDelegateImpl
javax.xml.parsers.DocumentBuilderFactory =
weblogic.xml.jaxp.RegistryDocumentBuilderFactory
javax.xml.parsers.SAXParserFactory =
weblogic.xml.jaxp.RegistrySAXParserFactory
jmx.implementation.name = JMX RI
jmx.implementation.vendor = Sun Microsystems
jmx.implementation.version = 1.0
jmx.specification.name = Java Management Extensions
jmx.specification.vendor = Sun Microsystems
jmx.specification.version = 1.0 Final Release
line.separator =
os.arch = sparc
os.name = SunOS
os.version = 5.6
path.separator = :
sun.boot.class.path =
/u0/weblogic/jdk130/jre/lib/rt.jar:/u0/weblogic/jdk130/jre/lib/i18n.jar:/u0/
weblogic/jdk130/jre/lib/sunrsasign.jar:/u0/weblogic/jdk130/jre/classes
sun.boot.library.path =
/u0/weblogic/jdk130/jre/lib/sparc
sun.cpu.endian = big
sun.cpu.isalist = sparcv8plus+vis sparcv8plus
sparcv8 sparcv8-fsmuld sparcv7 sparc
sun.io.unicode.encoding = UnicodeBig
user.dir = /u0/weblogic/wlserver6.0
user.home = /
user.language = en
user.name = root
user.region = US
user.timezone = Asia/Hong_Kong
weblogic.Domain = demo
weblogic.Name = wlserver1
weblogic.security.jaas.Configuration =
weblogic.security.internal.ServerConfig
weblogic.security.jaas.Policy =
/u0/weblogic/wlserver6.0/lib/Server.policy
---------- End of the message -----------
any comment?? is that I deploy on wlserver1, wlserver2, WLCluster cause
error??!! anything I did wrong??!
please help!! or Comment
with thanks,
Alex Wong
"Alex Wong" <[email protected]> ¼¶¼g©ó¶l¥ó
news:[email protected]...
> Hi Vinod and Kevin,
>
> Thanks Vinod first, and after I try the session.getClass(), I get the
> following output
> class weblogic.servlet.internal.session.ReplicatedSessionData
> I think that's means I am using "replicated" already, rite?!
>
> About the License, I cat the license.bea, there is a license to the
> "In-memory Replication - Servlet" and "In-memory Replication - EJB",
however
> it is a eval license but seems not yet expired, so I don't think that is
the
> problem, rite?
>
> And a quick question, you tell me "your configuration looks ok" means the
> H/W configuration, or the WLS configuration??!!
> Maybe I tell you more about my WLS configuration, so that, you can
> determinate where I go wrong. (thanks)
>
>
> Vinod and Kevin
> (Kevin, I am Alex Wong from ASL, if you have any comment, you can simply
> reply my personal email, thx)
>
> Steps I did to create the domain, WLS and Cluster and deploy the .war
> --- on Unix ---
> I create a demo domain and wlserver1 using port 7001 and 7002 by the
> installation program (ip x.y.z.a)
> --- on NT ---
> I create a demo domain and wlserver2 using port 7001 and 7002 by the
> installation program (ip x.y.z.b)
>
> --- on Unix ---
> start the wlserver1 with startWebLogic.sh
>
> --- My PC ---
> go http://x.y.z.a:7001/console
>
> create one more server named "wlserver2" using port 7001 and 7002
> create the cluster named "WLCluster" and fill the the cluster ip
> "x.y.z.a:7001,x.y.z.b:7001"
> fill the multi-cast ip 224.0.0.1
> add the "wlserver1" and "wlserver2" to the "WLCluster"
> stop the unix WLS
> start the unix WLS with startWebLogic.sh
>
> --- on NT ---
> start the WLS with startManagedWebLogic.sh wlserver2 http://x.y.z.a:7001
>
> --- on Unix ---
> install the NES 3.6.3 and create a WEB server instance and modify the
> obj.conf
>
> DETAIL
> ----- start of the obj.conf -----
> Init fn="load-modules" funcs="wl-proxy,wl-init"
> shlib="/opt/nes/plugins/weblogic/libproxy.so"
> Init fn="wl-init"
> .
> .
> .
> <Object name="weblogic" ppath="*">
> Service fn=wl-proxy \
> WebLogicCluster="x.y.z.a:7001,x.y.z.b:7001"
> </Object>
>
> <Object name=default>
> *NameTrans ...
> *NameTrans ...
> *NameTrans ...
> *NameTrans fn=document-root root="/opt/nes/docs"
> Service method="(GET|HEAD|POST|PUT)" type=text/jsp fn=wl-proxy \
> WebLogicCluster="x.y.z.a:7001,x.y.z.b:7001"
> .
> .
> .
> </Object>
>
> <Object name=cgi>
> .
> .
> .
> </Object>
> ----- End of the obj.conf ----- (I suppose will redirect all HTTP request
to
> WLS from NES)
>
> --- My PC ---
> go http://x.y.z.a:7001/console
> assign the DefaultWebApp_wlserver1 to wlserver1
> assign the DefaultWebApp_wlserver2 to wlserver2
> assign the console the wlserver1 only
> assign the certificate to wlserver1, wlserver2, WLCluster
> go SERVER-wlserver1 assign "WLRepGroup1" to Replication Group and
Preferred
> Secondary Group
> go SERVER-wlserver2 assign "WLRepGroup1" to Replication Group and
Preferred
> Secondary Group
>
> --- on Unix ---
> go to ./config/examples/applications/examplesWebApp/WEB-INF
> modify the weblogic.xml
> go to ./config/examples/applications/examplesWebApp
> jar cvf myWebApp.war *
> copy the myWebApp.war to ./config/demo/applications/.
> and ftp myWebApp.war ro (NT)./config/demo/applicaitons/.
>
> --- My PC ---
> And then now, I can visit http://x.y.z.a:7001/console
> now I can configuration the myWebApp.
> assign the myWebApp to wlserver1,wlserver2,WLCluster
>
> --- on Unix ---
> stop the WLS and start with startWebLogic.sh
>
> --- on NT ---
> stop the WLS and start with startManagedWebLogic.sh wlserevr2
> http://x.y.z.a:7001
>
> --- My PC ---
> visit http://x.y.z.a/myWebApp/SessionServlet (this time no port 7001,
becoz
> I want to use the NES web server to proxy the HTTP request)
>
> Finally... I can failover the SessionServlet, SnoopServlet and all the
other
> html, jsp, servlet, but seems can't load-balancing and Session
Persistence.
>
> Is that anything I did wrong, please comment!
>
>
> with thanks,
>
> Alex Wong
>
>
>
> "Vinod Mehra" <[email protected]> ¼¶¼g©ó¶l¥ó
> news:[email protected]...
> > Your configuration looks ok but I guess somehow your clustering is not
> setup
> > properly. Check if all the servers are listeniong on the same port and
> part
> > of
> > the same cluster. Also check if you have clustering license.
> >
> > Make sure your sessions are of type : "replicated". For that print
> > the value of session.getClass(), the name will give you an idea. Check
> > your logs if you got any error message.
> >
> > --Vinod.
> >
> >
> > "Alex Wong" <[email protected]> wrote in message
> > news:[email protected]...
> > > Dear all,
> > >
> > > My Cluster can failover, but can't session replicate....
> > >
> > > I start up the 2 WLS 6.0 and the Web Server, then I visit
> > > http://web_server_ip/myWebApp/SessionServlet serveral times, then the
> > > counter variable in the session raise up, then I down the "target"
WLS,
> > then
> > > I try http://web_server_ip/myWebApp/SessionServlet now, I can call but
> the
> > > counter restart.... so the session seems not yet replicated. what I
can
> > > do...?!
> > >
> > > My Setup: I setup a Netscape Web Server 3.6.3 as the proxy using
> > libproxy.so
> > > with the cluster setting, and use 2 WLS 6.0 (both are running in
> > 7001,7002)
> > > as the Application Server Cluster (WLCluster). one WLS is on Unix
> Machine
> > > and the other in on a NT. I set the 2 WLSs: the Primary Group is
> > > "WL_rep_group1", and set the secondary is "WL_rep_group2".
> > >
> > > Deployment: I deploy the application "myWebApp" (.war) on the servers
> unix
> > > and nt, adn also deploy to the cluster WLCluster.
> > >
> > > I deploy the examplesWebApp to my created domain "demo", and modify
the
> > > weblogic.xml:
> > > -------------------
> > > <weblogic-web-app>
> > >
> > > <session-descriptor>
> > > <session-param>
> > > <param-name>PersistentStoreType</param-name>
> > > <param-value>replicated</param-value>
> > > </session-param>
> > > </session-descriptor>
> > >
> > > <jsp-descriptor>
> > > <jsp-param>
> > > <param-name>
> > > pageCheckSeconds
> > > </param-name>
> > > <param-value>
> > > 1
> > > </param-value>
> > > </jsp-param>
> > > <jsp-param>
> > > <param-name>
> > > verbose
> > > </param-name>
> > > <param-value>
> > > true
> > > </param-value>
> > > </jsp-param>
> > > </jsp-descriptor>
> > >
> > > </weblogic-web-app>
> > > ---------------------
> > >
> > > so ... anything I did wrong, so the WLS can't do Session
replication??!!
> > >
> > >
> > > Please Help or Comment!
> > >
> > > Thanks in advance!
> > >
> > > with thanks,
> > >
> > > Alex Wong
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
>
>
-
Weblogic 7.0 sp1 cluster - session replication problem
Hi,
I have installed Weblogic 7.0 sp2 on Win NT. To test clustering
feature, I have installed one admin server and added two managed
servers. All are running on same box. I could deploy web application
to the cluster. Connection pools and every other resource is working
well with the cluster. However I couldn't get session replication to
work. I have modified web app descriptor, and set 'persistent store
type' to "replicated".
I accessed application from one managed server, in the middle of
session I modified the port number in the URL to point to other
managed server. It looks like second managed server has no idea of
that session, my app fails because of this.
Could you please help me out in this, Do I need to do any thing in
addition to the above. I couldn't find much in the BEA manual..
Thanks
Rao
For Web application like servlets/JSP, it is better to put one web server as proxy
plugin before your two managed servers and access your application through web
proxy. (You need set session as in-memory replicated either in weblogic.xml or
by console editor). Otherwise, you need record the session cookie from the first
serevr and send the cookie to the second server (not sure if it works). To access
EJB/JMS, use cluster URL like t3://server1:port1,server2:port2.
[email protected] (Rao) wrote:
>Hi,
>
>I have installed Weblogic 7.0 sp2 on Win NT. To test clustering
>feature, I have installed one admin server and added two managed
>servers. All are running on same box. I could deploy web application
>to the cluster. Connection pools and every other resource is working
>well with the cluster. However I couldn't get session replication to
>work. I have modified web app descriptor, and set 'persistent store
>type' to "replicated".
>
>I accessed application from one managed server, in the middle of
>session I modified the port number in the URL to point to other
>managed server. It looks like second managed server has no idea of
>that session, my app fails because of this.
>
>
>Could you please help me out in this, Do I need to do any thing in
>addition to the above. I couldn't find much in the BEA manual..
>
>
>Thanks
>Rao
-
What are the steps to setup an HTTP Session replication clustering in oc4j9
what are the steps to setup an HTTP Session replication clustering in oc4j9.0.5
Are you sure you have the correct version number for OC4J? Is this a standalone OC4J instance, if it then the steps involved are different from the full stack. Please check the Higher Availibility guide in the documentation on OTN.
Deepak -
Hi all ,i need a good documentation for a beginner in WORK FLOW ?
hi all ,
i need a good documentation for a beginner in WORK FLOW ?
please,try to send the attached documents as much as u can apart from giving the weblinks ?
hope you will send it soon ....
thanks & regards
vishnuvardhan k.v.Hi
Developing a simple application using steps "User Decision" and "Mail"
Basic terminology used in the workflow:
The workflow definition is the set of rules that determine the path that the process takes. For example, how a purchase requisition is processed, from the initial request to the creation of the purchase order
A Workflow Instance, which is often simply referred to as the workflow, is a single workflow run. For example, the processing of a single purchase requisition for computers.
The Tasks are the steps in the process, which have to be performed either by people or automatically by the software. For example, to check for the availability of the spare computers in the company.
A Work item is the task instance that is performed as a single workflow step. For example, check that there are no spare computers available in the company.
Agents are the people who process the tasks (via the work items). For example, requisitioner and a member of the purchasing department.
Container is the place where all the data used in the workflow is collected.
Binding is the set of rules that define which data is passed to which part of the process.
Building a simple workflow application
The central tool for creating, displaying and processing a workflow is the workflow builder (Transaction SWDD). Within the workflow builder you can create all components of a workflow, including all the containers you need for getting the data from one step to another.
Generally, most of the workflows are started by an event (for example, when a material is created or when a new purchase requisition arrives). You define which data from this event needs to be passed to the workflow via binding.
However you can also start any workflow directly. Let us create a simple workflow and start the workflow directly, using the testing tools.
Call transaction SWDD. When the workflow builder is called for the first time, a newly created initial workflow definition appears or else last created workflow appears. In such cases you can opt to create a new workflow by pressing Create New Workflow(ctrl + shft + F5). The following screen appears.
The initial workflow screen has the following parts:
a. The start of the workflow definition, indicated by .
b. The end of the workflow definition, indicated by .
c. The area in which you insert the new workflow definition is indicated by .
Now select the undefined step and select Create step or double click the undefined step. Now among the different steps chose the User Decision by double clicking on it.
Developing a simple application using steps "User Decision" and "Mail"
Previous
Now enter the title for the user decision Please make a decision. Also enter the decision texts as Approve and Reject. On pressing enter, the outcome values default to the Decision texts but you can specify your own names, if desired. Now we need to select the agent. Agent is the person to whom the work item needs to be sent.. Since this is just a beginning, we would hardcode the user name. Select the User from the drop down list and enter the user name to whom the work item needs to be sent. In general, this type of agent assignment is not done. Agents are generally assigned using the expression, agent assignment rule or organization object (job, position etc.).
Now select Transfer and to graphic button. Following screen appears:
Now we need to include a mail step to be sent to the requestor. Now select the line Approve and do a right click. Different options on shown on the context menu. Select Create.
Now select the step Send Mail from the list.
Developing a simple application using steps "User Decision" and "Mail"
...Previous
Now enter the subject and the body of the message for the mail to be sent.
Do not change the recipients. Our mail is intended for the persons who triggered this workflow. &_WF_INITIATOR& contains the value who executed the workflow. Since this is a test object, we are using &_WF_INITIATOR&. But we wouldnt be using this variable in real time scenarios. We would discuss about this in the coming documents.
Now select Transfer and to graphic button.
A popup appears requesting for the abbreviation and the name for this task. Enter the same and press enter.
Now enter the package as local object and press enter.
Follow the steps 5 through 9 for the step Reject. The following screen appears:
Press SAVE to save the workflow application. You need to enter an abbreviation and name for your workflow as shown below. You can change any of these at any later point. After saving, a number is assigned to your workflow starting with WS, as shown below.
Developing a simple application using steps "User Decision" and "Mail"
...Previous
To execute the workflow, activate it by choosing the activate button.
Test the workflow by choosing Test. The following screen appears.
Now choose Execute to start the workflow.
Now the recipient would receive a work item in his SAP® inbox (Transaction SBWP).
Now execute the work item by pressing Execute. The following screen appears:
Choose one among Approve or Reject as part of the user decision. He can select the third option to retain the work item in his inbox and make the decision later. Now suppose that the recipient has chosen one of the first options. Now a mail would be sent to the requestor with the status of his request.
Creating a Container element
This document details about creation of a container element in workflow and using it in the step "Mail".
Pre-requisites:
It is assumed that the reader of this Tutorial is aware of creating a workflow definition with the step Mail. If not, please go through the document on creating the same available, by clicking here.
Steps:
1. Create a workflow definition using the transaction SWDD.
2. Lets create a container element for Carrier id. Click on the Workflow Container on the left side of the screen (as shown in the screenshot below):
3. Now double-click on Double-Click to Create
4. Enter the details pertaining to CARRID here.
5. Click on tab Properties and select Import.
6. Click on Confirm (Enter).
7. Now the element created could be seen on the left side, below the Workflow Container.
Creating a Container element
Previous
1. Create a Mail step by double-clicking on Undefined step in the workflow.
2. Enter the recipient details in the Recipients box.
3. In the subject line, enter Carrid value entered is: and click on Insert Expression.
4. Select the element Carrid from the list.
5. Similarly enter the content in the Body area.
6. Save and activate the application.
Testing the Workflow application:
7. Test the workflow by clicking F8.
8. Enter the value of the Carrid as shown above and press execute.
9. A mail would be sent to the recipient mentioned earlier with the carrid value entered.
Condition Step
Agenda:
This document details about the steps Condition.
Pre-requisites: It is assumed that the reader of this document has a preliminary understanding of workflow and has worked with the container elements earlier. If not, please go through the first two Tutorials of workflow available in this site. (More details)
Procedure:
1. Create a new workflow definition.
2. Create a container element, CARRID (as demonstrated in tutorial 2).
3. Now click on undefined step and create the step Condition.
4. Enter the step name of your choice.
5. We would have the following condition here:
If carrid = AA.
Do this.
Else.
Do this.
Click on Click here to create a new condition. Following screen appears.
Double click on Carrid. Next click on = and enter the value AA in the constant field and press ENTER.
Enter the outcome names of your choice as shown above.
Click on Transfer and go to graphic.
As shown above, there are two branches here. One navigates to true, if CARRID = AA else the control takes the branch False.
Test the above scenario by inserting mail steps in the above 2 branches and by passing different CARRID values.
Condition Step
Agenda:
This document details about the steps Multiple Condition.
Pre-requisites: It is assumed that the reader of this document has a preliminary understanding of workflow and has worked with the container elements earlier. If not, please go through the first two Tutorials of workflow available in this site. (More details)
Procedure:
1. Create a new workflow definition.
2. Create a container element, CARRID (as demonstrated in tutorial 2).
3. Now click on undefined step and create the step Multiple Condition.
4. Enter the step name of your choice.
5. We would have the following condition here:
If carrid = AA.
Do this.
Elseif carrid = AH
DO this.
Elseif carrid = SQ
Do this.
Else.
Do this.
Select the CARRID using the F4 help for the comparison basis field.
Enter the values of the carrid under the Comparison values with the corresponding outcome name (of your choice)
Double click on Carrid. Next click on = and enter the value AA in the constant field and press ENTER.
Click on Transfer and go to graphic.
As observed above, there are different branches for each value of CARRID mentioned above.
Test the above scenario by inserting mail steps in all the branches and by passing different CARRID values.
Using "Container Operation" step
Agenda: Usage of step Container Operation.
Pre-requisites: It is assumed that the reader of this tutorial has worked in the concepts that are dealt in earlier tutorials. (click here for more details)
Scenario: In this tutorial, we would deal about how to work with the step Container Operation with an example of calculating the available seats by subtracting occupied seats from the maximum seats at the workflow level.
Procedure:
1. Create a new workflow definition using the transaction SWDD.
2. Create two container elements MaxSeats, Occ_Seats with the import property set. You can use the reference fields sflight-seatsmax, sflight-seatsocc for this.
3. Create another container element AvailableSeats without setting either import or export property as this is calculated within the workflow and used within the workflow. You might use any of the above reference fields as data types.
4. Define a new step Container Operation in the workflow definition by double-clicking on the Undefined step.
5. In this step, we would calculate the available seats from the max seats and seats occupied.
I would recommend entering all the container elements from the F4 help instead of typing them manually.
6. Return to the main screen.
7. Create a mail step after this to send the available seats information.
8. Test the above functionality by passing some values to the maximum and the seats occupied.
9. Result would be as follows:
Triggering Events Programmatically
Purpose: This document details the procedure in triggering the business object events programmatically.
Pre-requisites: It is assumed that the reader of this document is aware of the business object concepts and good in ABAP.
Procedure:
In this document, we would take an example of the business object BUS1001006 (Material) and the event CREATED. In general, this event is triggered whenever a material is created using a standard procedure like MM01 or any others. Now we would trigger this event from our own programs.
Following are the screenshots of the business object BUS1001006 and the event CREATED. Go to transaction SWO1 for more information of the business object.
Double-clicking on the key field parameter gives you technical information of the field.
In order to trigger an event programmatically, we would use the function module SWE_EVENT_CREATE.
Following is the sample code to trigger the events programmatically:
REPORT ZDEMO_TRIGGER_EVENT.
DATA: KEY LIKE SWEINSTCOU-OBJKEY.
KEY = '1163'. Material Number (hard-coded)
CALL FUNCTION 'SWE_EVENT_CREATE'
EXPORTING
objtype = 'BUS1001006'
objkey = KEY
event = 'CREATED'
CREATOR = ' '
TAKE_WORKITEM_REQUESTER = ' '
START_WITH_DELAY = ' '
START_RECFB_SYNCHRON = ' '
NO_COMMIT_FOR_QUEUE = ' '
DEBUG_FLAG = ' '
NO_LOGGING = ' '
IDENT =
IMPORTING
EVENT_ID =
TABLES
EVENT_CONTAINER =
EXCEPTIONS
OBJTYPE_NOT_FOUND = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
WRITE 'Event Triggered'.
ENDIF.
COMMIT WORK.
In order to test whether the event is getting triggered or not, we can make use of Event Trace. Switch on the event trace using the transaction SWELS.
Press Switch On.
Now execute the program developed earlier. Now switch-off the event trace using the same transaction SWELS.
Now go to transaction SWEL. Here you can list out the events triggered in the particular period of time. Here is the event-trace list:
Deadline Monitoring in SAP Workflow
A major advantage of workflow is the ability to monitor the workflow steps according to a predefined schedule. Following are different deadlines that can be monitored against each workflow step:
Requested Start
Latest Start
Requested End
Latest End
In this example, we will define a deadline to the User Decision example created earlier (click here). Following is the screenshot of the application developed using the User Decision example:
We would extend this example to the deadline monitoring.
In the User Decision step, click on the latest end tab.
By default, No deadline monitoring is active (as seen in the above screenshot).
Choose the Work Item Creation from the list box.
After selecting Work Item Creation, chose an offset of 5 minutes. This means that the work item must be executed within 5 minutes of the creation, if not this would trigger.
Deadline Monitoring in SAP Workflow
Enter recipient details to whom the message to be escalated, if the work item is not executed with in 5 minutes after work item creation.
Save and activate the workflow definition.
Testing the workflow application:
Execute your workflow.
Check for the work item in the SAP Inbox. This time do NOT execute the work item.
Wait for the deadline to be triggered. After that, a deadline message is delivered to the recipient mentioned in the Latest End tab. See the screenshot below.
Dont worry if the deadline message doesnt appear immediately after 5 minutes. This depends on various factors including how the deadline monitoring program is scheduled and also on the availability of the background processors.
Use SWWA to check how the deadline monitoring program is scheduled in program.
For example, assume that our work item has been created at 09:10 hrs and the deadline message is expected to trigger at 09:15 hrs. From the above screenshot, it is understood that the background program is scheduled to execute for every 3 minutes. Assume that the last run of the program is at 09:14hrs and the next run is expected at 09:17hrs. So even our deadline expires at 09:15, the deadline message would appear only at 09:17hrs after execution of the background program.
Some more points
In our above example, we have used the deadline on the Work Item creation time. i.e., 5 minutes after creation time, the deadline message would be sent. Now we would check the other option Expression. Here we can mention the date and time, when the deadline message should appear irrespective of the work item creation date/time.
As seen in the above screenshot, we can provide the target date and time by which the task should be finished. Container elements could be used in this case. Please refer to our example on creation of container elements (click here).
Personal Substitute in Workflow
Requirement: Need to have at least one substitute who can act upon work items in your absence.
Important: The appointed substitute would be able to see all your work items. A substitute cannot be assigned for only particular area of organization or any other item. So need to ensure that the substitute have the necessary authorizations to act upon the work items.
Procedure:
1. Go to SAP Business Work Place (TCode: SBWP)
2. Now from the menu bar, select Settings à Workflow settings à Maintain Substitute
3. Highlight/Select the name on the window, in this case SAPDEV02 and click on Create Substitute.
4. List of users available in the system are displayed.
5. Select the required substitute user name. Following screen appears.
Validity field describes about the period in which the setting would be active. Note that the dates on the screen would range from the current date to 31st Dec 9999.
Regarding the checkbox Substitution active, it is advised to leave this checkbox unchecked for system performance reasons. A check in this box indicates that the substitution is permanent and if left unchecked it is treated as as-needed. A permanent substitute will automatically receive the primary users work items in their own box. In the case of as-needed, substitute must manually adopt the work items from the primary users inbox.
6. Save the entries
7. Click Enter to leave the screen.
Adopting a Substitute in Workflow
If you have been designated as an as-needed substitute, you must manually adopt the substitution. If you are designated as a permanent substitute, the work items would automatically appear in the inbox.
Before adopting a substitution, there are 19 work items in the inbox. See the screenshot below:
To adopt a substitution, select Settings à Workflow settings à adopt substitution.
Select the corresponding User-id (if you have been assigned as a substitute for multiple people, then this option would allow you to select the user name of whom you would to check the work items)
The corresponding users work items would appear in our inbox now.
You can end the substitution, by selecting settings à Workflow settings à End substitution.
Note: Substitutes can only adopt work items that are directly routed to the person for whom they are a substitute. If you are a substitute for a user (SAPDEV02) who has been made a substitute for another user (SAPDEV01), you will only see work items for user SAPDEV02 and not of the user SAPDEV01.
Notification of Work Items via e-Mail
SAP provides us with a facility of notifying the user via the email address of your choice when there are any pending work items in the SAP Inbox..
1. Go to Transaction SO13.
2. Click on Automatic Forwarding tab.
3. Click on Create icon .
4. Enter the details in the above screen.
5. Click ENTER to complete the entries.
6. Now the notification would be received at the provided email address if there are any pending work items in the inbox.
Filtering the Work Items in the SAP Inbox using BADI
This document details about the procedure in filtering some of the work items from the SAP inbox using a BADi.
Following is the screenshot of the SAP inbox, before implementing BADi:
The BADi that is used in filtering the work items is WF_BWP_SELECT_FILTER. To implement the BADi, go to transaction SE18. From the menu, select Implementation à Create. (See the screenshot below)
Enter the implementation name and press ENTER
Enter any meaningful short text for the implementation and click on the tab Interface
The implementing class, ZCL_IM_BWP_SELECT_FILTER, is automatically proposed. Double click on the implementing class name.
You are now navigated to the class builder. Now double-click on the method name shown on the screen (see the snapshot below)
Now let us filter out the work items belonging to the task TS2000066. See the code below:
Activate the method and also the implementation. In the state of active, you wouldnt be able to make any changes. To make any changes, we need to deactivate it and then make the changes.
Now check the inbox and would notice that the work items related to that task are no more appearing.
To notice the differences, try activating and deactivating the BADi implementation.
Workflow tutorials with step-by-step and with screenshots are available at http://www.****************/Tutorials/Workflow/Workflow.htm
http://help.sap.com/saphelp_erp2005vp/helpdata/en/42/c14a9b55103116e10000000a1553f7/frameset.htm
http://help.sap.com/saphelp_erp2005vp/helpdata/en/c5/e4a930453d11d189430000e829fbbd/frameset.htm
http://www.sapgenie.com/workflow/
http://www.sap-img.com/workflow/sap-workflow.htm
http://help.sap.com/saphelp_47x200/helpdata/en/3d/6a9b3c874da309e10000000a114027/frameset.htm
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PSWFL/PSWFL.pdf
http://help.sap.com/saphelp_47x200/helpdata/en/4a/dac507002f11d295340000e82dec10/frameset.htm
http://www.workflowing.com/id18.htm
http://www.e-workflow.org/
http://web.mit.edu/sapr3/dev/newdevstand.html
http://www.sap-basis-abap.com/wf/sap-business-workflow.htm
https://forums.sdn.sap.com/click.jspa?searchID=791580&messageID=2857887
https://forums.sdn.sap.com/click.jspa?searchID=791580&messageID=2855919
https://forums.sdn.sap.com/click.jspa?searchID=791580&messageID=2735228
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCBMTWFMSTART/BCBMTWFMSTART.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCBMTWFMDEMO/BCBMTWFMDEMO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCBMTWFMPM/BCBMTWFMPM.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PSWFL/PSWFL.pdf
debug a workflow.
This has a step by step procedure :
http://fuller.mit.edu/workflow/debugging.pdf
www.erpgenie.com/sap/workflow/debugging.htm
http://www.erpgenie.com/workflow/debugging.htm?2b5de440 -
Strange errors in session replication
I get following errors in session replication :
weblogic.utils.NestedError: Tried to update secondary, but it thought
it was the primary
- with nested exception:
[weblogic.cluster.replication.BadStatusException: updateSecondary
found
-148099416498695151 but it is not the primary]
Using Weblogic451, SP7 on Solaris 2.6.
Any clues ??
-Kuntal Shah.
Hello,
> > Alteon is set to use "permanent hashing" to route the client into
> > the same server in each request.
>
> How do you expect the switch to know about the secondary node
> if the primary fails? This information is stored in the URL and
> parsed by a proxy.
It took a couple of days and fair amount of documentation to understand
the behaviour of the web cluster...;-)
We changed the configuration to include two proxy servers between the
Alteon switch and web cluster, but we ended up with a different problem.
The setup at the moment is:
- Sun Solaris 2.6, native threads, JDK 1.1.7B_008
- two WLS 4.51 SP7 running in cluster using in-memory replication
- only servlets deployed in the servers
- Two WLS proxies between the webcluster and alteon switch. Both proxies are
configured to use both of the web servers. they do not belong to the web
cluster.
The proxies are configured in the following way:
weblogic.httpd.session.enable=true
weblogic.httpd.session.timeoutSecs=1800
weblogic.httpd.session.invalidationIntervalSecs=600
weblogic.httpd.session.URLRewriting.enable=true
weblogic.httpd.session.cookies.enable=true
weblogic.httpd.session.cookie.maxAgeSecs=-1
weblogic.httpd.session.cookie.domain=some.domain.name
weblogic.httpd.register.cluster=weblogic.servlet.internal.HttpClusterServlet
weblogic.httpd.initArgs.cluster=defaultServers=x.y.z.a1:9001|x.y.z.a2:9001
weblogic.httpd.defaultServlet=cluster
weblogic.allow.execute.weblogic.servlet=everyone
Probably most of the configuration parameters are not necessary, can
somebody tell me which are
and which are not?
The servers in the web cluster are configured in the following way:
The following parameters are in the start-up script of the servers:
-Dweblogic.cluster.enable=true \
-Dweblogic.system.name=somehost \
-Dweblogic.cluster.name=someclustercluster \
-Dweblogic.cluster.multicastAddress=237.0.0.1 \
-Dweblogic.system.bindAddr=x.y.z.a1 \
-Dweblogic.system.nativeIO.enable=true \
-Dweblogic.debug.replication=1 \
And the following are in the cluster-wide properties file:
weblogic.httpd.clustering.enable=true
weblogic.httpd.session.persistence=true
weblogic.httpd.session.persistentStoreType=replicated
weblogic.httpd.session.enable=true
weblogic.httpd.session.timeoutSecs=1800
weblogic.httpd.session.invalidationIntervalSecs=600
weblogic.httpd.session.URLRewriting.enable=true
weblogic.httpd.session.cookies.enable=true
weblogic.httpd.session.cookie.domain=some.domain.name
The IP-address of the Alteon box in front of the proxies is bound to
'some.domain.name'.
The first problem seems to be very poor performance. The overall throughtput
is vveeeerrryyy slow, comparing
to the configuration where there is no proxy sitting in front of the
cluster. Furthermore, at some stage the proxy
starts to print out error messages: java.lang.InvalidStateException: broken
pipe [...] . After those exceptions no
client get any response anymore.
Could someone give some hints what are the most essential items in the
weblogic.properties -file for the
proxy server? Also, if someone has some experience from setting up a
configuration similar to ours: one hardware
load-balancer in front of two proxies, and eventually two web servers
running in a web cluster.
Cheers,
Jarno.
-
Session replication not working with OAM clusters
Hi,
We have a enterprise deployment of OAM 11.1.1.5.0, and we are using a cluster or OAM managed servers. Server#A (fano1) hosts the admin + OAM managed server, server#B (fano2) hosts the second OAM managed server.
What we have noticed in general is that when accessing the OAM admin console (on server#A, fano1), we get prompted to login and then we get a "Error 404--Not Found". It seems that we are getting authenticated against server#B (fano2) and our session is not getting replicated to server#A (fano1). After exactly 60 seconds, if we were to simply reload the URL in the same browser window, we can get in. This is with "database replication of sessions" enabled. If I disable that, then I will never be able to login to the admin console.
The admin server logs contain the error message:
[2011-12-22T16:41:52.471-05:00] [AdminServer] [WARNING] [] [oracle.oam.agent-default] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: f4a544324f1d0f29:2ccc59c7:13467aaf744:-8000-0000000000000182,0] [APP: oam_admin#11.1.1.3.0] OAM Server request failed: OpCode = 19 [GetSessionInfo], Returned Status = Major code: 71(SessionInvalid) Minor code: 2(NoCode)
[2011-12-22T16:41:52.473-05:00] [AdminServer] [WARNING] [OAMAGENT-00406] [oracle.oam.agent-default] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: f4a544324f1d0f29:2ccc59c7:13467aaf744:-8000-0000000000000182,0] [APP: oam_admin#11.1.1.3.0] Invalid authentication token: AccessService INVALID_USER_SESSION
One other point is that we are using virtual IPs and each server (Admin + 2 managed servers) is listening to its own virtual IP.
Does anyone have any suggestions on what this could be. My thinking is that coherence based session replication is not working. However I have no way to say that for sure. Is there any way to enable some more logging from either OAM or Coherence that would help verify if sessions are getting replicated or not? I have tried putting the entire system in TRACE:32 but that generates too much data.
Thanks
Aspi Engineer
Putnam InvestmentsDid you get solution to this one.
ThanksKrishna
Maybe you are looking for
-
How to handle Dynamic Fiscal calendar
Hi FolksWe have designed our cubes in such a way that the time dimension is actually split into 2 time dimensions "Fiscal Year" and "Fiscal Time". The "Fiscal Time" changes every four years, in that, it has an extra week. So usually the Month Februar
-
Media Center III f**** up my CD/DVD
Hi, I downloaded the Mediacenter III that is a huge step ahead compared to the previous version. It even works with my Hercules TV card with no problems at all. It plays DVDs and CDs, I can access the menus with remote from the sofa etc. BUT... Windo
-
Hello All, I am using Client_Ole2 function in my form. When Button pressed is giving the following stated issue. I have been successful with the open dialog box functionality with client_get_filename Since I am using OLE2 for my Windows applications
-
Controlling a MacBook Pro from a MacBook Air
Hi Can I control a MB Pro from a MB Air whilst the lid of the Pro is shut? Thanks Philip
-
Dear All, This error message displayed when i running the Fixed Asset Depreciation Run directly until period 10, while it is ok if i running the Depr Run until period 8 and 9. "The depreciation run 100000001 failed and has been cancelled; Error: -10