顯示具有 IBM ICS 標籤的文章。 顯示所有文章
顯示具有 IBM ICS 標籤的文章。 顯示所有文章

2008/8/29

[ICS]Unable to find version "* .*.*" of business object definition XXXX

[Mesg: Data handler com.ibm.bcg.DataHandlers.AttachmentDataHandler failed to convert message (ID:414d51206263672e71756575652e6d61b5afea4620010103) to business object (any). It reported the following error: com.ibm.bcg.DataHandlers.AttachmentDataHandlerException:CxCommon.Exceptions.BusObjSpecNameNotFoundException: Unable to find version "*
.*.*" of business object definition "SBX_".. ]

I tried 3 different BO's and with all of them I get the same error. I had a problem before with the collaboration object that didn't want to start so the connector wasn't even starting. I fixed that but now I'm hitting the wall with this one. I recreated already the connector from scratch and nothing.

Two weeks ago the ICS server didn't want to start, and we had to pull a db backup from last month to make it work. I don't know if there are still hidden issues of the previous problem or a new one because we did that.

Anyone with an idea of the best approach to solve this issue?

一、
This error occurs when the structure of the XML request put into the request queue does not match the BO definition in the repository of the connector.

Please check the following -

1. A BO XSD by name ASBOPip3C3_Pip3C3InvoiceNotification.xsd is present in the repository directory of the connector
2. The BO ASBOPip3C3_Pip3C3InvoiceNotification is listed in the Supported Business Objects tab of the connector configuration file
3. The XML message put into the request queue has an RFH header with the following attributes set under the mcd directory - (Msd='xml', Type='ASBOPip3C3_Pip3C3InvoiceNotification', Fmt='CwXML')
4. The XML body is valid and contains proper namespace prefixes


二、
check DataHandler\CwXMLDataHanlder.jar
check have any OverWrite method

2008/8/22

Diagnosing out of memory problems in ICS on AIX&windows

from <http://www-1.ibm.com/support/docview.wss?rs=693&context=SSBTEG&dc=DA490&dc=DA4A10&dc=DB520&dc=DA4A30&dc=DB530&dc=DA480&dc=D700&dc=DA4A20&dc=DB560&dc=DA440&dc=DA460&dc=DA430&dc=DA470&dc=DB550&dc=D600&dc=DB600&dc=DA420&dc=DA500&dc=DA410&dc=DB540&dc=DA400&dc=DB700&dc=DB510&uid=swg21250293&loc=en_US&cs=utf-8&lang=en>

Problem
This document is designed to help you collect data for problems related to running out of memory. Gathering specific information before calling IBM Support will help you communicate the problem and save time analyzing the data.
Solution
Garbage collector output (verbose:gc), javacore files, and heapdumps may all be helpful in diagnosing out of memory issues with WebSphere® InterChange Server.

If you have already contacted IBM Support, continue reading to begin collecting WebSphere InterChange Server MustGather data. Otherwise, please consult WebSphere Interchange Server MustGather: read first.

Collecting JVM specific information

Enabling and collecting verbose:gc
Verbose:gc logs provide statistics on the state of memory during every garbage collection. To enable verbose:gc, add the verbose:gc flag to the Java™ executable file in the startup script. Then restart InterChange Server to activate verbose:gc logging. To enable verbose:gc logging, refer to the instructions that follow for your platform.
.
  • AIX
    Modify the ics_manager file so that the Java executable command line reads as follows:
    exec $JAVA_ICS -verbose:gc -classpath "${CWCLASSES}"...

    Verify that verbose:gc messages are being logged to the ics_manager.log file.
  • Windows
    Modify the start_server.bat file so that the Java executable command line reads as follows:

    NaV -verbose:gc -Djava.....%2 %3 %4 %5 2>verbosegc.log

    Garbage collector output in the previous example is redirected to the verbosegc.log file written to in NaV\jre\ directory.


Collecting heapdumps and javacore files
Heapdumps contain a list of objects in the Java heap. They are usually created when an out of memory situation occurs in WebSphere InterChange Server. A heapdump can also be forced when a user sends a particular signal to the Java process. The heapdump file can be very large, so ensure that adequate disk space is available. To enable heapdumps, refer to the instructions that follow for your platform.
  • AIX
    Enable heapdumps by adding the following environment variables.
    export IBM_HEAP_DUMP=true
    export IBM_HEAPDUMP=true
    export IBM_HEAPDUMP_OUTOFMEMORY=true
    export IBM_JAVADUMP_OUTOFMEMORY=true
    export IBM_JAVA_HEAPDUMP_TEXT=true

    optional:
    export IBM_HEAPDUMPDIR=alternate_directory/
export IBM_JAVADUMPDIR=alternate_directory

You can add the variables to the ics_manager script or to the profile. Restart InterChange Server to activate heapdumps. Check that heapdumps has been activated by sending a kill -3 while InterChange Server is running. The WebSphere InterChange Server process will be momentarily interrupted to write the heapdump, but will not be killed. A message will be logged to the ics_manager.log file indicating the exact location of the heapdump file.

  • Windows
    Enable heapdumps by adding the following environment variables.
    set IBM_HEAP_DUMP=true
    set IBM_HEAPDUMP=true
    set IBM_HEAPDUMP_OUTOFMEMORY=true
    set IBM_JAVADUMP_OUTOFMEMORY=true
    set IBM_JAVA_HEAPDUMP_TEXT=true

    optional:
    set IBM_HEAPDUMPDIR=alternate_directory
    set IBM_JAVADUMPDIR=alternate_directory

You can add the variables to the start_server.bat script or to the Windows environment. Restart InterChange Server to activate heapdumps. Check that heapdumps have been activated by sending a Ctrl-Break signal in the InterChange Server console window. The InterChange Server process will be momentarily interrupted to write the heapdump, but will not be killed. A message will be logged indicating the exact location of the heapdump file.


Sending diagnostic information to IBM Technical Support
To send diagnostic information to IBM Technical Support, follow the instructions in the document Exchanging information with IBM Technical Support for problem determination.

For a list of all technotes, downloads, and educational materials specific to WebSphere Interchange Server, search the WebSphere Interchange Server support site.

ICS OutofMemory exception in AIX or latter

FROM <http://www-1.ibm.com/support/docview.wss?rs=693&context=SSBTEG&dc=DA490&dc=DA4A10&dc=DB520&dc=DA4A30&dc=DB530&dc=DA480&dc=D700&dc=DA4A20&dc=DB560&dc=DA440&dc=DA460&dc=DA430&dc=DA470&dc=DB550&dc=D600&dc=DB600&dc=DA420&dc=DA500&dc=DA410&dc=DB540&dc=DA400&dc=DB700&dc=DB510&uid=swg21246680&loc=en_US&cs=utf-8&lang=en>

Problem(Abstract)
WebSphere® InterChange Server 4.3.0.x runs out of memory frequently on AIX® 5.2 or 5.3.

Cause
The java.lang.OutofMemory exception in the InterchangeSystem.log or ics_manager.log can caused by several things. This technote addresses situations where the WebSphere InterChange Server JVM might require some tuning on AIX, which in turn might require to move to a higher AIX memory model.

To understand more about using higher AIX memory models, please see the link in the Related URL section of this technote.


Resolving the problem
Follow these steps to tune AIX:
1. Change the value for Xmx to either 756 Mb or 1024 Mb, or higher if the application you are using requires it.

To change the Xmx value, change the CW_MEMORY_MAX value in the /bin/CWSharedEnv.sh file. The excerpt of the CWSharedEnv.sh file is as shown below:
# For ICS server the "maximum Java heap size" is defined by this variable
CW_MEMORY_MAX=756

2. In the ics_manager script, located in the /bin/ directory, comment out the following section:
os_seg_size=256
num_segs=`expr 9 - $CW_MEMORY_MAX / $os_seg_size`
ldr_var=0x"$num_segs"0000000
export LDR_CNTRL=MAXDATA=$ldr_var

Add the following section:
export IBM_JAVA_MMAP_JAVA_HEAP=true
export LDR_CNTRL=MAXDATA=0xA0000000@DSA

The script file should look like this after you have made the changes:
--------------------
### OS is being setup in CWSharedEnv.sh
### On AIX we have to setup this variable for the JVM to use
if [ "${OS}" = "AIX" ]
then
# os_seg_size=256
#num_segs=`expr 9 - $CW_MEMORY_MAX / $os_seg_size`
#ldr_var=0x"$num_segs"0000000
#export LDR_CNTRL=MAXDATA=$ldr_var
export IBM_JAVA_MMAP_JAVA_HEAP=true
export LDR_CNTRL=MAXDATA=0xA0000000@DSA
fi
exec $JAVA_ICS -classpath "${CWCLASSES}" ServerWrapper -s${SERVERNAME} ${var_options} -design
) >${var_outputlog} 2>&1 &
PROCESSID=$!
echo "Logging output to ${var_outputlog}"

