Hi,
I am trying your Flamingo 2.2.0 by doing a simple SEAM and JavaFX HelloWorld. I am getting a Hessian error on the client JavaFX application when I try and send the hello :
Exception in thread "AWT-EventQueue-0" com.caucho.hessian.client.HessianRuntimeException: com.caucho.hessian.io.HessianProtocolException: com.caucho.hessian.io.BasicDeserializer: unexpected object java.lang.String (
at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:221)
at $Proxy5.hello(Unknown Source)
at com.test.HelloworldClient.hello(HelloworldClient.java:33)
at com.test.FXClient$FXClient$Script.invoke$(com.exadel.javafx.ide.internal.core.JavaFXFileObject@1ca4e70:38)
at com.sun.javafx.functions.Function0.invoke(Function0.java:44)
at com.sun.javafx.functions.Function0.invoke$(Function0.java:38)
at javafx.ext.swing.SwingAbstractButton$1ActionListener$ObjLit$2.actionPerformed(SwingAbstractButton.fx:149)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: com.caucho.hessian.io.HessianProtocolException: com.caucho.hessian.io.BasicDeserializer: unexpected object java.lang.String (
Using Seam 2.1.2 and JavaFX 1.3. I re-downloaded Flamingo 2.2.0 and used Hessian 4.0.6 as I saw it was noted on another post in this Forum.
Regards.

Please post your Seam
Please post your Seam component and JavaFX script code.
Source Code
FxClient.fx [Client]
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.text.Text;
import javafx.scene.text.Font;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx.scene.text.TextOrigin;
import javafx.ext.swing.SwingButton;
import javafx.scene.layout.VBox;
import javafx.scene.control.TextBox;
import HelloworldClient;
class Hello {
public var name:String;
public var str:String;
}
var helloModel = new Hello();
HelloworldClient.setServerUrl("http://localhost:8080/flamingoseamserver/flamingo/hessian/helloAction");
var helloText: TextBox = TextBox {
text: bind helloModel.name with inverse
columns: 7
selectOnFocus:true
}
var helloLabel = Text{
y:8
font: Font { name:"sansserif", size: 12 }
fill: Color.BLACK
content: bind "Server says: {helloModel.str}"
textOrigin: TextOrigin.TOP
}
var helloButton = SwingButton {
text:"Say Hello!"
action: function(){
helloModel.str =
HelloworldClient.CLIENT.hello(helloModel.name);
}
}
Stage {
title: "Helloworld Sample"
width: 200
height: 150
scene: Scene {
content: VBox {
translateX: 5
translateY: 5
spacing: 10
content: [
HBox {
content: helloText
spacing: 10
},
HBox {
content: helloButton
spacing: 10
},
HBox {
content: helloLabel
spacing: 10
}]
}
}
}
End FxClient.fx [Client]
HelloWorldClient.java [Client]
import com.caucho.hessian.client.HessianProxyFactory;
import java.net.MalformedURLException;
public class HelloworldClient {
public static HelloworldClient CLIENT;
private String _url;
private HelloworldClient(String string) {
_url = string;
}
private IHelloAction _service;
public static void setServerUrl(String url) {
CLIENT = new HelloworldClient(url);
}
private IHelloAction getService() {
if (_service == null) {
try {
HessianProxyFactory factory = new HessianProxyFactory();
_service = (IHelloAction) factory.create(IHelloAction.class,
_url);
} catch (MalformedURLException ex) {
System.out.println(ex);
}
}
return _service;
}
public String hello(String s) {
return getService().hello(s);
}
}
End HelloWorldClient.java [Client]
IHelloAction.java [Client]
public interface IHelloAction {
public String hello(String name);
}
End IHelloAction.java [Client]
HelloAction.java [Server]
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
@Scope(ScopeType.STATELESS)
@Name("helloAction")
public class HelloAction implements IHelloAction {
public String hello(String name) {
return "Hello, " + name;
}
}
End HelloAction.java [Server]
IHelloAction.java [Server]
import org.jboss.seam.annotations.remoting.WebRemote;
public interface IHelloAction {
@WebRemote
public String hello(String name);
}
End IHelloAction.java [Server]
See if you can run this
See if you can run this simple example: http://mkblog.exadel.com/ria/javafx-ria/calling-seam-component-from-java... . The code that you have seems to be from an older Flamingo version. It could still work, but let's see if you can run the example from my blog.