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 Index » WebSphere Message Broker (ACE) Support » Broker SAPRequest JRE question

Post new topic  Reply to topic Goto page 1, 2  Next
 Broker SAPRequest JRE question « View previous topic :: View next topic » 
Author Message
rknox
PostPosted: Mon Apr 07, 2008 8:27 am    Post subject: Broker SAPRequest JRE question Reply with quote

Apprentice

Joined: 28 Aug 2007
Posts: 34

I have a SAP developer who is using Message Broker 6.1.0.1 and attempting to use the SAPRequest node. She is getting the error:

+5376 Mar 31 16:39:11 asdembr1 user:info WebSphere Broker v6101[831738]: (MBRDEV1.XXX_xxxx)[6940]BIP3450E: An adapter error occurred during the processing of a message. The adapter error message is 'java.util.HashMap$Entry incompatible with java.lang.String: XXX.
28ee7583-1701-0000-0080-a9063b61274e: MbAdapterErrors.java: 292: throwableToMbException: :


I do not know much about SAP programming, but she is stating that this would be because the SAP node is loading a JRE of 1.4.2 while the JRE within the Broker runtime PATH is 1.5.0. I don't see how it could load anything besides 1.5.0 since it's the only JRE in Broker's path.

This leads me to 2 questions.
1) Does anyone know the JRE path that the SAPRequest node loads for it's runtime?
2) If so, how can I prove that the SAPRequest node is running with a 1.5.0 JRE?

It seems clear to me because ALL of the JRE's within the Broker runtime path are 1.5.0, but there are some other unrelated 1.4.2 runtimes that are peppered throught the server. I don't really want to remove those environments because I'm not certain what else may use them.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Mon Apr 07, 2008 8:44 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

All of Broker v6.1 is JDK 1.5 - AFAIK, at least.

This is almost certainly an adapter configuration issue, or a problem with the flow that is building the SAP request message (more likely).
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Gaya3
PostPosted: Mon Apr 07, 2008 9:09 pm    Post subject: Reply with quote

Jedi

Joined: 12 Sep 2006
Posts: 2493
Location: Boston, US


jefflowrey wrote:

This is almost certainly an adapter configuration issue, or a problem with the flow that is building the SAP request message (more likely).


even i am doubting about the message.

SAP Request node helps to sent the data to SAP from MB.

Regards
Gayathri
_________________
Regards
Gayathri
-----------------------------------------------
Do Something Before you Die
Back to top
View user's profile Send private message
rknox
PostPosted: Tue Apr 08, 2008 8:07 am    Post subject: Reply with quote

Apprentice

Joined: 28 Aug 2007
Posts: 34

This is the procedure the developer is using to get the error above:

Does this contain any obvious mistakes or errors?

EDIT: I missed the first 2 steps on my paste.

1. Create a Message Set project ‘GeneralLedger_SAP_Set’ with DataObject and XMLNSC message domains
2. Create a Message Flow project ‘GeneralLedger_Flow’ with project reference to ‘GeneralLedger_Set’ project

END EDIT


3) Create a new Adapter Connection for ‘IBM WebSphere Adapter for SAP Software with transaction support’ under project CWYAP_SAPAdapter_Tx. It uses ‘sapjco-ntintel-2.1.8’ for outbound process (which passes data from Message Broker to SAP system). It discovered IDOC ‘FIDCCP01’ and auto-generated all the messages for the IDOC structure in the message set project. Besides, it created an outbound SAP adaptor ‘GeneralLedger_SAP.outadapter’

4) Create a new Message Flow ‘PostGLEntry’ in the Flow project ‘GeneralLedger_Flow’. It starts with MQInput for a XML event (any XML message is fine). Through a Compute node to construct IDOC ‘FIDCCP01’, it ends with the SAP outbound adapter ‘GeneralLedger_FIDCCP01.outadapter’. The adapter was pulled and dropped on the canvas of the flow.

MQ Input  Compute  SAP Outbound Adapter

5. ESQL was coded to construct the IDOC

BROKER SCHEMA com.deere.jdc.generalledger.sap
DECLARE ns27 NAMESPACE 'http://www.ibm.com/xmlns/prod/websphere/j2ca/sap/sapfidccp01idocbo';
DECLARE ns NAMESPACE 'http://www.ibm.com/xmlns/prod/websphere/j2ca/sap/sapfidccp01';

CREATE COMPUTE MODULE PostGLEntry_Construct_IDOC_FIDCCP01
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
CALL CopyMessageHeaders();

