Announcement Announcement Module
No announcement yet.
Spring-ws Internationalization Support - <i18n:international> SOAP Header Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Spring-ws Internationalization Support - <i18n:international> SOAP Header

    I am working on a web service design that must be internationalized. I'm trying to figure out how best to put the client locale/timezone in messages.

    I searched the Spring Web Services 1.5.3 documentation and samples but only found Locale references around faults.

    For locale, beyond spring-ws, I see that some designs use URLs to indicate Locale. Amazon determines locale based on the domain name. Our service is limited to an intranet, so the domain-based solution doesn't make sense. Our service may eventually be exposed using JMS, so ideally a message-based flag is best.

    Does Spring Web Services support anything like the SOAP header

    <i18n:international ... S:actor="...">
    <i18n:locale> locale identifier </i18n:locale>
    <i18n:timezone> time zone value </i18n:timezone>

    described in the WS-I18N document?

    2008. World Wide Web Consortium. Web Services Internationalization (WS-I18N), W3C Working Draft 15 April 2008. Eds. Addison Phillips of Yahoo!, Inc, Mary Trumble (until September 2005) of IBM, and Felix Sasaki, of W3C. (The springframework forum system is not permitting me to post the URL of this document. Here is the segmented URL TR/ws-i18n.)


  • #2
    Yep, you can add soap headers. One mechanism is using the EndpointInterceptor which would be useful if you wanted to add an interceptor for all messages on an endpoint.

    Another way is to implement a MessageEndpoint which has access to the entire message, where as most of the endpoints juts have access to the payload (SOAP Body, and not headers).

    Maybe this is a topic for a future feature enhancement -- being able to register header handles or exposing headers to the API in some way.