[Mono-list] WCF service error message encoding
Jeff Bonhag
jbonhag at SCA-CORP.COM
Fri May 15 18:06:27 UTC 2015
Hi,
I'm debugging a WCF web service on Linux that's using System.Data.Odbc
and unixODBC to connect to DB2 running on another server. I get an
error message when I try to connect to the database, but that's not my
main concern. The error message seems to be using the wrong encoding,
because the response looks like this:
<Fault xmlns="http://schemas.microsoft.com/ws/2005/05/envelope/none">
<Code>
<Value
xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">a:InternalServiceFault</Value>
</Code>
<Reason>
<Text xml:lang="">
ERROR [䤀䴀 ㈀] 嬀甀渀椀砀伀䐀䈀䌀崀嬀䐀爀椀瘀攀爀 䴀愀渀愀最攀爀崀䐀
愀琀愀 猀漀甀爀挀攀 渀愀洀攀 渀漀琀 昀漀甀渀搀Ⰰ 愀渀搀 渀漀 搀攀昀愀甀氀
琀 搀爀椀瘀攀爀 猀瀀攀挀椀昀椀攀搀
</Text>
</Reason>
... etc
I piped the result through `iconv -f UTF-8 -t UTF-16BE`, and discovered
the error (spaces were included in the response):
E R R O R [I M 0 0 2 ] [ u n i x O D B C ] [ D r i v e r M a n a
g e r ] D a t a s o u r c e n a m e n o t f o u n d , a n d
n o d e f a u l t d r i v e r s p e c i f i e d
So now I know what the problem is, but why is the error message coming
back like that? Is this a unixODBC problem?
`locale` is:
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Any ideas would be appreciated.
Thank you,
Jeff
More information about the Mono-list
mailing list