--------------------------------------------------------------------------------------------------------------

Things to be aware of when using this memory model on AIX:

1. Ensure that your system is not paging after you make the preceding changes. Your applications can run more slowly if the system starts paging.

2. Use large heap values (Xmx) around 2 GB with caution and only if necessary. For higher values of Xmx ( over 1.75 GB), 0xB0000000@DSA is recommended to provide the highest possible native heap space (the number 1.75 GB is just an approximation, because there can be several threads used in the process). Ensure that your system is not paging after you make the change.

3. The OutofMemory exception can be caused due to fragmentation as well. If that is the case, increasing the Xmx value might not help. You will need to take other steps to address that issue.
Refer to the following link for a description of the steps you can take:
http://www-128.ibm.com/developerworks/java/jdk/diagnosis/142.html

4. As the Xmx is increased to higher values, the garbage collection cycles can take longer.

Related information
Getting more memory for java applications on AIX

2008/5/29

Adapter 安裝時出現的錯誤:BIA01002

BIA01002: You have attempted to install IBM WebSphere Business Integration Adapter
for on an unsupported platform.
Refer to the Installation Guide for WebSphere Business Integration Adapters.
Cause
This is because these products did not support Windows XP or Vista platforms
at the time the products were released.

The product installers have built-in platform checks that prevent users
from installing on unsupported platforms.

