z*OBSOLETE: Microsoft Windows 2000
Product Release: V7 (Enterprise)
Version: 126.96.36.199 
Database: Oracle 188.8.131.52
Application Server OS: Microsoft Windows 2000 Server SP 3
Database Server OS: Sun Solaris 8
This document was previously published as Siebel SR 38-3242690061.
***Checked for relevance on 28-FEB-20111***
SymptomsThe EAI JMS Transport business service is being used to attach to a Topic on a JMS Server. JAVA parameters are set in the config file, and dedicated client is used for testing. CheckAll method is used to test the connection to the JMS server. At the end of test 3 - Checking JNDI context - following is reported :-
ERROR: JNDI found an object named but it is neither a interface javax.jms.ConnectionFactory nor a javax.naming.Reference
When using Subscribe method, following is reported :-
Missing parameter to EAI JMS Transport: 'ConnectionFactory'.(SBL-EAI-05104)
CauseThe reported exception would indicate that no connection factory is found in JNDI server or no connection factory name is provided when calling the business service method. However, they specified a valid connection factory name as input argument value explicitly.
The reported behavior was caused by the input argument â€˜ConnectionSubSystemâ€™ the customer provided when calling the CheckAll method of EAI JMS Transport business service. It is because the ConnectionSubSystem is used with the following purpose:
Name of the "named subsytem" instance to use for retrieving the names of the ConnectionFactory, queue(s)/topic, subscriberID, and timeout. Must be an instance of JMSSubsys. (an alternative to providing the arguments individually.)
However, they did not have a named subsystem of type JMSSubsys in their dedicated client application configuration file so that empty ConnectionFactory name was retrieved and empty connection factory name was provided when calling CheckAll method. As a result, no connection factory was found in the JNDI server. Please note the [JAVA] section in a configuration file acts a named subsystem of type JVMSubsys but not type JMSSubsys.
In fact, the output of CheckAll method showed clearly that the ConnectionFactory input argument was set to empty like below :-
SolutionThe customer was suggested to remove the input argument â€œConnectionSubSystemâ€, because they were providing all other input argument explicitly and the input argument was not necessary in that case. After removing the input argument, the reported behaviors could be resolved.
Siebel > Customer Relationship Management > CRM - Enterprise Edition > Siebel System Software
JMS; EAI JMS TRANSPORT; JMS TRANSPORT; JNDI; MISSING PARAMETERS