[7.7.1] SOAP marshaler for TwoByteString

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[7.7.1] SOAP marshaler for TwoByteString

Randy Coulman
We recently ran across a bug with a SOAP server we run as part of our application.  Our application was running with the Czech locale active, and when trying to return a string via SOAP, we got a NoMarshalerSignal error, because there's no marshaler defined for TwoByteString.

Looking at XMLObjectBinding class>>defaultSmalltalk2XMLMap, there are entries defined for String, ByteString, ByteSymbol, FourByteSymbol, and TwoByteSymbol, but not TwoByteString, FourByteString, or Symbol.

It seems to me that, either there should be entries for all of the String subclasses, or the marshaler lookup should walk up the class hierarchy looking for a marshaler.  Am I missing a setting somewhere that would allow this to happen?  Or am I doing something else wrong?

Thanks,
Randy
--
Randy Coulman
[hidden email]

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [7.7.1] SOAP marshaler for TwoByteString

Jan Weerts
Hi Randy!

On 09.03.2011 07:52, Randy Coulman wrote:

> We recently ran across a bug with a SOAP server we run as part of our
> application.  Our application was running with the Czech locale active, and
> when trying to return a string via SOAP, we got a NoMarshalerSignal error,
> because there's no marshaler defined for TwoByteString.
>
> Looking at XMLObjectBinding class>>defaultSmalltalk2XMLMap, there are
> entries defined for String, ByteString, ByteSymbol, FourByteSymbol, and
> TwoByteSymbol, but not TwoByteString, FourByteString, or Symbol.
>
> It seems to me that, either there should be entries for all of the String
> subclasses, or the marshaler lookup should walk up the class hierarchy
> looking for a marshaler.  Am I missing a setting somewhere that would allow
> this to happen?  Or am I doing something else wrong?

We encountered the same some VW versions ago and since then have the
following in all soaping deploys:

   "make soap marshal anytyped TwoByteStrings as Strings"
   XMLObjectBinding sm2XMLTypeRegistry
     at: #TwoByteString
     ifAbsentPut: [ XMLObjectBinding sm2XMLTypeRegistry at: #String ].

Regards
   Jan
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [7.7.1] SOAP marshaler for TwoByteString

Kogan, Tamara
Created for 7.9
62591: "Add more Smalltalk types to  Smalltalk2XMLMap"

Tamara Kogan
Smalltalk development,
Cincom Systems
 

> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On Behalf Of Jan Weerts
> Sent: Wednesday, March 09, 2011 4:09 AM
> To: Randy Coulman
> Cc: VW NC
> Subject: Re: [vwnc] [7.7.1] SOAP marshaler for TwoByteString
>
> Hi Randy!
>
> On 09.03.2011 07:52, Randy Coulman wrote:
> > We recently ran across a bug with a SOAP server we run as
> part of our
> > application.  Our application was running with the Czech
> locale active, and
> > when trying to return a string via SOAP, we got a
> NoMarshalerSignal error,
> > because there's no marshaler defined for TwoByteString.
> >
> > Looking at XMLObjectBinding class>>defaultSmalltalk2XMLMap,
> there are
> > entries defined for String, ByteString, ByteSymbol,
> FourByteSymbol, and
> > TwoByteSymbol, but not TwoByteString, FourByteString, or Symbol.
> >
> > It seems to me that, either there should be entries for all
> of the String
> > subclasses, or the marshaler lookup should walk up the
> class hierarchy
> > looking for a marshaler.  Am I missing a setting somewhere
> that would allow
> > this to happen?  Or am I doing something else wrong?
>
> We encountered the same some VW versions ago and since then have the
> following in all soaping deploys:
>
>    "make soap marshal anytyped TwoByteStrings as Strings"
>    XMLObjectBinding sm2XMLTypeRegistry
>      at: #TwoByteString
>      ifAbsentPut: [ XMLObjectBinding sm2XMLTypeRegistry at: #String ].
>
> Regards
>    Jan
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
>

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [7.7.1] SOAP marshaler for TwoByteString

Randy Coulman
In reply to this post by Jan Weerts
Thanks, Jan.

We've done a similar thing to get around the problem, too, but I thought I should report it.

Randy

On Wed, Mar 9, 2011 at 1:09 AM, Jan Weerts <[hidden email]> wrote:
Hi Randy!


On 09.03.2011 07:52, Randy Coulman wrote:
We recently ran across a bug with a SOAP server we run as part of our
application.  Our application was running with the Czech locale active, and
when trying to return a string via SOAP, we got a NoMarshalerSignal error,
because there's no marshaler defined for TwoByteString.

Looking at XMLObjectBinding class>>defaultSmalltalk2XMLMap, there are
entries defined for String, ByteString, ByteSymbol, FourByteSymbol, and
TwoByteSymbol, but not TwoByteString, FourByteString, or Symbol.

It seems to me that, either there should be entries for all of the String
subclasses, or the marshaler lookup should walk up the class hierarchy
looking for a marshaler.  Am I missing a setting somewhere that would allow
this to happen?  Or am I doing something else wrong?

We encountered the same some VW versions ago and since then have the following in all soaping deploys:

 "make soap marshal anytyped TwoByteStrings as Strings"
 XMLObjectBinding sm2XMLTypeRegistry
   at: #TwoByteString
   ifAbsentPut: [ XMLObjectBinding sm2XMLTypeRegistry at: #String ].

Regards
 Jan



--
Randy Coulman
[hidden email]

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc