Your problem is that the method name translation in HessianKit, or the
mismatch of Objective-C method naming and Java method naming.

You call do_something:password:type:action:data:, this will be
autorenamed as do_somethingPasswordTypeActionData in the Java world.

You have three solutions, rename the Java method to this longer
version or you could:

A) Call do_somethiong::::: that will get the proper name do_something
in the Java world.
                message = [proxy do_something:@"a" :@"b" :@"c" :@"d" :@"e"];
This is easiest but uggly as heck.

B) Add a manual translation to HessianKit.
                [CWHessianArchiver setMethodName:@"do_something"
forSelector:@selector(do_something:password:type:action:data:)];
                message = [proxy do_something:@"a" password:@"b" type:@"c"
action:@"d" data:@"e"];

The last solution allows for code that looks "correct" in both the
Java and Objective-C world. You only need to setup the translations
once, so add those lines to some init method somewhere.

The, in progress, v2.0 of HessianKit allows for these translations to
be added from propertlist files == less code to type.


// Fredrik
- Hide quoted text -

On Fri, Jan 7, 2011 at 12:17 PM, Steffen Demos
<steffen.atta...@gmail.com> wrote:
Rick,

I am successfully able to call the test Hessian server from my
Objective-C client. I then created my own Hessian Java web service
using NetBeans, as shown below. I tested the service with a NetBeans
test client and it works fine. However, my Objective-C client throws
an HTTP 500 error. Do I have the URL correct in my client? What else
could possibly be wrong?

Any suggestions would be very appreciated. Thank you,


_______________________________________________
hessian-interest mailing list
hessian-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/hessian-interest

Reply via email to