CREATE LASTCHILD OF OutputRoot DOMAIN 'XMLNSC' NAME 'XMLNSC';
CREATE LASTCHILD OF OutputRoot.XMLNSC NAMESPACE ns NAME 'SapFidccp01';
DECLARE sap REFERENCE TO OutputRoot.XMLNSC.ns:SapFidccp01;
SET sap.SAPTransactionID = 'FB03';
--SET sap.qRFCQueueName = 'MSSGBRKR';
CREATE LASTCHILD OF sap NAME 'SapFidccp01IDocBO';
MOVE sap LASTCHILD;
SET sap.DummyKey = '123';

CREATE LASTCHILD OF sap NAME 'SapIDocControlRecord';
MOVE sap LASTCHILD;
SET sap.NameOfTableStructure = 'EDI_DC40';
SET sap.DirectionForIdocTransmission = '2';
SET sap.TestFlag = 'X';
SET sap.IdocType = 'FIDCCP01';
SET sap.LogicalMessageType = 'FIDCC1';
SET sap.LogicalMessageCode = 'WND';
SET sap.SenderPort = 'MSSGBRKR';
SET sap.PartnerTypeOfSender = 'LS';
SET sap.PartnerNumberOfSender = 'MSSGBRKR';

MOVE sap PARENT;
CREATE LASTCHILD OF sap NAME 'SapFidccp01DataRecord';
MOVE sap LASTCHILD;
CREATE LASTCHILD OF sap NAME 'SapFidccp01E2fikpf006';
MOVE sap LASTCHILD;
SET sap.Bukrs = 'AG00';
SET sap.Belnr = '100000000';
SET sap.Gjahr = '2008';

RETURN TRUE;
END;

CREATE PROCEDURE CopyMessageHeaders() BEGIN
DECLARE I INTEGER 1;
DECLARE J INTEGER;
SET J = CARDINALITY(InputRoot.*[]);
WHILE I < J DO
SET OutputRoot.*[I] = InputRoot.*[I];
SET I = I + 1;
END WHILE;
END;

END MODULE;

6. Created a Broker Archive file ‘PostGLEntry.bar’ for deployment under message flow project.

7. Deployed the BAR file ‘PostGLEntry.bar’ successfully into Message Broker runtime.

8. Started the debug mode in the Broker toolkit. A XML message was sent over MQ on the MQ input queue ‘JDC.TEST15.REQUEST’, and the exception was thrown.


Last edited by rknox on Tue Apr 08, 2008 11:48 am; edited 2 times in total
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Tue Apr 08, 2008 8:10 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

That's entirely the wrong way to construct the IDoc for use with the Adapter.

Use the Adapter Configuration Wizard to build a message set and message definition for the outbound message.

Use *that* to build the outbound message, not a raw XMLNSC document.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
rknox
PostPosted: Tue Apr 08, 2008 11:50 am    Post subject: Reply with quote

Apprentice

Joined: 28 Aug 2007
Posts: 34

When I pasted the steps initially, I forgot the first two:



1. Create a Message Set project ‘GeneralLedger_SAP_Set’ with DataObject and XMLNSC message domains
2. Create a Message Flow project ‘GeneralLedger_Flow’ with project reference to ‘GeneralLedger_Set’ project

Jefflowrey, it looks like she is creating a messageset with two domains, the DataObject and XMLNSC. Does this change your mind on your last post?
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Tue Apr 08, 2008 11:53 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

But the message being given to the SAPAdapter node is built in the XMLNSC domain, and not in the DataObject domain.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
kirankinnu
PostPosted: Tue Apr 08, 2008 1:02 pm    Post subject: Reply with quote

Centurion

Joined: 12 Jun 2004
Posts: 128
Location: Chicago, IL

Go Over this document for configuring SAPAdapter node:

http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/topic/com.ibm.iea.wmbadapters_v6/wmbadapters/6.1/Overview/WMBV61_AdapterNodes_Overview.pdf
Back to top
View user's profile Send private message
rknox
PostPosted: Thu Apr 10, 2008 6:11 am    Post subject: Reply with quote

Apprentice

Joined: 28 Aug 2007
Posts: 34

We have found that this exact flow works with Broker 6.1.0.0 (java 1.4.2), but does not with broker 6.1.0.1 (java 1.5.0). I have a PMR open with IBM since this is very curious behavior.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu Apr 10, 2008 6:24 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

