adb with base64Binary and xmime.xsd - little howto

View: New views
3 Messages — Rating Filter:   Alert me  

adb with base64Binary and xmime.xsd - little howto

by Mark Nüßler :: Rate this Message:

| View Threaded | Show Only this Message

hello users,

because i concentrate on codegeneration and
and sending files, i just want to give
back some of my knowlegde, since it's working.

i don't explain how to generate and implement,
i just explain, how i create a wsdl for this
purpose.

thx to Dimuthu Chathuranga this little howto
was possible, hope some of you will find
this useful.

mfg derMark



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@...
For additional commands, e-mail: axis-c-user-help@...

sendFiles.zip (6K) Download Attachment

Re: adb with base64Binary and xmime.xsd - little howto

by Royston Day :: Rate this Message:

| View Threaded | Show Only this Message

Hi all,

> hello users,

> because i concentrate on codegeneration and
> and sending files, i just want to give
> back some of my knowlegde, since it's working.

> i don't explain how to generate and implement,
> i just explain, how i create a wsdl for this
> purpose.

> thx to Dimuthu Chathuranga this little howto
> was possible, hope some of you will find
> this useful.

> mfg derMark

I've been using the axutil base64 libraries recently and came across a
issue in the base64.c source file (located in .../util/src/base64.c),
in the following function which is used by the axutil base64 binary
library to calculate the number of encoded bytes:

AXIS2_EXTERN int AXIS2_CALL axutil_base64_decode_len(const char *bufcoded)
{
    int nbytesdecoded;
    register const unsigned char *bufin;
    register int nprbytes;

    bufin = (const unsigned char *) bufcoded;
    while (pr2six[*(bufin++)] <= 63);

    nprbytes = (bufin - (const unsigned char *) bufcoded) - 1;

    nbytesdecoded = ((nprbytes + 3) / 4) * 3;

    return nbytesdecoded + 1;
}

I believe that this calculation of the number of encoded bytes is
incorrect and have applied a quick fix as follows:

AXIS2_EXTERN int AXIS2_CALL axutil_base64_decode_len(const char *bufcoded)
{
    int nbytesdecoded;
    register const unsigned char *bufin;
    register int nprbytes;

    bufin = (const unsigned char *) bufcoded;
    while (pr2six[*(bufin++)] <= 63);

    nprbytes = (bufin - (const unsigned char *) bufcoded) - 1;

    nbytesdecoded = ((nprbytes >> 2) * 3);

    if (nprbytes & 0x03) nbytesdecoded += (nprbytes & 0x03) - 1;

    return nbytesdecoded;
}

I hope this is of some help.

Best regards,

Royston


- - -

Royston Day, Software Engineer
MPC Data Limited
e-mail: rday@...   web: www.mpc-data.co.uk
tel:  +44 (0) 1225 710600     fax: +44 (0) 1225 710601
ddi: +44 (0) 1225 710634


MPC Data Limited is a company registered in England and Wales with
company number 05507446

Registered Address: County Gate, County Way, Trowbridge, Wiltshire,
BA14 7FJ VAT no: 850625238

The information in this email and in the attached documents is
confidential and may be legally privileged. Any unauthorized review,
copying, disclosure or distribution is prohibited and may be unlawful.
It is intended solely for the addressee. Access to this email by
anyone else is unauthorized. If you are not the intended recipient,
please contact the sender by reply email and destroy all copies of the
original message. When addressed to our clients any opinions or advice
contained in this email is subject to the terms and conditions
expressed in the governing contract.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@...
For additional commands, e-mail: axis-c-user-help@...


Re: adb with base64Binary and xmime.xsd - little howto

by Mark Nüßler :: Rate this Message:

| View Threaded | Show Only this Message

hello users,

in the little howto i mentioned
to replace "xs:int" with "xs:base64Binary",
but you have to replace it with "xmime:base64Binary".

sorry for this.

@royston, can't say something to this,
maybe any of the project-developers ?

mfg derMark




Royston Day schrieb:

> Hi all,
>
>> hello users,
>
>> because i concentrate on codegeneration and
>> and sending files, i just want to give
>> back some of my knowlegde, since it's working.
>
>> i don't explain how to generate and implement,
>> i just explain, how i create a wsdl for this
>> purpose.
>
>> thx to Dimuthu Chathuranga this little howto
>> was possible, hope some of you will find
>> this useful.
>
>> mfg derMark
>
> I've been using the axutil base64 libraries recently and came across a
> issue in the base64.c source file (located in .../util/src/base64.c),
> in the following function which is used by the axutil base64 binary
> library to calculate the number of encoded bytes:
>
> AXIS2_EXTERN int AXIS2_CALL axutil_base64_decode_len(const char *bufcoded)
> {
>     int nbytesdecoded;
>     register const unsigned char *bufin;
>     register int nprbytes;
>
>     bufin = (const unsigned char *) bufcoded;
>     while (pr2six[*(bufin++)] <= 63);
>
>     nprbytes = (bufin - (const unsigned char *) bufcoded) - 1;
>
>     nbytesdecoded = ((nprbytes + 3) / 4) * 3;
>
>     return nbytesdecoded + 1;
> }
>
> I believe that this calculation of the number of encoded bytes is
> incorrect and have applied a quick fix as follows:
>
> AXIS2_EXTERN int AXIS2_CALL axutil_base64_decode_len(const char *bufcoded)
> {
>     int nbytesdecoded;
>     register const unsigned char *bufin;
>     register int nprbytes;
>
>     bufin = (const unsigned char *) bufcoded;
>     while (pr2six[*(bufin++)] <= 63);
>
>     nprbytes = (bufin - (const unsigned char *) bufcoded) - 1;
>
>     nbytesdecoded = ((nprbytes >> 2) * 3);
>
>     if (nprbytes & 0x03) nbytesdecoded += (nprbytes & 0x03) - 1;
>
>     return nbytesdecoded;
> }
>
> I hope this is of some help.
>
> Best regards,
>
> Royston
>
>
> - - -
>
> Royston Day, Software Engineer
> MPC Data Limited
> e-mail: rday@...   web: www.mpc-data.co.uk
> tel:  +44 (0) 1225 710600     fax: +44 (0) 1225 710601
> ddi: +44 (0) 1225 710634
>
>
> MPC Data Limited is a company registered in England and Wales with
> company number 05507446
>
> Registered Address: County Gate, County Way, Trowbridge, Wiltshire,
> BA14 7FJ VAT no: 850625238
>
> The information in this email and in the attached documents is
> confidential and may be legally privileged. Any unauthorized review,
> copying, disclosure or distribution is prohibited and may be unlawful.
> It is intended solely for the addressee. Access to this email by
> anyone else is unauthorized. If you are not the intended recipient,
> please contact the sender by reply email and destroy all copies of the
> original message. When addressed to our clients any opinions or advice
> contained in this email is subject to the terms and conditions
> expressed in the governing contract.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@...
> For additional commands, e-mail: axis-c-user-help@...
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@...
For additional commands, e-mail: axis-c-user-help@...