|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Implementing a Node |
« View previous topic :: View next topic » |
Author |
Message
|
msilva18 |
Posted: Tue Sep 14, 2004 8:14 am Post subject: Implementing a Node |
|
|
Apprentice
Joined: 25 Aug 2004 Posts: 31
|
Hi All:
Im trying to implement a Java Node, I can create my node and it appears in the MB Toolkit, I can paste my node in a Message Flow, it has many properties, but when i want to deploy the Message Flow, it fail. In the event log shows me the error:
BIP2210E: Invalid configuration message: attribute name 'PropertyName' not valid for target object 'FlowName'
Someone knows about this error?
Thanks a lot.
Manuel. |
|
Back to top |
|
 |
kirani |
Posted: Tue Sep 14, 2004 3:48 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Please post your questions in correct forum.
[Moved to WMQI Forum] _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
kirani |
Posted: Tue Sep 14, 2004 3:50 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Check whether you have correct property names in Get/Set methods. Also could you explain in detail the steps you performed to create this node? _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
msilva18 |
Posted: Wed Sep 15, 2004 8:00 am Post subject: |
|
|
Apprentice
Joined: 25 Aug 2004 Posts: 31
|
Hi Kiran
First, an excuse by the forum of post. Im creating a Message Flow Plug-in Node Project with two Message Flow Plug-in Node. Each one with many properties, which two properties are integer type and the other string type. I created a Java Project with two classes for the nodes. I had compile the java classes with javac sentences in command window, because i couldnt compile in Toolkit. Then I make two jars, one per class with the nodes name. After that, I created the .zip of project nodes. And thats all, I put the jar files in the jplugin folder, and unzip the files in plugins folder from .zip
The properties in the nodes are with first letter in lower case, and for all properties from string type I created get and set methods, the names of methods are get or set with the name of the property with first letter with upper case.
That's all what I do, I dont know if i need to do something more, I appreciate your help.
Thanks a lot.
Manuel. _________________ Ing. Manuel Silva Zaldivar |
|
Back to top |
|
 |
