Featured post
Charset encoding problem in webservices called from Biztalk -
i have problem occurring when biztalk calls soap web services. web services 1 specific system seems not include "charset" attribute in content-type response header. in cases missing, charset interpreted windows-1252 encoding instead of utf-8.
the response web servcie utf-8 encoded when "charset" attribute missing. question if it's somehow possible tell biztalk utf-8 should used default charset when no charset specified in http response headers service.
just specify further: if following header returned web service, biztalk interprets charset correctly:
content-type: text/xml; charset=utf-8
however when charset part missing, biztalk falls on windows-1252 encoding , international characters garbled:
content-type: text/xml
i know simplest solution fix web service return utf-8 charset attribute, sadly have no control on services , vendor not release fix anytime soon.
another fix have attempted use rewriting in iis rewrite response header. works fine unless when services returns large amount of data. in case iis used chunked encoding, , rewrite engine seems double chunk-encode output web service, rendering resulting output broken.
the solution had working far use apache web server proxy, , rewrite header apache. works, since introduces overhead , quite hackish rather prefer fix problem @ existing end-point. biztalk end 1 have access make changes on.
i hope can me on this.
an easy solution use encoding transcoder custom pipeline component in receive pipeline. is, imho, better hosting separate proxy in third-party server. right, solving problem @ root better if can have hand on external web service.
such composent can found there: http://maximelabelle.wordpress.com/category/pipeline-components/
- Get link
- X
- Other Apps
Comments
Post a Comment