You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by Patrick van Beem <pa...@quintiq.com> on 2008/12/03 13:47:33 UTC

Duplicate function in generated axis2_stubs.

In the main trunk, the C-code generator now generates the following function in the axis2_stub_xxx.c:

    axiom_node_t* AXIS2_CALL
    axis2_deserialize_buffer (
        const axutil_env_t * env,
        char *buffer);

This one is the same for every stub generated. So if you use more SOAP interfaces in one project, you get this function multiple times in one project. The linker does not like that...

Possible solutions include:
- Make it static, so the linker won't complain. Drawback: You will end up with multiple copies of the same function. (Intelligent linkers might remove these duplicates when optimizing.)
- Deliver it in a separate file outside of the generation process and tell the user to include it in their project. Drawback: Less user-friendly.
- Generate it in a separate file and tell the user to delete duplicates. Drawback: less user-friendly.

Any other solutions? Anyone? What's preferred?

-- 

 
Patrick van Beem
Sr. Software engineer
 
Quintiq
 
T +31 (0) 73 691 07 39
F +31 (0) 73 691 07 54
M +31 (0) 06 15 01 65 83
E patrick.van.beem@quintiq.com
I www.quintiq.com



This message contains information that may be privileged or confidential and is the property of Quintiq. It is only intended for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute or use this message or any part thereof. If you have received this message in error, please notify the sender immediately and delete all copies of this message. Please note that e-mails are susceptible to change, therefore they are not binding.

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org


Re: Duplicate function in generated axis2_stubs.

Posted by Dimuthu Gamage <di...@gmail.com>.
Hi Patrick,
Thanks For raising this. I think this function should be moved to axiom_node
functions. To something like

axiom_node_t *axiom_node_create_from_buffer(const axutil_env_t *env,
axis2_char_t *buffer)

It will be very easy to work with in other applications also. Can you please
raise a JIRA on this issue..

Thanks
Dimuthu


On Wed, Dec 3, 2008 at 6:17 PM, Patrick van Beem <
patrick.van.beem@quintiq.com> wrote:

>
> In the main trunk, the C-code generator now generates the following
> function in the axis2_stub_xxx.c:
>
>    axiom_node_t* AXIS2_CALL
>    axis2_deserialize_buffer (
>        const axutil_env_t * env,
>        char *buffer);
>
> This one is the same for every stub generated. So if you use more SOAP
> interfaces in one project, you get this function multiple times in one
> project. The linker does not like that...
>
> Possible solutions include:
> - Make it static, so the linker won't complain. Drawback: You will end up
> with multiple copies of the same function. (Intelligent linkers might remove
> these duplicates when optimizing.)
> - Deliver it in a separate file outside of the generation process and tell
> the user to include it in their project. Drawback: Less user-friendly.
> - Generate it in a separate file and tell the user to delete duplicates.
> Drawback: less user-friendly.
>
> Any other solutions? Anyone? What's preferred?
>
> --
>
>
> Patrick van Beem
> Sr. Software engineer
>
> Quintiq
>
> T +31 (0) 73 691 07 39
> F +31 (0) 73 691 07 54
> M +31 (0) 06 15 01 65 83
> E patrick.van.beem@quintiq.com
> I www.quintiq.com
>
>
>
> This message contains information that may be privileged or confidential
> and is the property of Quintiq. It is only intended for the person to whom
> it is addressed. If you are not the intended recipient, you are not
> authorized to read, print, retain, copy, disseminate, distribute or use this
> message or any part thereof. If you have received this message in error,
> please notify the sender immediately and delete all copies of this message.
> Please note that e-mails are susceptible to change, therefore they are not
> binding.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-dev-help@ws.apache.org
>
>


-- 
Thanks,
Dimuthu Gamage

http://www.dimuthu.org
http://www.wso2.org