kirani |
Posted: Wed Sep 15, 2004 2:47 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Can you post your code here?
Also, try to search for posts related to plug-in node in this forum. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
msilva18 |
Posted: Fri Sep 17, 2004 7:59 am Post subject: |
|
|
Apprentice
Joined: 25 Aug 2004 Posts: 31
|
Hi Kiran:
This is the code from my node:
package com.ftp;
import com.ibm.broker.plugin.*;
import com.ibm.network.ftp.*;
public class FTPSendNode extends MbNode implements MbNodeInterface
{
private String attHost;
private int attPort;
private String attUserName;
private String attPassword;
private String attRemoteFileName;
private String attRemotePathFile;
private String attLocalFileName;
private String attLocalPathFile;
private String attFTPType;
private String attTransferType;
private int attRetryNumber;
private int attTimeOut;
private String attProxyHost;
private int attProxyPort;
private MbInputTerminal InTerminal;
private MbOutputTerminal CatchTerminal;
private MbOutputTerminal FailureTerminal;
public FTPSendNode() throws MbException
{
attHost = null;
attPort = -1;
attUserName = null;
attPassword = null;
attRemoteFileName = null;
attRemotePathFile = null;
attLocalFileName = null;
attLocalPathFile = null;
attFTPType = null;
attTransferType = null;
attRetryNumber = -1;
attTimeOut = -1;
attProxyHost = null;
attProxyPort = -1;
InTerminal = createInputTerminal("In");
FailureTerminal = createOutputTerminal("Failure");
CatchTerminal = createOutputTerminal("Catch");
}
public void evaluate(MbMessageAssembly arg0, MbInputTerminal arg1) throws MbException
{
System.out.println("Paso por nodo FTP Send");
}
public static String getNodeName ()
{
return "FTPSendNode";
}
public String getHost()
{
return attHost;
}
public void setHost(String Host)
{
attHost = Host;
}
public String getPort()
{
return Integer.toString(attPort);
}
public void setPort(String Port)
{
try
{
if(Port == null)
return;
attPort = Integer.parseInt(Port);
}
catch(NumberFormatException numberformatexception) { }
catch(Exception exception) { }
}
public String getUserName()
{
return attUserName;
}
public void setUserName(String UserName)
{
attUserName = UserName;
}
public String getPassword()
{
return attPassword;
}
public void setPassword(String Password)
{
attPassword = Password;
}
public String getRemoteFileName()
{
return attRemoteFileName;
}
public void setRemoteFileName(String RemoteFileName)
{
attRemoteFileName = RemoteFileName;
}
public String getRemotePathFile()
{
return attRemotePathFile;
}
public void setRemotePathFile(String RemotePathFile)
{
attRemotePathFile = RemotePathFile;
}
public String getLocalFileName()
{
return attLocalFileName;
}
public void setLocalFileName(String LocalFileName)
{
attLocalFileName = LocalFileName;
}
public String getLocalPathFile()
{
return attLocalPathFile;
}
public void setLocalPathFile(String LocalPathFile)
{
attLocalPathFile = LocalPathFile;
}
public String getFTPType()
{
return attFTPType;
}
public void setFTPType(String FTPType)
{
attFTPType = FTPType;
}
public String getTransferType()
{
return attTransferType;
}
public void setTransferType(String TransferType)
{
attTransferType = TransferType;
}
public String getRetryNumber()
{
return Integer.toString(attRetryNumber);
}
public void setRetryNumber(String RetryNumber)
{
try
{
if(RetryNumber == null)
return;
attRetryNumber = Integer.parseInt(RetryNumber);
}
catch(NumberFormatException numberformatexception) { }
catch(Exception exception) { }
}
public String getTimeOut()
{
return Integer.toString(attTimeOut);
}
public void setTimeOut(String TimeOut)
{
try
{
if(TimeOut == null)
return;
attTimeOut = Integer.parseInt(TimeOut);
}
catch(NumberFormatException numberformatexception) { }
catch(Exception exception) { }
}
public String getProxyHost()
{
return attProxyHost;
}
public void setProxyHost(String ProxyHost)
{
attProxyHost = ProxyHost;
}
public String getProxyPort()
{
return Integer.toString(attProxyPort);
}
public void setProxyPort(String ProxyPort)
{
try
{
if(ProxyPort == null)
return;
attProxyPort = Integer.parseInt(ProxyPort);
}
catch(NumberFormatException numberformatexception) { }
catch(Exception exception) { }
}
}
And this are the messages that I get when the deploy finish:
BIP2210E: Invalid configuration message: attribute name 'ftpType' not valid for target object 'FlujoUno.'.
The message broker received a configuration message containing the attribute name 'ftpType' which is not valid for the target object 'FlujoUno.'. This can be caused by a mismatch in levels between the Message Brokers Toolkit, the Configuration Manager and the Broker, or as a result of a user or third party written plug-in node where the implementation library installed at the broker does not match the node definition held at the Configuration manager and Message Brokers Toolkit.
Ensure that the levels of code installed at the Message Brokers Toolkit, Configuration Manager and Broker are all consistent. If they are, identify the supplier of the target object and report the problem to them. If this is IBM, contact your IBM support center.
BIP4041E: Execution group 'ManuelPruebas' received an invalid configuration message. See the following messages for details of the error.
The message broker received an invalid configuration message and has not updated its configuration. This can arise as a result of errors in the specification of either message flows or message sets which the configuration manager was unable to detect. It can also result from a message flow requiring a type of node that is not supported by the broker installation, from the broker having become out of step with the configuration database or from other applications sending extraneous messages to the broker's configuration queues (SYSTEM.BROKER.ADMIN.QUEUE & SYSTEM.BROKER.EXECUTIONGROUP.QUEUE).
Check the relevant message flow and message set definitions, check that all necessary plug-ins are installed, perform a complete redeploy of the broker's configuration and ensure that no applications are writing to the broker's configuration queues.
BIP2087E: Broker INTEGRA_T was unable to process the internal configuration message.
The entire internal configuration message failed to be processed successfully.
The internal configuration message failed to be processed, use the messages following this message to determine the reasons for the failure.
My Node has an In, Failure and Catch Terminals. Also it has the properties:
Remote Host (Group)
host
port
User Configuration (Group)
userName
password
Local Source File (Group)
localFileName
localPathFile
Remote Destination File (Group)
remoteFileName
remote PathFile
Connection (Group)
proxyHost
proxyPort
Other (Group)
ftpType
transferType
retryNumber
timeOut
All properties are string type. The properties port, proxyPort, retryNumber and timeOut are parse and convert to integer from the code.
Though I need two jar in my node (jplugin.jar and FTPProtocol.jar), I put them in the Classpath variable in the server and my PC.
I hope that serve you to determine the possible solution.
I'm grateful for you.
Regards.
Manuel. _________________ Ing. Manuel Silva Zaldivar |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Sep 17, 2004 8:05 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
try changing your property "ftpType" to "FTPType". _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
msilva18 |
Posted: Fri Sep 17, 2004 8:14 am Post subject: |
|
|
Apprentice
Joined: 25 Aug 2004 Posts: 31
|
I already had that name, in fact I had all the property names with first letter upper case, but I read some about the property names must named it with lower case in the first letter, and then I changed it to lower case. _________________ Ing. Manuel Silva Zaldivar |
|
Back to top |
|
 |
msilva18 |
Posted: Fri Sep 17, 2004 9:35 am Post subject: |
|
|
Apprentice
Joined: 25 Aug 2004 Posts: 31
|
Hi Kiran:
I've been thinking about the problem, and I think the possible cause is the compilation. I cant do the compile by toolkit, when i try to create the plug-in jars in plugin.xml I get the message error:
Compile failed, messages should have been provided
I dont know why, then I intend to make the compile with javac sentence and it works, but when I addition the properties failed again. The source code that I showed you is the code of one of two nodes in the same project.
I did a test, and when i have a project with only one node it works but when i have two nodes in the same project fail. I dont know if I need to make one or two jars, I knew that I need to make a jar with the class of the node, and the jar name must be the node name. I'm making two jars each one with the class of the node, but I dont know if i need to make only one jar. Do you know something about that?
Thanks.
Regards.
Manuel. _________________ Ing. Manuel Silva Zaldivar |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|