rknox wrote:
We have found that this exact flow works with Broker 6.1.0.0 (java 1.4.2), but does not with broker 6.1.0.1 (java 1.5.0). I have a PMR open with IBM since this is very curious behavior.


Broker 6.1.0.0 is also java 5/jdk 1.5. Unless you did something to specifically change the JVM level...?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
rknox
PostPosted: Thu Apr 10, 2008 6:32 am    Post subject: Reply with quote

Apprentice

Joined: 28 Aug 2007
Posts: 34

It isn't my environment that the 6.1.0.0 was installed on, but I had the person who owns the runtime to do a java -version with the ID that starts up broker and that showed 1.4.2. I spoke with IBM and they said that whatever java version shows up with the java -version is what broker will use upon startup.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu Apr 10, 2008 6:37 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

rknox wrote:
It isn't my environment that the 6.1.0.0 was installed on, but I had the person who owns the runtime to do a java -version with the ID that starts up broker and that showed 1.4.2.


Before or after sourcing mqsiprofile?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
rknox
PostPosted: Thu Apr 10, 2008 6:49 am    Post subject: Reply with quote

Apprentice

Joined: 28 Aug 2007
Posts: 34

I just found out it was before the mqsiprofile. So most likely it was running with java 1.5.0. But the flow still did work on 6.1.0.0 and it does not on 6.1.0.1.
Back to top
View user's profile Send private message
rknox
PostPosted: Thu Apr 10, 2008 7:59 am    Post subject: Reply with quote

Apprentice

Joined: 28 Aug 2007
Posts: 34

This is a full error from the trace user trace:

BIP3484E: ''CWYAP3068:Cursor.getNext() method call failed, verify that the input business object Cursor com.ibm.broker.despi.MbTopLevelInputCursor@68ad68ad data is initialized. Error Message: getAccessor called for non existent accessor: Cursor = /, accessor = verb Explanation=The input data has not been populated in the input business object Cursor. UserAction=Input business object data may not have been initialized in the business object specified in the error message, make sure data in initialized before calling getNext(). '' BIP3484E: ''verb not found , its ok for bean recordsnull'' BIP3484E: ''property name =qRFCQueueName'' BIP3484E: ''property name =com.ibm.j2ca.extension.metadata.internal.sdo.SDOProperty@203a203a'' BIP3484E: ''CWYAP3024:You must set valid values for the following mandatory IDocControlRecord parameters: , , , , , and null. Explanation=The IDoc posting to the SAP system will fail if all of the required fields in the control record are not set. UserAction=Make sure that all of the required fields are set in the control record.'' . BIP2628E: Exception condition detected on input node &apos;com.deere.jdc.generalledger.sap.PostGLEntry.MQInput&apos;. : MBRDEV1.28ee7583-1701-0000-0080-a9063b61274e: /build/S610_P/src/DataFlowEngine/ImbCommonInputNode.cpp: 1562: ImbCommonInputNode::run: ComIbmMQInputNode: com/deere/jdc/generalledger/sap/PostGLEntry#FCMComposite_1_2', true BIP2230E: Error detected whilst processing a message in node &apos;com.deere.jdc.generalledger.sap.PostGLEntry.SAP Request&apos;. : MBRDEV1.28ee7583-1701-0000-0080-a9063b61274e: /build/S610_P/src/DataFlowEngine/TemplateNodes/ImbRequestTemplateNode.cp p: 371: ImbRequestTemplateNode::processMessageAssemblyToFailure: ComIbmSAPRequestNode: com/deere/jdc/generalledger/sap/PostGLEntry#FCMComposite_1_1', true BIP3442E: An exception occurred in adapter node &apos;SAP Request&apos;, which is using adapter component &apos;GeneralLedger_FIDCCP01.outadapter&apos;.. : MBRDEV1.28ee7583-1701-0000-0080-a9063b61274e: MbAdapterErrors.java: 151: requestData: : ', true BIP3450E: An adapter error occurred during the processing of a message. The adapter error message is &apos;java.util.HashMap$Entry incompatible with java.lang.String: MBRDEV1.28ee7583-1701-0000-0080-a9063b61274e: MbAdapterErrors.java: 292: throwableToMbException: : ', true
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Apr 10, 2008 2:19 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Quote:
UserAction=Make sure that all of the required fields are set in the control record

Apparently your EDI_DC40 record is not getting filled right...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Broker SAPRequest JRE question
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.