I have followed the instructions, and i can get a successful execution using the HelloWorld3 code, but when I try to use my own code I get this error (snippet):
Client: [14-Aug-2006 14:12:46 [32;40mINFO [0m main JdbcConnectionPool-jdbc:hsqldb:/home/sy99/tmp/clientsy991155561165920] Successfully reconnected to database [14-Aug-2006 14:12:46 [32;40mINFO [0m main JdbcConnectionPool-jdbc:hsqldb:/home/sy99/tmp/clientsy991155561165920] Connections to DB 'jdbc:hsqldb:/home/sy99/tmp/clientsy991155561165920' successfully established. [14-Aug-2006 14:12:46 [32;40mINFO [0m main ClientEntryFactory] successfully initialized [14-Aug-2006 14:12:46 [32;40mINFO [0m main JdbcManagerCommonTable] The maximum SQL statement length is not defined in JDBC meta data, we set it to 2048 [14-Aug-2006 14:12:47 [32;40mINFO [0m main JdbcManagerCommonTable-XB_-tablesCheckAndSetup()] adding table 'XB_ENTRIES' as the 'entries' table [14-Aug-2006 14:12:47 [33;40mWARN [0m main SocketUrl] SSL client socket is enabled but no keyStorePassword is specified, see http://www.xmlblaster.org/xmlBlaster/doc/requirements/protocol.socket.html#SSL [14-Aug-2006 14:12:47 [32;40mINFO [0m main SocketUrl] SSL client socket enabled, trustStore=/home/sy99/diadem/xmlBlasterClient.truststore [14-Aug-2006 14:12:47 [33;40mWARN [0m main SocketUrl] SSL client socket is enabled but i can't read keyStore=, see http://www.xmlblaster.org/xmlBlaster/doc/requirements/protocol.socket.html#SSL [14-Aug-2006 14:12:47 [32;40mINFO [0m main SocketConnection] socket_ssl SSL client connected to 'socket://192.168.1.10:7609', callback address is 'socket://192.168.1.10:33581' useUdpForOneway=false [14-Aug-2006 14:12:47 [32;40mINFO [0m main DispatchConnection-connection:client/sy991155561166158] Connection 'socket_ssl' transition UNDEF -> ALIVE: Success, connection:client/sy991155561166158 connected. [14-Aug-2006 14:12:47 [32;40mINFO [0m main DispatchManager-connection:client/sy991155561166158] Switched to synchronous message delivery [14-Aug-2006 14:12:48 [32;40mINFO [0m main SocketExecutor] Full stream compression enabled with 'zlib:stream' [14-Aug-2006 14:12:48 [32;40mINFO [0m main XmlBlasterAccess-client/sy99] Callback settings: type=CACHE onOverflow=deadMessage onFailure=deadMessage maxEntries=1000 type=socket_ssl oneway=false dispatcherActive=true burstMode.collectTime=0 [14-Aug-2006 14:12:48 [32;40mINFO [0m XmlBlaster.socket_ssl SocketCallbackImpl-sy99] Started callback receiver plugin on 'socket://192.168.1.10:33581' [14-Aug-2006 14:12:48 [33;40mWARN [0m XmlBlaster.socket_ssl SocketCallbackImpl-sy99] Closing connection to server, please try debugging SSL with 'java -Djavax.net.debug=all ...': javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty [14-Aug-2006 14:12:48 [33;40mWARN [0m main SocketCallbackImpl-sy99] There are 1 messages pending without a response, request IDs are sy99:1 [14-Aug-2006 14:12:48 [33;40mWARN [0m main DispatchConnection-connection:client/sy991155561166158] Connection transition ALIVE -> POLLING: socket://192.168.1.10:7609 is unaccessible, we poll for it every 5000 msec: errorCode=communication.noConnection message=#exported login failed : java.net.SocketException: Socket is closed [14-Aug-2006 14:12:48 [32;40mINFO [0m main DispatchManager-connection:client/sy991155561166158] Switched to asynchronous message delivery errorCode=user.configuration message=#exported Can't find an xmlBlaster server. Try to provide the server host/port as described in http://www.xmlblaster.org/xmlBlaster/doc/requirements/client.configuration.html or provide a public session ID to support polling for xmlBlaster without an initial connection. See 'http://www.xmlBlaster.org/xmlBlaster/doc/requirements/client.failsafe.html' for more details. at org.xmlBlaster.client.dispatch.ClientDispatchConnectionsHandler.createFakedReturnObjects(ClientDispatchConnectionsHandler.java:138) at org.xmlBlaster.util.dispatch.DispatchManager.handleSyncWorkerException(DispatchManager.java:382) at org.xmlBlaster.util.dispatch.DispatchWorker.run(DispatchWorker.java:83) at org.xmlBlaster.util.dispatch.DispatchManager.putPre(DispatchManager.java:530) at org.xmlBlaster.util.queue.cache.CacheQueueInterceptorPlugin.put(CacheQueueInterceptorPlugin.java:457) at org.xmlBlaster.util.queue.cache.CacheQueueInterceptorPlugin.put(CacheQueueInterceptorPlugin.java:437) at org.xmlBlaster.client.XmlBlasterAccess.queueMessage(XmlBlasterAccess.java:731) at org.xmlBlaster.client.XmlBlasterAccess.connect(XmlBlasterAccess.java:298) ... [14-Aug-2006 14:12:48 [33;40mWARN [0m XmlBlaster.PingTimer SocketUrl] SSL client socket is enabled but no keyStorePassword is specified, see http://www.xmlblaster.org/xmlBlaster/doc/requirements/protocol.socket.html#SSL [14-Aug-2006 14:12:48 [33;40mWARN [0m XmlBlaster.PingTimer SocketUrl] SSL client socket is enabled but i can't read keyStore=, see http://www.xmlblaster.org/xmlBlaster/doc/requirements/protocol.socket.html#SSL [14-Aug-2006 14:12:48 [32;40mINFO [0m XmlBlaster.PingTimer SocketConnection] socket_ssl SSL client connected to 'socket://192.168.1.10:7609', your configured local parameters are localHostname=192.168.1.10 on localPort=33581 useUdpForOneway=false [14-Aug-2006 14:12:48 [32;40mINFO [0m XmlBlaster.PingTimer SocketExecutor] Full stream compression enabled with 'zlib:stream' [14-Aug-2006 14:12:48 [32;40mINFO [0m XmlBlaster.socket_ssl SocketCallbackImpl-dummyLoginName] Started callback receiver plugin on 'socket://192.168.1.10:33581' [14-Aug-2006 14:12:48 [33;40mWARN [0m XmlBlaster.socket_ssl SocketCallbackImpl-dummyLoginName] Closing connection to server, please try debugging SSL with 'java -Djavax.net.debug=all ...': javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty [14-Aug-2006 14:12:48 [33;40mWARN [0m XmlBlaster.socket_ssl SocketCallbackImpl-dummyLoginName] There are 1 messages pending without a response, request IDs are dummyLoginName:2 Server: [14-Aug-2006 14:12:48 WARN XmlBlaster.socket_ssl.SSL socket_ssl-HandleClient] Error parsing TCP data from '/192.168.1.10:33581', check if client and server have identical compression or SSL settings: javax.net.ssl.SSLException: Received fatal alert: internal_error [14-Aug-2006 14:12:48 WARN XmlBlaster.socket_ssl.SSL socket_ssl-HandleClient] Error parsing TCP data from '/192.168.1.10:33581', check if client and server have identical compression or SSL settings: javax.net.ssl.SSLException: Received fatal alert: internal_error Quoting Marcel Ruff <[EMAIL PROTECTED]>: > Hi Sherif, > > did you setup the SSL context as described in > > http://www.xmlblaster.org/xmlBlaster/doc/requirements/protocol.socket.html#SSL1 > and later > http://www.xmlblaster.org/xmlBlaster/doc/requirements/protocol.socket.html#SSL > > This works here out of the box (for the first try make sure to have a > untouched xmlBlaster.properties and > xmlBlasterPlugins.xml around), > > regards > Marcel > > [EMAIL PROTECTED] wrote: > > Hi, > > > > I have been using xmlBlaster for a short while now, but only recently > needed to > > add security to our application, and hence the use of ssl! I am having > problems > > with connecting a client to an ssl server running on port 7609. > > > > I believe the problem is I am trying to connect to the server using plain > text, > > but I am not sure how to overcome this. > > > > I have included my errors and a code snippet of how I connect to the > server > > below as well. > > > > Hope somebody can help. > > > > Thanks > > > > Regards > > > > Sherif > > > > Here are the details: > > > > The error I get on the server side: > > > > [14-Aug-2006 09:45:06 INFO XmlBlaster.SocketDriver > > > org.xmlBlaster.util.protocol.RequestReplyExecutor:socket://192.168.1.10:7609] > > Full stream compression enabled with 'zlib:stream' > > [14-Aug-2006 09:45:06 WARN XmlBlaster.socket_ssl.SSL > socket_ssl-HandleClient] > > Error parsing TCP data from '/192.168.1.10:33187', check if client and > server > > have identical compression or SSL settings: javax.net.ssl.SSLException: > > Unrecognized SSL message, plaintext connection? > > [14-Aug-2006 09:45:06 INFO XmlBlaster.SocketDriver > > > org.xmlBlaster.util.protocol.RequestReplyExecutor:socket://192.168.1.10:7609] > > Full stream compression enabled with 'zlib:stream' > > [14-Aug-2006 09:45:06 WARN XmlBlaster.socket_ssl.SSL > socket_ssl-HandleClient] > > Error parsing TCP data from '/192.168.1.10:33187', check if client and > server > > have identical compression or SSL settings: javax.net.ssl.SSLException: > > Unrecognized SSL message, plaintext connection? > > > > > > The error I get on the client side: > > > > Shell: trying port 13570 > > Shell: trying port 13571 > > Property: Loading xmlBlaster.properties from CLASSPATH > > > file:/home/sy99/diadem/src/firewall/lib/xmlBlaster.jar!/xmlBlaster.properties > > Property: No args array given. > > Property: Added 3 property pairs > > [14-Aug-2006 09:45:04 [32;40mINFO [0m main XmlBlasterAccess] Loaded > security > > plugin=htpasswd version=1.0 > > [14-Aug-2006 09:45:04 [32;40mINFO [0m main JmxWrapper] JMX over RMI is > > switched off, for details see > > > http://www.xmlBlaster.org/xmlBlaster/doc/requirements/admin.jmx.html#jconsole > > [14-Aug-2006 09:45:05 [32;40mINFO [0m main > > JdbcConnectionPool-jdbc:hsqldb:/home/sy99/tmp/clientsy991155545104800] > > Successfully reconnected to database > > [14-Aug-2006 09:45:05 [32;40mINFO [0m main > > JdbcConnectionPool-jdbc:hsqldb:/home/sy99/tmp/clientsy991155545104800] > > Connections to DB 'jdbc:hsqldb:/home/sy99/tmp/clientsy991155545104800' > > successfully established. > > [14-Aug-2006 09:45:05 [32;40mINFO [0m main ClientEntryFactory] > successfully > > initialized > > [14-Aug-2006 09:45:05 [32;40mINFO [0m main JdbcManagerCommonTable] The > maximum > > SQL statement length is not defined in JDBC meta data, we set it to 2048 > > [14-Aug-2006 09:45:05 [32;40mINFO [0m main > > JdbcManagerCommonTable-XB_-tablesCheckAndSetup()] adding table 'XB_ENTRIES' > as > > the 'entries' table > > [14-Aug-2006 09:45:06 [32;40mINFO [0m main SocketConnection] SOCKET > client > > connected to 'socket://192.168.1.10:7609', callback address is > > 'socket://192.168.1.10:33187' useUdpForOneway=false > > [14-Aug-2006 09:45:06 [32;40mINFO [0m main > > DispatchConnection-connection:client/sy991155545105057] Connection > 'SOCKET' > > transition UNDEF -> ALIVE: Success, connection:client/sy991155545105057 > connected. > > [14-Aug-2006 09:45:06 [32;40mINFO [0m main > > DispatchManager-connection:client/sy991155545105057] Switched to > synchronous > > message delivery > > [14-Aug-2006 09:45:06 [32;40mINFO [0m main XmlBlasterAccess-client/sy99] > > Callback settings: type=CACHE onOverflow=deadMessage onFailure=deadMessage > > maxEntries=1000 type=SOCKET oneway=false dispatcherActive=true > > burstMode.collectTime=0 > > [14-Aug-2006 09:45:06 [32;40mINFO [0m XmlBlaster.SOCKET > > SocketCallbackImpl-sy99] Started callback receiver plugin on > > 'socket://192.168.1.10:33187' > > [14-Aug-2006 09:45:06 [33;40mWARN [0m XmlBlaster.SOCKET > > SocketCallbackImpl-sy99] Closing connection to server: > java.net.SocketException: > > Connection reset > > [14-Aug-2006 09:45:06 [33;40mWARN [0m XmlBlaster.SOCKET > > SocketCallbackImpl-sy99] There are 1 messages pending without a response, > > request IDs are sy99:1 > > [14-Aug-2006 09:45:06 [33;40mWARN [0m main > > DispatchConnection-connection:client/sy991155545105057] Connection > transition > > ALIVE -> POLLING: socket://192.168.1.10:7609 is unaccessible, we poll for > it > > every 5000 msec: errorCode=communication.noConnection message=#exported > login > > failed : java.io.IOException: SocketExecutor: Lost socket connection for > > connect(requestId=sy99:1) > > [14-Aug-2006 09:45:06 [32;40mINFO [0m main > > DispatchManager-connection:client/sy991155545105057] Switched to > asynchronous > > message delivery > > errorCode=user.configuration message=#exported Can't find an xmlBlaster > server. > > Try to provide the server host/port as described in > > > http://www.xmlblaster.org/xmlBlaster/doc/requirements/client.configuration.html > > or provide a public session ID to support polling for xmlBlaster without > an > > initial connection. See > > > 'http://www.xmlBlaster.org/xmlBlaster/doc/requirements/client.failsafe.html' > for > > more details. > > at > > > org.xmlBlaster.client.dispatch.ClientDispatchConnectionsHandler.createFakedReturnObjects(ClientDispatchConnectionsHandler.java:138) > > at > > > org.xmlBlaster.util.dispatch.DispatchManager.handleSyncWorkerException(DispatchManager.java:382) > > at > org.xmlBlaster.util.dispatch.DispatchWorker.run(DispatchWorker.java:83) > > at > org.xmlBlaster.util.dispatch.DispatchManager.putPre(DispatchManager.java:530) > > at > > > org.xmlBlaster.util.queue.cache.CacheQueueInterceptorPlugin.put(CacheQueueInterceptorPlugin.java:457) > > at > > > org.xmlBlaster.util.queue.cache.CacheQueueInterceptorPlugin.put(CacheQueueInterceptorPlugin.java:437) > > at > org.xmlBlaster.client.XmlBlasterAccess.queueMessage(XmlBlasterAccess.java:731) > > at > org.xmlBlaster.client.XmlBlasterAccess.connect(XmlBlasterAccess.java:298) > > at org.trustcom.external.XMLBlaster.connect(XMLBlaster.java:271) > > at org.trustcom.external.XMLBlaster.execute(XMLBlaster.java:218) > > at org.trustcom.ManagedObject.execute(ManagedObject.java:259) > > at org.trustcom.OID.execute(OID.java:180) > > at org.trustcom.Util.useObject(Util.java:530) > > at org.trustcom.Util.parse(Util.java:354) > > at org.trustcom.Util.parse(Util.java:390) > > at org.trustcom.Util.parse(Util.java:328) > > at org.trustcom.Util.eval(Util.java:544) > > at org.trustcom.Util.parse(Util.java:363) > > at org.trustcom.Util.parse(Util.java:328) > > at org.trustcom.Util.parse(Util.java:340) > > at org.trustcom.SelfManagedCell.main(SelfManagedCell.java:193) > > Diadem Firewall System Manager is active! > > Policy: active is true > > Shell port 13571 ready > > [14-Aug-2006 09:45:06 [32;40mINFO [0m XmlBlaster.PingTimer > SocketConnection] > > SOCKET client connected to 'socket://192.168.1.10:7609', your configured > local > > parameters are localHostname=192.168.1.10 on localPort=33187 > useUdpForOneway=false > > [14-Aug-2006 09:45:06 [32;40mINFO [0m XmlBlaster.SOCKET > > SocketCallbackImpl-dummyLoginName] Started callback receiver plugin on > > 'socket://192.168.1.10:33187' > > [14-Aug-2006 09:45:06 [33;40mWARN [0m XmlBlaster.SOCKET > > SocketCallbackImpl-dummyLoginName] Closing connection to server: > > java.net.SocketException: Connection reset > > [14-Aug-2006 09:45:06 [33;40mWARN [0m XmlBlaster.SOCKET > > SocketCallbackImpl-dummyLoginName] There are 1 messages pending without a > > response, request IDs are dummyLoginName:2 > > > > Here's is how I connect to the server: > > > > private void connect(String[] args, String uname, String passwd) { > > try { > > glob = new Global(); > > glob.init(args); > > connection = glob.getXmlBlasterAccess(); > > ConnectQos qos; > > if (uname == null) > > qos = new ConnectQos(glob); > > else > > qos = new ConnectQos(glob, uname, passwd); > > > > // Ok, make the connection > > connection.connect(qos, new I_Callback() { > > > > public String update(String name, UpdateKey updateKey, byte[] > content, > > UpdateQos updateQos) { > > System.out.println("XMLBlaster: Receiving undirected message"); > > return ""; > > } > > }); > > > > // Handle lost server explicitly > > connection.registerConnectionListener(new I_ConnectionStateListener() > { > > > > public void reachedAlive(ConnectionStateEnum oldState, > > I_XmlBlasterAccess connection) { > > /* > > * ConnectReturnQos conRetQos = > connection.getConnectReturnQos(); > > * log.info(ME, "I_ConnectionStateListener: We were lucky, > connected > > * to " + connection.getGlobal().getId() + " as " + > > * conRetQos.getSessionName()); > > */ > > System.out.println("XMLBlaster: Destroying " + > > connection.getQueue().getNumOfEntries() > > + " client side tailback messages"); > > connection.getQueue().clear(); > > } > > > > public void reachedPolling(ConnectionStateEnum oldState, > > I_XmlBlasterAccess connection) { > > System.out > > .println("XMLBlaster: I_ConnectionStateListener: No > connection to > > xmlBlaster server, we are polling ..."); > > } > > > > public void reachedDead(ConnectionStateEnum oldState, > I_XmlBlasterAccess > > connection) { > > System.out.println("XMLBlaster: I_ConnectionStateListener: > Connection > > from " > > + connection.getGlobal().getId() + " to xmlBlaster is DEAD, > doing > > exit."); > > System.exit(1); > > } > > }); > > > > } > > catch (XmlBlasterException e) { > > // TODO Auto-generated catch block > > e.printStackTrace(); > > } > > } > > > > > >
