OK, my algorithm.dll is built and I'm trying to call the service from Java. There is some communication, but the log looks like below and I get the message:
Impl object for service 'algorithm' not set in message receiver.109 :: Array list index out of bounds What is the Impl object and why is it not found? The generated service.xml looks like this: <!-- This file was auto-generated from WSDL --> <!-- by the Apache Axis2 version: 1.5.1 Built on : Oct 19, 2009 (10:59:00 EDT) --> <service name="algorithm"> <parameter name="ServiceClass">algorithm</parameter> <description>algorithm Service </description> <operation name="measureECG" > <parameter name="wsamapping">http://www.sample.com/algorithm/measureECG </parameter> </operation> </service> Thanks, Thomas [Fri May 28 17:04:21 2010] [debug] ..\..\src\core\transport\http\common\http_worker.c(200) Client HTTP version HTTP/1.1 [Fri May 28 17:04:21 2010] [debug] ..\..\axiom\src\soap\soap_builder.c(930) Identified soap version is soap11 [Fri May 28 17:04:21 2010] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler request_uri_based_dispatcher within the phase Transport [Fri May 28 17:04:21 2010] [debug] ..\..\src\core\engine\req_uri_disp.c(100) Checking for service using target endpoint address : http://127.0.0.1:9090/axis2/services/algorithm [Fri May 28 17:04:21 2010] [debug] ..\..\src\core\engine\req_uri_disp.c(121) Service found using target endpoint address [Fri May 28 17:04:21 2010] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler AddressingInHandler within the phase Transport [Fri May 28 17:04:21 2010] [info] Starting addressing in handler [Fri May 28 17:04:21 2010] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler addressing_based_dispatcher within the phase Transport [Fri May 28 17:04:21 2010] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler rest_dispatcher within the phase Dispatch [Fri May 28 17:04:21 2010] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler soap_message_body_based_dispatcher within the phase Dispatch [Fri May 28 17:04:21 2010] [debug] ..\..\src\core\engine\soap_body_disp.c(231) Checking for operation using SOAP messagebody's first child's local name : measureECG [Fri May 28 17:04:21 2010] [debug] ..\..\src\core\engine\soap_body_disp.c(240) Operation found using SOAP message body's first child's local name [Fri May 28 17:04:21 2010] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler soap_action_based_dispatcher within the phase Dispatch [Fri May 28 17:04:21 2010] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler dispatch_post_conditions_evaluator within the phase PostDispatch [Fri May 28 17:04:21 2010] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler context_handler within the phase PostDispatch [Fri May 28 17:04:21 2010] [error] ..\..\src\core\receivers\raw_xml_in_out_msg_recv.c(115) Impl object for service 'algorithm' not set in message receiver. 109 :: Array list index out of bounds [Fri May 28 17:04:21 2010] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler AddressingOutHandler within the phase MessageOut [Fri May 28 17:04:21 2010] [info] Starting addressing out handler [Fri May 28 17:04:21 2010] [debug] ..\..\src\modules\mod_addr\addr_out_handler.c(133) No action present. Stop processing addressing [Fri May 28 17:04:22 2010] [info] Request served successfully On Fri, May 28, 2010 at 10:44 AM, Sam Carleton <scarle...@miltonstreet.com>wrote: > Thomas, > > Yea, you are going to have to tinker with the code a bit. It does put in > some artifacts that VS2008/VS2010 doesn't much like. > > What I did was this: > > 1. Put the generated code into a physical folder of it's own, separate > from the rest of my source code. > 2. Figured out what needed to be added/removed to the generated code > 3. ONLY added/removed what needed to change, otherwise zero formatting > changes. > 4. When I change the WSDL, I generate the code to a temp location > different from #1's location > 5. Then I do a folder compare, add the new things and replace the > things that have changed except for the files I tweaked in 2/3 (normally > only the main file), this I do a manual line by line diff. The reason for > not doing ANY formatting changes in #3 is so that this diff will only show > what has REALLY changed and it is easy to spot your changes from the > WSDL2C's changes. > > I use this simply outstanding program called Beyond > Compare<http://www.scootersoftware.com/>to do the folder/file compare. I > highly recommend it! > > Sam > > > On Fri, May 28, 2010 at 10:02 AM, Thomas Auzinger <tho...@auzinger.org> > wrote: > > I created the source code using: > > wsdl2c -d adb -u -ss -uri algorithm.wsdl > > This works almost, but I get two errors from Visualstudio 10 (VS6 can't > be > > installed on my Win 7 64 bit machine) when building the service. > > ("algorithm" is the name of my service) > > > > 1> axis2_svc_skel_algorithm.c > > > 1>c:\axis2c-bin-1.6.0-win32\bin\tools\wsdl2c\src\axis2_svc_skel_algorithm.c(251): > > error C2491: 'axis2_get_instance' : definition of dllimport function not > > allowed > > > 1>c:\axis2c-bin-1.6.0-win32\bin\tools\wsdl2c\src\axis2_svc_skel_algorithm.c(265): > > error C2491: 'axis2_remove_instance' : definition of dllimport function > not > > allowed > > The offending code looks like this: > > -------------- > > /** > > * Following block distinguish the exposed part of the dll. > > */ > > AXIS2_EXTERN int > > axis2_get_instance(struct axis2_svc_skeleton **inst, > > const axutil_env_t *env) > > { > > *inst = axis2_svc_skel_algorithm_create(env); > > if(!(*inst)) > > { > > return AXIS2_FAILURE; > > } > > return AXIS2_SUCCESS; > > } > > AXIS2_EXTERN int > > axis2_remove_instance(axis2_svc_skeleton_t *inst, > > const axutil_env_t *env) > > { > > axis2_status_t status = AXIS2_FAILURE; > > if (inst) > > { > > status = AXIS2_SVC_SKELETON_FREE(inst, env); > > } > > return status; > > } > > --------------------------------- > > Thanks, > > Thomas > > On Thu, May 27, 2010 at 6:04 PM, Amir Mousavizadegan > > <amir.mousavizade...@cox.net> wrote: > >> > >> Follow this doc.... > >> Amir > >> ----- Original Message ----- From: "Sam Carleton" > >> <scarle...@miltonstreet.com> > >> To: "Apache AXIS C User List" <c-user@axis.apache.org> > >> Sent: Thursday, May 27, 2010 5:37 PM > >> Subject: Re: Have WSDL, want service (on windows) > >> > >> > >> Thomas, > >> > >> It has been a while since I had to create my first project, but I will > >> do my best to get you started. I am sure others will chime in where I > >> am wrong: > >> > >> There is a tool in Axis2/Java called WSDL2C.bat which will generate > >> all the code the code the will parse and package the SOAP messages and > >> ultimately allow you to focus on the implementation, not the plumbing. > >> > >> I think that all I did after that was create a Project in Visual > >> Studio (I am a Windows programmer). I assume on Unix/OSX you would > >> simply create your makefile and compile everything together. > >> > >> Somewhere online there is an example of the command line options to > >> use to generate both server side code and client side code from the > >> WSDL. > >> > >> Sam > >> > >> On Thu, May 27, 2010 at 5:15 PM, Thomas Auzinger <tho...@auzinger.org> > >> wrote: > >>> > >>> I downloaded the sources for AXIS2C and managed to build the binaries. > I > >>> also modified the samples somewhat and made them talk to a Java client. > I > >>> also created some code using wsdl2c. > >>> However, now I want to build a NEW service from my WSDL and I don't > know > >>> how > >>> to go about that. Is there a HOWTO for that? Is there a makefile that I > >>> can/need to modify? I see that there are e.g. an echo.lib, echo.dll, > >>> echo.exp, and service.xml. How do I get the corresponding files for my > >>> new > >>> service? > >>> Thanks, > >>> Thomas > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: c-user-unsubscr...@axis.apache.org > >> For additional commands, e-mail: c-user-h...@axis.apache.org > >> > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: c-user-unsubscr...@axis.apache.org > >> For additional commands, e-mail: c-user-h...@axis.apache.org > > > > > >