To bypass the installer platform check, follow these steps:
1. Open a Command Prompt. (Click Start->Run and
then type cmd and click "OK".)
2. Change directories to the directory
where the installer.exe file is located.
3. Type: setupwin32 -W unsupportedPlatform.active=false

Alternatively, if you want to start the installer using Java®,
type:
java -jar setup.jar -W unsupportedPlatform.active=false

Cross Reference information Segment

ICS for linux 安裝手順

ICS
等以後有空,再來重新排版吧
rpm -ivh IBMJava2-142-ia32-SDK-1.4.2-10.0.i386.rpm
export JAVA_HOME=/opt/IBMJava2-142
exprot CLASSPATH=/JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export EXTSHM=ON
DB2
//新增使用者icsadmin 群組:mqm
//解開DB2
cd 009_ESE_LNX_32_NLV/
export LIBXCB_ALLOW_SLOPPY_LOCK=1
//----------installing--------
Su – db2inst1
db2set DB2ENVLIST=EXTSHM
db2set DB2_EXTENDED_OPTIMIZATION=ON
db2set DB2_DISABLE_FLUSH_LOG=ON
db2set AUTOSTART=YES
db2set DB2_STRIPED_CONTAINERS=ON
db2set DB2_HASH_JOIN=Y
db2set DB2COMM=tcpip
db2set DB2_PARALLEL_IO=*
db2set db2codepage = 1208
//#Update dbm cfg
db2 update dbm cfg using SVCENAME db2inst1
db2 update dbm cfg using INDEXREC ACCESS
db2start
----------建立icsrepos DB-----------
DB2 Control Center-->db2inst1-->配置參數-->應用程式-->maxagents>50
DB2 Control Center-->icsrepos-->配置參數-->配置資料庫-->效能-->applheapsz=4096
DB2 Control Center-->icsrepos-->配置參數-->配置資料庫-->應用程式-->maxappls=50
----------建立icsrepos DB-----------
db2
CONNECT TO ICSREPOS;
GRANT DBADM,CREATETAB,BINDADD,CONNECT, CREATE_NOT_FENCED_ROUTINE,IMPLICIT_SCHEMA, LOAD, CREATE_EXTERNAL_ROUTINE,QUIESCE_CONNECT ON DATABASE TO USER ICSADMIN

