You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by Thomas Auzinger <th...@auzinger.org> on 2010/05/28 23:28:20 UTC

Impl object for service 'algorithm' not set in message receiver (Re: Have WSDL, want service (on windows))

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
<sc...@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 <th...@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
> > <am...@cox.net> wrote:
> >>
> >> Follow this doc....
> >> Amir
> >> ----- Original Message ----- From: "Sam Carleton"
> >> <sc...@miltonstreet.com>
> >> To: "Apache AXIS C User List" <c-...@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 <th...@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-unsubscribe@axis.apache.org
> >> For additional commands, e-mail: c-user-help@axis.apache.org
> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
> >> For additional commands, e-mail: c-user-help@axis.apache.org
> >
> >
>
>