Set IDOC number as Correlation ID in JMS Receiver Adapter

Hi ,
I am working in PI7.1  on IDOC to JMS interface,
I want set  IDOC number as Correlation ID in JMS queue ,
I did following Correlation steps ,
1. Set JMSCorrelation ID to PI Conversation ID
2. Checked JMS CorrelationID of request
3.Value to PI Conversation ID
In Adavanced Tab
Checked Use Adapter specific Message attributes
Checked  Fial if  Adapter specific Message attributes missing
Checked JMS Message Correlation ID
Additional Parameter
DCJMSCorreleationID     String
I have created user defined function ,  Not using BPM , i don't have correlation ID in target field data type
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS", "DCJMSCorreleationID");
return conf.put(key, messageId);
please help to how to use UDF in mapping for mapping which field .
Thanks ,
Laxman.

Hi Swetha ,
Thanks for your response ,
I created user defined function with one parameter , no input parmeter .
My root node of IDOC as Structure type ,
In UDF , i have not mapped the IDOC number
public String CorrelationID(String messageId, Container container) throws StreamTransformationException{
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS", "DCJMSCorreleationID");
return conf.put(key, messageId);
messageId  I need map in additonal parameter .
Thanks ,
Laxman.
DCJMSCorreleationID     messageId

Similar Messages

  • JMS Correlation ID in JMS Receiver Adapter

    Hi ,
    I am working in PI7.1 on IDOC to JMS interface,
    I want set IDOC number as Correlation ID in JMS queue ,
    I did following Correlation steps ,
    1. Set JMSCorrelation ID to PI Conversation ID
    2. Checked JMS CorrelationID of request
    3.Value to PI Conversation ID
    In Adavanced Tab
    Checked Use Adapter specific Message attributes
    Checked Fial if Adapter specific Message attributes missing
    Checked JMS Message Correlation ID
    Additional Parameter
    DCJMSCorreleationID String
    I have created user defined function , Not using BPM , i don't have correlation ID in target field data type
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS", "DCJMSCorreleationID");
    return conf.put(key, idoc_number); 
    I tested UDF with mapping to target field, UDF is working .
    But in JMS Correlation ID value is null
    I am getting error in Communication Channel  monitor if ticked check box of fail If adapter-specific message attributes
    Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Dynamic header records are missing/incorrect specified in message: 000c2901-fc48-1def-82f9-4b126dff2151. Erroneous/Unspecified headers are: DCJMSCorreleationID
    1/27/10 11:02:36 PM 000c2901-fc48-1def-82f9-4b126dff2151 Dynamic record/records: DCJMSCorreleationID, that correspond to the JMS property/properties: JMSCorrelationID, respectively is/are either missing from the message: 000c2901-fc48-1def-82f9-4b126dff2151, or have invalid types specified in the channel configuration

    Hi Swetha ,
    Thanks for your response ,
    I created user defined function with one parameter , no input parmeter .
    My root node of IDOC as Structure type ,
    In UDF , i have not mapped the IDOC number
    public String CorrelationID(String messageId, Container container) throws StreamTransformationException{
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS", "DCJMSCorreleationID");
    return conf.put(key, messageId);
    messageId  I need map in additonal parameter .
    Thanks ,
    Laxman.
    DCJMSCorreleationID     messageId

  • Send Idoc flat file message in JMS receiver adapter

    Hello,
    I am working on a scenario where we send Delvry 03 idoc from ECC to external system. To external system, we send the whole Idoc in flat file structure through JMS queue. I have used Idoc to flat file program in my interface mapping and have configured JMS receiver adapter with just default Module configs but, I am getting an error in communication channel monitoring for the messages.
    Please note that Idoc xml to flat file structure conversion is already done in the mapping, I need to just pass this idoc flat structure in the jms adapter. Hence ther eis no content conversion i nthe adapter..
    Please give some inputs..Here are the modules in my receiver adapter and nothing else..
    SAP XI JMS Adapter/ConvertMessageToBinary
    SAP XI JMS Adapter/SendBinarytoXIJMSService
    The error I get is in audit log
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: No transition found from state: ERROR, on event: process_commence for DFA: CC_JMS_R:ca336a6689f837da8bd3387140fc4447
    in turn the message has this error if I open the message
    Whitespace is not allowed at this location. Error processing resource 'http://host:port/mdt/messageconten...
    and it shows one of the lines from idoc..flat file
    Any idea is greatly appreciated..Thank you..Thanujja

    The difference in what I suggest is that it is way simpler.
    Maybe you did not understand this, so will try to explain it better. Its not the best thing to do, but if JMS adapter doesn't budge then you can give it a shot.
    1. You continue to use the ABAP mapping in your interface mapping to map the Idoc xml to Idoc flat.
    2. Write a Java Map that will take the output of the ABAP mapping ; and then create a XML output which would be something like,
    <Root>
    <Idoc_Flat>
    <Data>ABAP Mapping Output<Data>
    </Idoc_Flat>
    </Root>
    3. Now use the simple content conversion in the JMS adapter to convert this to flat file.
    Regards
    Bhavesh

  • Adapter-specific message attributes for the JMS Receiver adapter

    Dear SAP Community,
    We are trying to activate some parameters at message level when SAP XI sent an interface (XML data) to IBM Websphere MQ. Programmaticaly, this is done the following way:
           TextMessage outMessage = session.createTextMessage();
           MQQueue replyToQ = new MQQueue("TESTQM01","SYSTEM.ADMIN.ACTIVITY.QUEUE");
           Destination replyTo = (Destination) replyToQ;
           outMessage.setJMSReplyTo(replyTo);
           outMessage.setIntProperty("JMS_IBM_Report_Exception", MQC.MQRO_EXCEPTION);
           outMessage.setIntProperty("JMS_IBM_Report_Expiration", MQC.MQRO_EXPIRATION);;
           outMessage.setIntProperty("JMS_IBM_Report_COA", MQC.MQRO_COA);
           outMessage.setIntProperty("JMS_IBM_Report_COD", MQC.MQRO_COD);
           outMessage.setIntProperty("JMS_IBM_Report_Discard_Msg", MQC.MQRO_DISCARD_MSG);
    This code is working fine.
    Since the documentation about this feature (Adapter-specific message attributes) is very light, We am not sure about the interpretation we made.
    First, we defined the following attributes: MS_IBM_Report_Exception, JMS_IBM_Report_Expiration, JMS_IBM_Report_COA, JMS_IBM_Report_COD, JMS_IBM_Report_Discard_Msg. All of them are with type int.
    Then we changed the mapping (XSL) to pass the value to the dynamic configuration, using the technical names (DCJMSMessageProperty0, ..., DCJMSMessageProperty4) and the value of the constants. We also specified a value in the Reply To Queue parameter of the adapter. As a test, We also change another parameter via the mapping (the correlation ID, to use the idoc number) and according to the log of the processed message, every thing is finde. According to the trace of the JMS adapter, everything is fine to. However, this has no impact on the message, only the correlation ID is changed.
    The JMS server is IBM Websphere MQ (v6.0.2.1). It is already in production and working fine. This is a change we have been asked to implement.
    Has anyone experience with the JMS receiver adapter-specific message attrbitutes ? What have we done wrong ?
    Any help is greatly appreciated.
    Regards,
    Gregory PFISTER
    SAP XI Analyst - Holcim

    Hi Neha,
    pls do chk the below links for SOAP adapter message attributes
    http://help.sap.com/saphelp_nwpi71/helpdata/en/fc/5ad93f130f9215e10000000a155106/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/43/0a7d1be4e622f3e10000000a1553f7/content.htm
    http://publib.boulder.ibm.com/infocenter/wbihelp/v6rxmx/index.jsp?topic=/com.ibm.wbia_adapters.doc/doc/sap_xi/sapximst38.htm
    http://publib.boulder.ibm.com/infocenter/wbihelp/v6rxmx/index.jsp?topic=/com.ibm.wbia_adapters.doc/doc/webservices/webservices16.htm
    Regards
    Sampath

  • JMS Receiver Adapter to MQ - additional message property error

    Hi,
    I'm trying to add addional message properties to a Receiver JMS message for MQ Server queue. Creating the message in the MQ queue only works when I don't try to
    add additional message properties. As soon as I try to add additional message properties the XI-Monitor says it's OK but there is no message in the queue.
    Our system constellation is a bit odd cause we implemented the JMS/MQ classes of release 5.3 in XI/J2EE.
    Our actual used MQ Server is on release 5.1 due to compatibilty reasons of other productive software.
    Is there a need to use a MQ server of release 5.3 ?
    Has anybody a step by step description for implementing a JMS receiver Adapter for MQ with with additional message property (f.ex. mesType = salesOrder) in the MQ header?
    Thanx a lot in advance
    Hans

    Hi,
    You also might want to look at sap note 856346...for this ..
    2.6) I am connecting to a JMS provider using JNDI mode. How do I add pass an extra name,value property pair while setting up the JNDI initial context?
    Answer: Assuming that your property value is a string, please add the following name, value pair in "JMS Additional properties" table of your channel configuration:
    JNDI.InitialContext.property.X=java.lang.String propertyName, java.lang.String propertyValue
    where X is a number, the LHS part needs to be put in the name column and the RHS part in the value column of the table respectively.
    This note covers frequently asked questions that arise during the installation, configuration or administration of the XI JMS Adapter from the Adapter Framework (AF).
    Other terms
    JMS - Java Message Service
    AF - Adapter Framework
    AE - Adapter Engine
    SP - Service Pack
    Reason and Prerequisites
    This note clarifies the frequently asked questions on the XI/PI JMS adapter for released 3.0, 7.0 and 7.1 in the form of an FAQ. References to external information is provided at the end.
    Solution
    1. Documentation
    1.1) Where do I find the JMS adapter documentation?
    Answer: In the SAP online help. Go to http://help.sap.com and select  SAP Netweaver-> SAP Netweaver 7.1 or SAP NetWeaver 7.0 (2004s) or SAP Netweaver 2004. This opens up SAP Library topic page for that release.
    For releases 3.0 and 7.0:
    Select SAP Netweaver Library -> SAP Netweaver by Key capability-> Process Integration by Key Capability -> SAP Netweaver Exchange Infrastructure -> Runtime -> Connectivity -> Adapters -> JMS Adapter.
    For releases 7.1:
    Select SAP Netweaver Process Integration 7.1 -> SAP Netweaver Process Integration Library -> Function Oriented View > Advanced Adapter Engine.
    In the topic page click on the JMS Adapter link.
    Alternatively, you may simply enter the search string "JMS adapter" and navigate to the documentation page directly from the relevant search results. This is much faster.
    1.2) Which JMS providers are supported?
    Answer: The JMS Adapter supports JMS 1.02b and 1.1. JMS providers that also claim to be compatible with JMS 1.02b or 1.1 can be accessed using the JMS Adapter.
    Furthermore, SAP makes no assertions as to whether a particular JMS provider is tested or can be recommended, because SAP has not set up a certification or testing process.
    2. Functions and architecture
    2.1) Does the JMS Adapter support JMS topics (publish&subscribe)?
    Answer: No. Currently the JMS Adapter works with JMS queues because 100% Exactly Once (In Order) service quality can only be guaranteed with  JMS queues. However, this capability might be planned for introduction at a future release. (no planned time estimate)
    2.2) I have JMS message properties that are of significant. How do I get this data into XI? How do I get this data out of XI?
    Answer:
    A feature generically referred to as XI adapter-specific message properties was introduced in the adapter framework. This allowed additional adapter information to be attached to a XI message which can be used the routing, mapping and BPE. The message properties of different adapters are differentiated by namespaces.
    If you are on XI 3.0 support pack 18 onwards, the JMS adapter allows you to copy JMS message properties into these XI adapter specific message properties (at the sender JMS channel), and to copy the values of XI adapter specific message properties back into JMS message properties (at the receiver JMS channel).
    The JMS adapter currently supports upto 10 JMS message properties to be copied into the XI message properties with the name DCJMSMessageProperty0 to DCJMSMessageProperty9. The configuration details of how to achieve this are explained in the sub-topic pages of the JMS adapter documentation. (See sub topics: "Configuring the Sender JMS adapter", "Configuring the Receiver JMS adapter")
    JMS Message properties can have values belonging to types: boolean, byte, short, int, long, float, double, and String (defined in the specification). These are all normalized to strings when converted to the their respective XI message properties at the sender JMS channel.
    However, in the receiver JMS channel configuration, you can enter specific JMS message property types, such that these normalized XI message properties may be coerced back into their original types (or any compatible JMS message property type) when translating a XI message into a JMS message.
    Transfer of custom JMS Message properties from/to XI adapters-specific message attributes is only supported for JMS compliant messages, i.e. this feature will not work for Websphere MQ in legacy mode.
    Deprecated Information on this feature
    Between support pack 14 to support pack 18, the JMS adapter allowed the allowed you append only up to two JMS string properties to the XI message in the sender channel, which could then be analyzed in XI routing, mapping and BPE. In the JMS receiver channel, the XI adapter-specific message attributes could be read, and up to two JMS string properties could be set. The names of the (now deprecated) XI message properties were DCJMSStringProperty1 and DCJMSStringProperty2.
    Regards
    Ravi Raman

  • JMS Receiver Adapter Catching MQ Exceptions

    Hi Experts,
    We are running into an issue with our JMS receiver adapter failing PI.  We are trying to send transactions via the adapter to a MQ Series' queue but it is failing after no transactions have been sent after a period of 3 hours or more.  The only way we can flush the queue is to change the setting on the adapter to Bypass, restart the adapter and then resend the message.  Once we do this, everything runs fine throughout the day.  It seems to be the amount of time between transactions be processed on the queue.   For instance, last night the last transaction processed successfully was at 7:36pm EST.  Then around 11:40pm EST we tried sending another and this is when we caught an exception from MQ once again.  We have tried everthing that we know of u2013 we thought it might have been a background job running on PI that causes the issue but last night proved that it wasnu2019t the issue since it occurred before midnight.  I feel that the issue is between our JMS connection and your MQ.  Below is the message log of the transaction:
    What course of action should we take next in diagnosing the issue?
    Audit Log for Message: 1c728f10-2044-0441-0a04-604e2cf00000
    Time Stamp     Status     Description
    2009-05-21 22:40:48     Success     Message successfully received by messaging system. Profile: XI URL: http://bus0157:52000/MessagingSystem/receive/AFW/XI Credential (User): PIPISUSER
    2009-05-21 22:40:48     Success     Using connection JMS_http://sap.com/xi/XI/System. Trying to put the message into the receive queue.
    2009-05-21 22:40:48     Success     Message successfully put into the queue.
    2009-05-21 22:40:48     Success     The message was successfully retrieved from the receive queue.
    2009-05-21 22:40:48     Success     The message status set to DLNG.
    2009-05-21 22:40:48     Success     Delivering to channel: JMS_IDOC_SPK_RCV
    2009-05-21 22:40:48     Success     MP: Entering module processor
    2009-05-21 22:40:48     Success     MP: Processing local module localejbs/SAP XI JMS Adapter/ConvertMessageToBinary
    2009-05-21 22:40:48     Success     MP: Processing local module localejbs/SAP XI JMS Adapter/SendBinarytoXIJMSService
    2009-05-21 22:46:48     Error     MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Connector for ConnectionProfile of channel: JMS_IDOC_SPK_RCVon node: 203518650 having object id: 61da4c76acec3b989e9adbc641058f03 encountered error: MQJMS2007: failed to send message to MQ queue in sending to destination queue:///BDR.TO.SPKREDP?targetClient=1, the message message: JMS Message class: jms_text  JMSType:         null  JMSDeliveryMode: 2  JMSExpiration:   0  JMSPriority:     4  JMSMessageID:    null  JMSTimestamp:    1242963648113  JMSCorrelationID:1c728f10-2044-0441-0a04-604e2cf00000  JMSDestination:  queue:///BDR.TO.SPKREDP
    Time Stamp     Status     Description
    2009-05-21 22:46:48     Error     Exception caught by adapter framework: Connector for ConnectionProfile of channel: JMS_IDOC_SPK_RCVon node: 203518650 having object id: 61da4c76acec3b989e9adbc641058f03 encountered error: MQJMS2007: failed to send message to MQ queue in sending to destination queue:///BDR.TO.SPKREDP?targetClient=1, the message message: JMS Message class: jms_text  JMSType:         null  JMSDeliveryMode: 2  JMSExpiration:   0  JMSPriority:     4  JMSMessageID:    null  JMSTimestamp:    1242963648113  JMSCorrelationID:1c728f10-2044-0441-0a04-604e2cf00000  JMSDestination:  queue:///BDR.TO.SPKREDP?targetClient=1  JMSReplyTo:      null  JMSRe
    2009-05-21 22:46:48     Error     Delivery of the message to the application using connection JMS_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: Connector for ConnectionProfile of channel: JMS_IDOC_SPK_RCVon node: 203518650 having object id: 61da4c76acec3b989e9adbc641058f03 encountered error: MQJMS2007: failed to send message to MQ queue in sending to destination queue:///BDR.TO.SPKREDP?targetClient=1, the message message: JMS Message class: jms_text  JMSType:         null  JMSDeliveryMode: 2  JMSExpiration:   0  JMSPriority:     4  JMSMessageID:    null  JMSTimestamp:    1242963648113  JMSCorrelationID:1c728f10-2044-0441-0a04-604e2cf00000  JMSDestination:  queue:///BDR.TO.SPKREDP.

    Ok, would you mind taking a look at my forum question titled "Multiple Message Types into one Websphere Message Queue", it may be an easy one for you since you are already doing this!
    Best regards,
    Aaron
    [Multiple Message Types into one Websphere Message Queue|Multiple Message Types into one Websphere Message Queue]

  • JMS receiver Adapter - Weblogic

    Hi,
    Could you please help us.
    We are sending messages from XI to Weblogic server with the help of JMS Adapter. The Queue is available in Weblogic we are able to ping the Weblogic server from XI Server. The port is right one.
    Our  configuration  of JMS receiver Adapter is
    JNDI Lookup Name of Queue Connection Factory: javax.jms.QueueConnectionFactory
    JNDI Lookup Name of JMS Queue:com.nyc.OmsQueue
    Name of JNDi Initial Context Factory: weblogic.jndi.WLInitialContextFactory
    JNDI Server Address:http://nyc-d01:7001
    JNDI Logon User: (Emty)
    JNDI Password: (Emty)
    There is no User Name and Password
    Could you please help us. this is very urgent.
    The Error message as follows
    Error during channel initialization; exception trace: javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: failed to unmarshal class java.lang.Object; nested exception is:
    java.io.OptionalDataException]
    at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:83) ...
    Regards
    Ramidi

    Hi,
    >>Error during channel initialization; exception trace: java.lang.ClassCastException
    at com.sap.aii.af.service.jms.WorkerJMSSender.init(WorkerJMSSender.java:419)
    at com.sap.aii.af.service.jms.WorkerHandlerImpl.run(WorkerHandlerImpl.java:369)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    The error u posted is from Weblogic server side, not from XI side.
    The problem is that the channel created in weblogic server is not opened. For this you have specific setting while creating channels and queues in weblogic server.
    Contact the concerned weblogic server guys in ur team to help you in this issue.
    I faced the same error while configuring JMS receiver adapter. 
    Ravi.

  • JMS receiver adapter configuration error

    Hi All,
    I am facing an issue with JMS receiver adapter. My Configuration parameters for receiver adapter are as follows.
    1.Transport protocol:WebspherMQ (MQSeries) JMS provied
    2.Message porotocol:JMS 1.x
    3.Adapter Enigen: Integration Server
    4.QueueConnecation Factory Java Class:com.ibm.mq.jms.MQQueueConnectionFactory
    5.Queue Java Class:com.ibm.mq.jms.MQQueue
    6.IP Address or server name:<Host Name>
    7.Server port:1414
    8.Queue Mannager Name:TestQM
    9.channal name:Recv_Channel
    10.JMS queue:SAP_PI
    11.Transport/netwrok protocol:TCP/IP
    12.JMS compliant:WebSpherMQ(non jms)
    13.Delivery mode of message Producer:Persist JMS Messages in the JMS provider
    14.Mapping of message:Message Payload=JMS Payload
    In adapter monitor, the adapter status shows below error.
    <b>Receiver channel. Details: (No detail information set.)</b>
    I have already installed the external drivers for JMS adapter. Can someone help me if I am missing some parameter in the above configuration.
    Thanks in advance
    Regards,
    Ashish

    Hi,
    I am getting the below error in Audit Log.
    Error - Exception caught by adapter framework: The JMSSender returned no JMSTextMessage to use. Must abort send process.
    Error - Delivery of the message to the application using connection AFW failed, due to: The JMSSender returned no JMSTextMessage to use. Must abort send process..
    Can someone please help me in resolving this issue...
    Thanks in advance.
    Regards,
    Ashish

  • JMS receiver adapter is red / error?

    hi experts,
    i have a JMS receiver adapter and the connection to WebSphere MQseries is ok. If i sent message to Receiver JMS adapter i will get following error (red light):
    The XI message: 14a8be90-e8fc-11df-9103-0016353eb4a3 was already sucessfully processed as the JMS message with ID: 14a8be90e8fc11df91030016353eb4a3 at the receiver and hence will be ignored.
    could someone tell me, what this error message want to tell me?
    many thanks
    alex

    Hi Alexander,
    This could be because of parameter set for Handling of Pending XI Messages in Receiver JMS Comm channel. If this is set to Throw Exception then you cannot retry messages immediately.
    You can choose from the following settings:
    ·        Throw Exception (Message Retry Possible Later) (Default)
    ·        Bypass Pending Warning and Send Message to JMS (Duplicates Possible)
    A duplicate data record is created if the JMS commit is executed, but not the commit in the database of the Adapter Framework. If you select this option, you must make sure that this message has not yet been received in the JMS environment.
    ·        Mark Message as Delivered (Message Loss Possible)
    The message is lost if the JMS commit has not yet been executed. If you select this option, you must make sure that this message has already been received in the JMS environment.
    Check the below help page for more information and an example.
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/frameset.htm
    Regards
    Ven

  • JMS receiver adapter Error

    Hi Experts,
    Any idea about this error. We are getting following in JMS receiver adapter in PI 7.1.
    Delivering the message to the application using connection JMS_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Connector for ConnectionProfile of channel: JMS_Receiver_THQPRD2_Slow_Replyon node: 284760550 having object id: cf2f6eb7d6c93902b64b27bfcaad0ba5 encountered error: MQJMS1016: an internal error has occurred. Please contact your system administrator. Detail: java.lang.NullPointerException: while trying to read the field 'ccsid' of an object loaded from field com.ibm.mq.MQSESSIONClient.comms of an object loaded from local variable '<0>' in sending to destination queue:///QR.EAIPRD.THQPRD2.REPLY.SLOW?targetClient=1, the message message: JMS Message class: jms_text  JMSType:         null  JMSDeliveryMode: 2  JMSExpiration:   0  JMSPriority:     4  JMSMessageID:    null  JMSTimestamp:    0  JMSCorrelationID:ID:414d5120504c535748353533202020204e6324ae23eb5b2d  JMSDestination:  null  JMSReplyTo:      null  JMSRedelivered:  false XPLOR     PIPXSDI2030 45219q00282YSDI2030PROCESS_MQSERIES              PLSWH553                     Another 12,761 character(s) omitted: javax.jms.JMSException: MQJMS1016: an internal error has occurred. Please contact your system administrator. Detail: java.lang.NullPointerException: while trying to read the field 'ccsid' of an object loaded from field com.ibm.mq.MQSESSIONClient.comms of an object loaded from local variable '<0>'.
    Thanks,
    Hari

    Hello,
    The error indicates a JMS driver issue.
    Another customer resolved this issue by updating their MQ and the MQ drivers version (in their case to 6.0.2.8.)
    You could try contacting IBM for advice on a similar upgrade.
    #1086303 XI JMS Adapter and IBM Websphere MQ: FAQ
       12)What is the recommended version of MQ drivers for the PI JMS
    Adapter - IBM MQ connectivity ?
    Kind regards,
    Sarah

  • SAP PI - JMS Receiver Adapter

    Hi All:
    Is it possible to override the queue name of the receiver JMS adapter from the Payload?
    I checked Adapter Specific Message Attributes of JMS receiver adapter, but could not find queue name attribute. I need to assign receiver JMS queue name from Payload.
    Any idea? Appreciate your quick reply.
    Thanks
    Farooq

    >
    Farooq Farooqui wrote:
    > As the Dynamic Configuration will not work here...so, any other alternative? Can we override/create adapter parameters values using peace of code (Not ASMA)?
    >
    > I am trying to find out solution..otherwise I have to change my design.
    >
    > Thanks
    > Farooq
    well then it would be as good as u r creating a new adapter
    i suggest a change of design would be the best here.

  • Error in JMS receiver adapter: "Error creating initial context with environment"

    Hello,
    I have some trouble with a JMS receiver adapter (access to JMS-provider with JNDI).
    The message in adapter monitoring is:
    A channel error occurred. Detailed error (if any) :
    com.sap.aii.adapter.jms.api.connector.ConnectorException: Fatal Error looking up connection factoryJMSQueueConnectionFactory, for profile: ConnectionProfile of channel: CC_JMS_RCV_XLIMI00001on node: 503473150 having object id: 5b424f2f79b6350ca636ab35d528cfdd:
    ConnectorException: Error creating initial context with environment: java.naming.provider.url=wcsefdev.example.com:9064; java.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory; for profile: ConnectionProfile of channel:
    CC_JMS_RCV_XLIMI00001on node: 503473150 having object id: 5b424f2f79b6350ca636ab35d528cfdd: javax.naming.NoInitialContextException:
    Cannot instantiate class: com.ibm.websphere.naming.WsnInitialContextFactory<br> at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory
    (JndiConnectorImpl.java:152)<br> ....
    Message processing failed. Cause:
    com.sap.aii.adapter.jms.core.fsm.DFA$InvalidTransitionException: No transition found from state: ERROR, on event: process_commence for DFA: CC_JMS_RCV_XLIMI00001:5b424f2f79b6350ca636ab35d528cfdd
    The third party assured me that the specified JNDI parameters are right and everything is configured on their site, so it should work...
    Might there be a problem with the JMS drivers?
    Regards,
    Marcus

    Hi Marcus,
    Have a look at below thread
    Connecting to PI 7.11 JMS Queue from other PI 7.11 Server

  • JMS Receiver Adapter Conversion.......

    Hi All,
    I am using JMS Receever Adapter for sending data to Mainframe MQ. The message converted to Fixed length format.
    At the end of every record I am getting "."
    Output of JMS Receiver Adapter
    abcde  ghijk  lmn      .
    hhffh    jhjghj jgjjggj   .
    dfhf      hjhjf   jhjj       .
    In the Mainframe MQ, I am getting error for dots(".")
    Plz any one help me ,how to remove dots at end of every record.
    regards,
    Pachika

    Hi, it is not part of mapping.
    It is coming automatically due to JMS Receiver Adapter confguration.
    src xml file:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:mt_test xmlns:ns0="http://sap.com/xi/POC">
       <row>
          <Name>abcdef</Name>
          <id>147962</id>
          <org>sffjffjhjfjh</org>
       </row>
       <row>
    I used JMS Receiver Adapter...with all parameters for fixed length file. Adapter placing the file directly in Websphere MQ.
    Output I need:
    abcdef   147962   sffjffjhjfjh  .
    I need to remove the "."
    regards,
    pachika

  • JMS Receiver Adapter Question

    We are using a JMS receiver Adapter Channel to send data from XI to MQ Series.  In our environment, we have 2 Java Server instances configured.  The system is successfully sending files that hit the first Java instance, but the messages drop off and don't even make it to MQ Series when they hit the second Java instance.  Has anyone ever seen this problem with JMS receiver Adapter channels?
    Chris

    Hi Chris
    I think you are talking about High availability.
    In that case please check whether two instances installed same support pack or not.
    Thanks
    Sai

  • JMS Receiver Adapter - com.ibm.websphere.naming.WsnInitialContextFactory

    Hello experts,
    I am trying to configure JMS Adapter to Access Websphere Application Server via JNDI. The configuration is as follow:
    Initial Context Factory: com.ibm.websphere.naming.WsnInitialContextFactory
    Connection Factory: jms/messageQueueCF
    Server URL: iiop://ammtnode.iubs.intra:2809/
    Queue Name: jms/EXT_INPUT_QUEUE
    I deployed all required jar files but Iu2019m still unable to connect to WAS because adapter cannot initialize ORB:
    javax.naming.NamingException: Failed to initialize the ORB
    I wrote a small java class to check where the problem was:
    ============================================================================
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");
    env.put(Context.PROVIDER_URL, "iiop://ammtnode.iubs.intra:2809/");
    env.put("java.naming.corba.orb",org.omg.CORBA.ORB.init((String[])null,null));
    Context jndiContext = null;
    try {
    jndiContext = new InitialContext(env);
    ConnectionFactory connectionFactory = (ConnectionFactory) jndiContext.lookup("jms/messageQueueCF");
    Connection qConn = connectionFactory.createConnection();
    Session qSession = qConn.createSession(false,Session.AUTO_ACKNOWLEDGE);
    Queue q = (Queue) jndiContext.lookup("jms/EXT_INPUT_QUEUE");
    MessageProducer producer = qSession.createProducer(q);
    TextMessage message = qSession.createTextMessage();
    message.setText(text);
    producer.send(message);
    producer.close();
    qSession.close();
    qConn.close();
    } catch (Exception e) {
         e.printStackTrace();
    ============================================================================
    I got the same error until I wrote this line:
    env.put("java.naming.corba.orb",org.omg.CORBA.ORB.init((String[])null,null));
    And everything worked fine. Now I want to do the same in my JMS Receiver adapter but I donu2019t know how to introduce this line in the Initial Context Environment. I tried as JMS additional parameters and additional properties as well. However, nothing worked. Does anybody know what Iu2019m doing wrong?
    Thank you in advance!

    Here I post the entire error:
    0#0#Warning##Java###Catching #1#com.sap.aii.adapter.jms.api.connector.ConnectorException: Error looking up connection fact
    oryjms/messageQueueCF, for profile: ConnectionProfile of channel: CC_I002_AMM_JmsReceiveron node: 5949650 having object id: 0
    360697bc61b3666aba07a2708ca095a: javax.naming.NamingException: Failed to initialize the ORB
            at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory(JndiConnectorImpl.java:134)
            at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.doConnect(ConnectorImpl.java:247)
            at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.doConnect(JndiConnectorImpl.java:185)
            at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.connectIfDisconnected(ConnectorImpl.java:170)
            at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.connect(ConnectorImpl.java:153)
            at com.sap.aii.adapter.jms.core.channel.ChannelImpl.doStart(ChannelImpl.java:279)
            at com.sap.aii.adapter.jms.core.channel.ChannelImpl.start(ChannelImpl.java:166)
            at com.sap.aii.adapter.jms.core.channel.AdapterImpl$1.run(AdapterImpl.java:411)
            at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
            at java.security.AccessController.doPrivileged(Native Method)
            at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:152)
            at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)
    Caused by: javax.naming.NamingException: Failed to initialize the ORB [Root exception is java.lang.ClassCastException: class
    com.sap.engine.system.ORBProxy:sun.misc.Launcher$AppClassLoaderAT5d0385c1 incompatible with class com.ibm.CORBA.iiop.ORB:libra
    ry:com.sap.aii.adapter.libATcom.sap.engine.boot.loader.ResourceMultiParentClassLoaderAT131b92e6ATalive]
            at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:364)
            at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:421)
            at com.ibm.ws.naming.util.WsnInitCtx.getContext(WsnInitCtx.java:123)
            at com.ibm.ws.naming.util.WsnInitCtx.getContextIfNull(WsnInitCtx.java:798)
            at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:164)
            at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:179)
            at javax.naming.InitialContext.lookup(InitialContext.java:351)
            at javax.naming.InitialContext.lookup(InitialContext.java:351)
            at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory(JndiConnectorImpl.java:130)
            ... 11 more
    Caused by: java.lang.ClassCastException: class com.sap.engine.system.ORBProxy:sun.misc.Launcher$AppClassLoaderAT5d0385c1 incom
    patible with class com.ibm.CORBA.iiop.ORB:library:com.sap.aii.adapter.libATcom.sap.engine.boot.loader.ResourceMultiParentClass
    LoaderAT131b92e6ATalive
            at com.ibm.ws.orb.GlobalORBFactory.init(GlobalORBFactory.java:92)
            at com.ibm.ejs.oa.EJSORBImpl.initializeORB(EJSORBImpl.java:179)
            at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:83)
            at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:59)
            at com.ibm.ejs.oa.EJSORB.init(EJSORB.java:102)
            at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:356)
            ... 19 more
    Caused by:
    javax.naming.NamingException: Failed to initialize the ORB [Root exception is java.lang.ClassCastException: class com.sap.eng
    ine.system.ORBProxy:sun.misc.Launcher$AppClassLoaderAT5d0385c1 incompatible with class com.ibm.CORBA.iiop.ORB:library:com.sap.
    aii.adapter.libATcom.sap.engine.boot.loader.ResourceMultiParentClassLoaderAT131b92e6ATalive]
            at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:364)
            at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:421)
            at com.ibm.ws.naming.util.WsnInitCtx.getContext(WsnInitCtx.java:123)
            at com.ibm.ws.naming.util.WsnInitCtx.getContextIfNull(WsnInitCtx.java:798)
            at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:164)
            at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:179)
            at javax.naming.InitialContext.lookup(InitialContext.java:351)
            at javax.naming.InitialContext.lookup(InitialContext.java:351)
            at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory(JndiConnectorImpl.java:130)
            ... 11 more
    Caused by: java.lang.ClassCastException: class com.sap.engine.system.ORBProxy:sun.misc.Launcher$AppClassLoaderAT5d0385c1 incom
    patible with class com.ibm.CORBA.iiop.ORB:library:com.sap.aii.adapter.libATcom.sap.engine.boot.loader.ResourceMultiParentClass
    LoaderAT131b92e6ATalive
            at com.ibm.ws.orb.GlobalORBFactory.init(GlobalORBFactory.java:92)
            at com.ibm.ejs.oa.EJSORBImpl.initializeORB(EJSORBImpl.java:179)
            at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:83)
            at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:59)
            at com.ibm.ejs.oa.EJSORB.init(EJSORB.java:102)
            at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:356)
            ... 19 more
    Caused by:
    javax.naming.NamingException: Failed to initialize the ORB [Root exception is java.lang.ClassCastException: class com.sap.eng
    ine.system.ORBProxy:sun.misc.Launcher$AppClassLoaderAT5d0385c1 incompatible with class com.ibm.CORBA.iiop.ORB:library:com.sap.
    aii.adapter.libATcom.sap.engine.boot.loader.ResourceMultiParentClassLoaderAT131b92e6ATalive]
            at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:364)
            at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:421)
            at com.ibm.ws.naming.util.WsnInitCtx.getContext(WsnInitCtx.java:123)
            at com.ibm.ws.naming.util.WsnInitCtx.getContextIfNull(WsnInitCtx.java:798)
            at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:164)
            at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:179)
            at javax.naming.InitialContext.lookup(InitialContext.java:351)
            at javax.naming.InitialContext.lookup(InitialContext.java:351)
            at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory(JndiConnectorImpl.java:130)
            at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.doConnect(ConnectorImpl.java:247)
            at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.doConnect(JndiConnectorImpl.java:185)
            at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.connectIfDisconnected(ConnectorImpl.java:170)
            at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.connect(ConnectorImpl.java:153)
            at com.sap.aii.adapter.jms.core.channel.ChannelImpl.doStart(ChannelImpl.java:279)
            at com.sap.aii.adapter.jms.core.channel.ChannelImpl.start(ChannelImpl.java:166)
            at com.sap.aii.adapter.jms.core.channel.AdapterImpl$1.run(AdapterImpl.java:411)
            at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
            at java.security.AccessController.doPrivileged(Native Method)
            at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:152)
            at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)
    Caused by: java.lang.ClassCastException: class com.sap.engine.system.ORBProxy:sun.misc.Launcher$AppClassLoaderAT5d0385c1 incom
    patible with class com.ibm.CORBA.iiop.ORB:library:com.sap.aii.adapter.libATcom.sap.engine.boot.loader.ResourceMultiParentClass
    LoaderAT131b92e6ATalive
            at com.ibm.ws.orb.GlobalORBFactory.init(GlobalORBFactory.java:92)
            at com.ibm.ejs.oa.EJSORBImpl.initializeORB(EJSORBImpl.java:179)
            at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:83)
            at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:59)
            at com.ibm.ejs.oa.EJSORB.init(EJSORB.java:102)
            at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:356)
            ... 19 more

Maybe you are looking for