ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum IndexIBM MQ Java / JMSMQ recevie error

Post new topicReply to topic
MQ recevie error View previous topic :: View next topic
Author Message
akii
PostPosted: Tue Sep 12, 2006 9:49 pm Post subject: MQ recevie error Reply with quote

Newbie

Joined: 12 Sep 2006
Posts: 3

I have write scheduler to get the MQ Q message.
the back console print:
A WebSphere MQ error occurred : Completion code 2 Reason Code is 2058
A WebSphere MQ error occurred : Completion code 2 Reason Code is 2019
,but the Msg has received from the Q normally.why?
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed Sep 13, 2006 1:52 am Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

It is probably caused by your code.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
akii
PostPosted: Wed Sep 13, 2006 1:57 am Post subject: Reply with quote

Newbie

Joined: 12 Sep 2006
Posts: 3

// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: BepsMbfeMqReceiverScheduler.java

package com.ncs.sh.beps.engine.scheduler;

import com.ibm.mq.*;
import com.ncs.sh.beps.common.mbfemsg.BepsMbfeMsg;
import com.ncs.sh.beps.common.system.BepsRecMbfeMsgCtl;
import com.ncs.sh.beps.common.util.BepsHelper;
import com.ncs.sh.beps.common.util.BepsIncomingStatusManager;
import com.ncs.sh.common.engine.NcsAbstractScheduler;
import com.ncs.sh.common.engine.NcsEngineController;
import com.ncs.sh.common.ibatis.NcsIbatisSqlMapClient;
import com.ncs.sh.common.util.NcsLogger;
import com.ncs.sh.common.util.NcsRuntimeException;
import java.io.IOException;
import java.io.PrintStream;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.ArrayList;
import java.util.StringTokenizer;

