SOAP Problem with Non-ASCII Characters

Discussion in 'Ruby' started by Achim Domma (SyynX Solutions GmbH), Nov 24, 2005.

  1. Hi,

    I use Ruby to access a .Net Webservice which returns german umlauts
    (äöü...). I create the service like this:

    service = SOAP::RPC::Driver.new(server, InterfaceNS)
    service.default_encodingstyle =
    SOAP::EncodingStyle::ASPDotNetHandler::Namespace

    If there are umlauts in the result, I get the following error:

    c:/ruby/lib/ruby/1.8/xsd/datatypes.rb:198:in `screen_data':
    {http://www.w3.org/2
    001/XMLSchema}string: cannot accept 'Ärzteblatt'.
    (XSD::ValueSpaceError)
    from c:/ruby/lib/ruby/1.8/xsd/datatypes.rb:140:in `set'
    from
    c:/ruby/lib/ruby/1.8/soap/encodingstyle/soapHandler.rb:473:in `deco
    de_textbuf'
    from
    c:/ruby/lib/ruby/1.8/soap/encodingstyle/soapHandler.rb:210:in `deco
    de_tag_end'
    from c:/ruby/lib/ruby/1.8/soap/parser.rb:191:in `decode_tag_end'
    from c:/ruby/lib/ruby/1.8/soap/parser.rb:152:in `end_element'
    from c:/ruby/lib/ruby/1.8/xsd/xmlparser/parser.rb:75:in
    `end_element'
    from c:/ruby/lib/ruby/1.8/xsd/xmlparser/xmlparser.rb:36:in
    `do_parse'
    from c:/ruby/lib/ruby/1.8/xsd/xmlparser/xmlparser.rb:31:in `parse'
    ... 6 levels...
    from c:/ruby/lib/ruby/1.8/soap/rpc/driver.rb:275:in `call'
    from c:/ruby/lib/ruby/1.8/soap/rpc/driver.rb:302:in `search'
    from c:/ruby/lib/ruby/1.8/soap/rpc/driver.rb:297:in `search'
    from C:/Sandbox/test_NewsSearch.rb:25

    Could somebody tell me how to fix this problem?

    regards,
    Achim
     
    Achim Domma (SyynX Solutions GmbH), Nov 24, 2005
    #1
    1. Advertising

  2. -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    Hi,

    Achim Domma (SyynX Solutions GmbH) wrote:
    > I use Ruby to access a .Net Webservice which returns german umlauts
    > (=E4=F6=FC...). I create the service like this:
    >=20
    > service =3D SOAP::RPC::Driver.new(server, InterfaceNS)
    > service.default_encodingstyle =3D
    > SOAP::EncodingStyle::ASPDotNetHandler::Namespace
    >=20
    > If there are umlauts in the result, I get the following error:


    If your server allows UTF-8, whichever of these should work.

    (1) pass -Ku argument to ruby interpreter such as 'ruby -Ku myclient.rb'
    (2) add $KCODE =3D 'UTF8' at the top of the script.
    (3) set XSD::Charset.encoding =3D 'UTF8'

    Regards,
    // NaHi
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.1 (Cygwin)

    iD8DBQFDh+Xbf6b33ts2dPkRAjuDAJ9vU8sb91++NrvrnMJqV1Cfw559TgCdE8CV
    XjuNy2qfliDHphu4tiAVyLw=3D
    =3DSCCj
    -----END PGP SIGNATURE-----
     
    NAKAMURA, Hiroshi, Nov 26, 2005
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. TOXiC
    Replies:
    5
    Views:
    1,329
    TOXiC
    Jan 31, 2007
  2. Bamako sur Seine
    Replies:
    12
    Views:
    762
    Mike Schilling
    Aug 18, 2007
  3. Alextophi
    Replies:
    8
    Views:
    584
    Alan J. Flavell
    Dec 30, 2005
  4. bruce
    Replies:
    38
    Views:
    324
    Mark Lawrence
    Nov 1, 2013
  5. MRAB
    Replies:
    0
    Views:
    116
Loading...

Share This Page