//還要再研究
ICSSIT43:/home/db2inst1 #db2 catalog tcpip node icslog remote ICSSIT43 server icsdb2
ICSSIT43:/home/db2inst1 #db2 catalog database icsrepos as icsdb at node icslog
//還要再研究

db2set DB2_RR_TO_RS=yes





MQ
mkdir /var/mqm
useradd mqm -G mqm -d /var/mqm
./mqlicense.sh –accept

rpm -ivh MQSeriesRuntime-6.0.0-0.i386.rpm
rpm -ivh MQSeriesSDK-6.0.0-0.i386.rpm
rpm -ivh MQSeriesSamples-6.0.0-0.i386.rpm
rpm -ivh MQSeriesServer-6.0.0-0.i386.rpm
rpm -ivh MQSeriesClient-6.0.0-0.i386.rpm
rpm -ivh MQSeriesJava-6.0.0-0.i386.rpm
cd 6.0.2.1/
rpm -Uvh MQSeriesRuntime-U808001-6.0.2-1.i386.rpm
rpm -Uvh MQSeriesSDK-U808001-6.0.2-1.i386.rpm
rpm -Uvh MQSeriesSamples-U808001-6.0.2-1.i386.rpm
rpm -Uvh MQSeriesServer-U808001-6.0.2-1.i386.rpm
rpm -Uvh MQSeriesClient-U808001-6.0.2-1.i386.rpm
rpm -Uvh MQSeriesJava-U808001-6.0.2-1.i386.rpm

//*
export LD_ASSUME_KERNEL=2.4.19
/source/MQ/CSD11 # cd /source/MQ
/source/MQ # cp ma0c_linux.tar /
/source/MQ # cd /
/ # tar vxf ma0c_linux.tar
/ # su -mqm
/ # dspmqcap
/ # setmqcap 1
*/

crtmqm ICSSIT43.queue.manager
cd /var/mqm/qmgrs/ICSSIT43\!queue\!manager/
vi qm.ini
LogPrimaryFiles=62
LogFilePages=2048
LogBufferPages=128
#Add
Channels:
MaxChannels=1000
MaxActiveChannels=1000
Broker:
SyncPointIfPersistent=yes
#(end)

//作法一:
strmqm ICSSIT43.queue.manager
nohup runmqlsr -t tcp -p 1415 -m ICSSIT43.queue.manager &
strmqbrk -m ICSSIT43.queue.manager
vi /var/mqm/conv/table/ccsid.tbl
default 0 500 1 1 0
default 0 850 1 2 0
(unmark #)
runmqsc ICSSIT43.queue.manager < MQJMS_PSQ.mqsc
//作法二:
看書吧

WebSphere MQ V5.3 加入MQ Explorer
一、 啟動MQ Qmgr
1. 以mqm telnet進WebSphere MQ Server
2. 輸入已下指令啟動QMGR
$ strmqm [QMGR Name]
Ex:$ strmqm bcg.queue.manager
3. 輸入已下指令啟動Command Server
$ strmqcsv [QMGR Name]
Ex:$ strmqcsv bcg.queue.manager

二、 登入MQ Command Server
1. 以mqm telnet進WebSphere MQ Server
2. 輸入已下指令登入MQ Command Mode
$ runmqsc [QMGR Name]
Ex:$ runmqsc bcg.queue.manager
3. 輸入已下指令新增MQ管理Channel
DEFINE CHANNEL(SYSTEM.ADMIN.SVRCONN) CHLTYPE(SVRCONN) MCAUSER(‘mqm’)
4. 輸入已下指令確認MQ之CCSID與MQ Explorer相同
DISPLAY QMGR

手機QQ禁用NFC

一圖解千言萬語 應用程式權限:透過NFC起動