public class BepsMbfeMqReceiverScheduler extends NcsAbstractScheduler
{

int receiveNum;
private String qManager;
private MQQueueManager qMgr;
private MQQueue qQueue;
private MQQueue qResponse;
private String msgText;
private String branchID;

public BepsMbfeMqReceiverScheduler()
{
receiveNum = 0;
}

public void onTime()
{
init();
GetMsg();
finalizer();
}

public void init()
{
ArrayList list = new ArrayList();
StringTokenizer st;
if(getParameter() == null)
st = new StringTokenizer("2000|5000|BEI|192.168.88.164|1414|QM_mengzhaojun|testResend|1381", "|");
else
st = new StringTokenizer(getParameter(), "|");
list.clear();
for(; st.hasMoreTokens(); list.add(st.nextToken()));
branchID = (String)list.get(2);
String HOST_NAME = (String)list.get(3);
int PORT = Integer.parseInt((String)list.get(4));
qManager = (String)list.get(5);
String Q_NAME = (String)list.get(6);
String Q_RESPONSE = (String)list.get(7);
int intCCSID = Integer.parseInt((String)list.get();
try
{
MQException.log = null;
MQEnvironment.hostname = HOST_NAME;
MQEnvironment.port = PORT;
MQEnvironment.channel = "SYSTEM.DEF.SVRCONN";
MQEnvironment.CCSID = intCCSID;
qMgr = new MQQueueManager(qManager);
int qOptioin = 17;
qQueue = qMgr.accessQueue(Q_NAME, qOptioin);
qOptioin = 48;
qResponse = qMgr.accessQueue(Q_RESPONSE, qOptioin);
}
catch(MQException e)
{
System.out.println("A WebSphere MQ error occurred : Completion code " + e.completionCode + " Reason Code is " + e.reasonCode);
e.getMessage();
}
}

private int getLength(byte s[])
{
ByteBuffer b = ByteBuffer.wrap(s);
b.order(ByteOrder.LITTLE_ENDIAN);
return b.getInt();
}

public void GetMsg()
{
try
{
MQMessage retrievedMessage = new MQMessage();
MQGetMessageOptions gmo = new MQGetMessageOptions();
qQueue.get(retrievedMessage, gmo);
int length = retrievedMessage.getDataLength();
byte msg[] = new byte[length];
retrievedMessage.readFully(msg);
retrieveData(msg);
commit();
NcsLogger.info(getClass(), "The message is " + new String(msg, "GBK"));
receiveNum = 0;
}
catch(RuntimeException e)
{
backOut();
receiveNum++;
System.out.println("==================================================================" + receiveNum);
}
catch(MQException e)
{
if(e.reasonCode != 2033)
System.out.println("A WebSphere MQ error occurred : Completion code " + e.completionCode + " Reason Code is " + e.reasonCode);
}
catch(IOException e)
{
System.out.println("An error occurred whilst to the message buffer " + e);
}
}

public void SendMsg(byte qByte[])
{
try
{
MQMessage qMsg = new MQMessage();
qMsg.write(qByte);
MQPutMessageOptions pmo = new MQPutMessageOptions();
qResponse.put(qMsg, pmo);
NcsLogger.info(getClass(), "The message is sent!");
}
catch(MQException e)
{
backOut();
System.out.println("A WebSphere MQ error occurred : Completion code " + e.completionCode + " Reason Code is " + e.reasonCode);
throw new NcsRuntimeException(e);
}
catch(Exception e)
{
backOut();
e.printStackTrace();
throw new NcsRuntimeException(e);
}
}

public void finalizer()
{
try
{
qQueue.close();
qResponse.close();
qMgr.disconnect();
}
catch(MQException e)
{
System.out.println("A WebSphere MQ error occurred : Completion code " + e.completionCode + " Reason Code is " + e.reasonCode);
}
}

public void backOut()
{
try
{
NcsLogger.info(getClass(), "MQ rollbackI");
qMgr.backout();
}
catch(Exception e)
{
e.printStackTrace();
throw new NcsRuntimeException(e);
}
}

public void commit()
{
try
{
NcsLogger.info(getClass(), "MQ commitI");
qMgr.commit();
}
catch(Exception e)
{
e.printStackTrace();
throw new NcsRuntimeException(e);
}
}

public void retrieveData(byte recData[])
{
getEngine().getSqlMap().startTransaction();
try
{
BepsRecMbfeMsgCtl msgCtl = new BepsRecMbfeMsgCtl();
BepsMbfeMsg msg = new BepsMbfeMsg();
BepsIncomingStatusManager.bepsReceivedMbfeMsg(msg);
String header = BepsHelper.convertToGBK(BepsHelper.subBytes(recData, 0, ).trim();
recData = BepsHelper.subBytes(recData, ;
String strMsgCode = BepsHelper.convertToGBK(BepsHelper.subBytes(recData, 57, 3));
if(header.equals("URPS_417"))
strMsgCode = "417";
else
msg.setMsgSeqNo(Integer.parseInt(BepsHelper.convertToGBK(BepsHelper.subBytes(recData, 15, ).trim()));
msg.setMsgCode(strMsgCode);
msgCtl.setMsgCode(strMsgCode);
msgCtl.setBranchId(branchID);
msgCtl = msgCtl.selectByBranchAndMsgCode(getEngine().getSqlMap());
if(msgCtl != null)
msg.setProcessType(msgCtl.getProcessType());
else
msg.setProcessType("N");
msg.setBranchId(branchID);
msg.setCreateBy("BEPSBACKENGINE");
msg.setModifyBy("BEPSBACKENGINE");
msg.insertIntoDB(getEngine().getSqlMap());
msg.setMsg(recData);
msg.updateBinaryByPk(getEngine().getSqlMap());
SendMsg("0".getBytes());
}
catch(RuntimeException e)
{
SendMsg("1".getBytes());
e.printStackTrace();
throw new RuntimeException(e);
}
finally
{
getEngine().getSqlMap().commitTransaction();
getEngine().getSqlMap().endTransaction();
}
return;
}

public static void main(String args1[])
{
}
}
Back to top
View user's profile Send private message
Nigelg
PostPosted: Wed Sep 13, 2006 3:46 am Post subject: Reply with quote

Grand Master

Joined: 02 Aug 2004
Posts: 1046

Yes, that is definitely java code. I recommend that you read through it to find the problem.
_________________
MQSeries.net helps those who help themselves..
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed Sep 13, 2006 3:47 am Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

I don't understand.

If you are writing this scheduler, then why did you need to decompile it?

I hope that the original author of this code doesn't mind you decompiling it and placing it on a public forum.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
vennela
PostPosted: Wed Sep 13, 2006 12:57 pm Post subject: Reply with quote

Jedi Knight

Joined: 11 Aug 2002
Posts: 4055
Location: Hyderabad, India

Also, you can search the forum for 2058 and 2019 and you should get lot of results
Back to top
View user's profile Send private message Send e-mail Visit poster's website
akii
PostPosted: Wed Sep 13, 2006 6:22 pm Post subject: Reply with quote

Newbie

Joined: 12 Sep 2006
Posts: 3

jefflowrey wrote:
I don't understand.

If you are writing this scheduler, then why did you need to decompile it?

I hope that the original author of this code doesn't mind you decompiling it and placing it on a public forum.

because my source is in the company and I have the jar on the my customer side,so i decompile it.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu Sep 14, 2006 1:43 am Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

I still don't understand how you can be developing code without access to the actual source code.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Display posts from previous:
Post new topicReply to topic Page 1 of 1

MQSeries.net Forum IndexIBM MQ Java / JMSMQ recevie error
Jump to:



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP


Theme by Dustin Baccetti
Powered by phpBB 2001, 2002 phpBB Group

Copyright MQSeries.net. All rights reserved.