Here is my client call: (Please note that the method name has changed since my last email. I wanted to simplify my debugging.)
NSURL* urlTest = [NSURL URLWithString:@"http://localhost:8080/MyProductWSApplication/MyProductWSService"]; id<MyProductWS> proxy = (id<MyProductWS>)[CWHessianConnection proxyWithURL:urlTest protocol:@protocol(MyProductWS)]; message = [proxy debug]; Here is the protocol definition: @protocol MyProductWS - (NSString *) debug; @end On Jan 8, 2011, at 5:16 PM, Fredrik Olsson wrote: > There is a log statement in CWDistantHessianObject.m lines 103-105. Could you > please print that out (add the DEBUG symbol or remove the ifdef). > > Please attach the printout for your failing call. There is the possibility > that HessianKit has a bug as well :/. > > // Fredrik Olsson > > 8 jan 2011 kl. 22:15 skrev Steffen Demos <steffen.atta...@gmail.com>: > >> Fredrik, >> >> This is an outstanding piece of software in my opinion. I apologize for >> being such a newbie, and please forgive me if I misunderstand the question. >> My web service references the library hessian-4.0.7.jar and my client code >> uses what I believe is 1.00 binary protocol as evidenced by the following >> enum: >> >> enum { >> CWHessianVersion1_00 = 0x100 >> }; >> >> Steffen >> >> On Jan 8, 2011, at 3:40 PM, Fredrik Olsson wrote: >> >>> Might be a stupid question, are you using Hessian 1 binary protocol? >>> HessianKit is not Hessian 2 binary compatible. >>> >>> // Fredrik Olsson >>> >>> 8 jan 2011 kl. 19:04 skrev Steffen Demos <steffen.atta...@gmail.com>: >>> >>>> Yes I did. I have another email being reviewed by the moderator that goes >>>> into detail. Here is the Glassfish 3 Server error I get when consuming: >>>> >>>> SEVERE: Couldn't create SOAP message due to exception: XML reader error: >>>> com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character 'c' >>>> (code 99) in prolog; expected '<' >>>> >>>> On Jan 7, 2011, at 6:14 PM, Rick Mann wrote: >>>> >>>>> Did you set up the static mapping between your client-side name and the >>>>> server name? I think Frederik elaborates on that. >>>>> >>>>> On Jan 7, 2011, at 03:17:12, Steffen Demos 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, >>>>>> >>>>>> Steffen >>>>>> >>>>>> SERVER: >>>>>> >>>>>> package org.me.myproduct; >>>>>> >>>>>> import com.caucho.hessian.server.HessianServlet; >>>>>> >>>>>> import javax.jws.WebMethod; >>>>>> import javax.jws.WebParam; >>>>>> import javax.jws.WebService; >>>>>> import javax.ejb.Stateless; >>>>>> >>>>>> /** >>>>>> * >>>>>> * @author steffen >>>>>> */ >>>>>> @WebService() >>>>>> public class MyProductWS extends HessianServlet { >>>>>> >>>>>> /** >>>>>> * Web service operation >>>>>> */ >>>>>> @WebMethod(operationName = "begin_sync") >>>>>> public String do_something(@WebParam(name = "subscriber_id") >>>>>> String subscriber_id, @WebParam(name = "password") >>>>>> String password, @WebParam(name = "type") >>>>>> String type, @WebParam(name = "action") >>>>>> String action, @WebParam(name = "data") >>>>>> String data) { >>>>>> //TODO write your implementation code here: >>>>>> return "Hello, it's me!"; >>>>>> } >>>>>> >>>>>> } >>>>>> >>>>>> >>>>>> CLIENT: >>>>>> >>>>>> (in .h) >>>>>> @protocol MyProductWS >>>>>> -(NSString *) do_something:(NSString *)subscriber_id >>>>>> password:(NSString *)password type:(NSString *)type action:(NSString >>>>>> *)action data:(NSString *)data; >>>>>> @end >>>>>> >>>>>> (in .m) >>>>>> @try { >>>>>> >>>>>> NSURL* urlTest = [NSURL >>>>>> URLWithString:@"http://localhost:8080/MyProductWSApplication/MyProductWSService"]; >>>>>> id<MyProductWS> proxy = (id<MyProductWS>)[CWHessianConnection >>>>>> proxyWithURL:urlTest protocol:@protocol(MyProductWS)]; >>>>>> >>>>>> message = [proxy do_something:@"a" password:@"b" type:@"c" >>>>>> action:@"d" data:@"e"]; >>>>>> } >>>>>> @catch (NSException *exception) { >>>>>> @throw exception; >>>>>> } >>>>>> @finally { >>>>>> >>>>>> return message; >>>>>> } >>>>>> >>>>>> >>>>>> >>>>>> On Jan 2, 2011, at 3:41 PM, Rick Mann wrote: >>>>>> >>>>>>> >>>>>>> On Jan 2, 2011, at 09:59:01, Steffen Demos wrote: >>>>>>> >>>>>>>> Developers, >>>>>>>> >>>>>>>> I am implementing Hessian in Objective-C for the iPhone. I compile >>>>>>>> successfully, but yet throw an exception when attempting to access >>>>>>> >>>>>>> Steffen, >>>>>>> >>>>>>> Are you implementing Hessian, or are you implementing a service using >>>>>>> Hessian, and the HessianKit library? >>>>>>> >>>>>>> http://sourceforge.net/projects/hessiankit/ >>>>>>> >>>>>>> -- >>>>>>> Rick >>>>>>> >>>>>>>> the BasicAPI web service with a call to hello. The exception reason >>>>>>>> states "The service has no method named: hello". Has the test service >>>>>>>> been modified or moved? Please note the url that I specify in my call >>>>>>>> below: >>>>>>>> >>>>>>>> NSURL* urlTest = [NSURL >>>>>>>> URLWithString:@"http://hessian.caucho.com/test/test"]; >>>>>>>> id<BasicAPI> proxy = (id<BasicAPI>)[CWHessianConnection >>>>>>>> proxyWithURL:urlTest protocol:@protocol(BasicAPI)]; >>>>>>>> NSLog(@"hello: %@", [proxy hello]); >>>>>>>> >>>>>>>> I always search postings to find answers to my questions before >>>>>>>> posting. However, in this case I have not found how to do that. Please >>>>>>>> advise. >>>>>>>> >>>>>>>> Thank you, >>>>>>>> >>>>>>>> Steffen >>>>>>>> _______________________________________________ >>>>>>>> hessian-interest mailing list >>>>>>>> hessian-interest@caucho.com >>>>>>>> http://maillist.caucho.com/mailman/listinfo/hessian-interest >>>>>>> >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> hessian-interest mailing list >>>>>>> hessian-interest@caucho.com >>>>>>> http://maillist.caucho.com/mailman/listinfo/hessian-interest >>>>>> >>>>>> _______________________________________________ >>>>>> hessian-interest mailing list >>>>>> hessian-interest@caucho.com >>>>>> http://maillist.caucho.com/mailman/listinfo/hessian-interest >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> hessian-interest mailing list >>>>> hessian-interest@caucho.com >>>>> http://maillist.caucho.com/mailman/listinfo/hessian-interest >>>> >>>> >>>> >>>> _______________________________________________ >>>> hessian-interest mailing list >>>> hessian-interest@caucho.com >>>> http://maillist.caucho.com/mailman/listinfo/hessian-interest >>> >>> >>> _______________________________________________ >>> hessian-interest mailing list >>> hessian-interest@caucho.com >>> http://maillist.caucho.com/mailman/listinfo/hessian-interest >> >> _______________________________________________ >> hessian-interest mailing list >> hessian-interest@caucho.com >> http://maillist.caucho.com/mailman/listinfo/hessian-interest > _______________________________________________ > hessian-interest mailing list > hessian-interest@caucho.com > http://maillist.caucho.com/mailman/listinfo/hessian-interest
_______________________________________________ hessian-interest mailing list hessian-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/hessian-interest