Java 如何指定返回jax-ws服务结果的语言?

Java 如何指定返回jax-ws服务结果的语言?,java,internationalization,jax-ws,Java,Internationalization,Jax Ws,我目前正在开发一个jax-ws-webservice,它被支持提供来自数据库的国际化搜索结果 我在互联网上查找了一个具体的代码示例,其中languageCode/languageId以标准方式与SOAP信封一起发送(以避免将languageId作为webservice方法的参数发送),但到目前为止还没有找到任何具体的代码示例 有谁能给我推荐一个解决这个问题的好方法吗 同时,我发现了一种通过HTTP请求头传输元数据(languageId、用户、密码)的方法 javax.xml.ws.handler

我目前正在开发一个jax-ws-webservice,它被支持提供来自数据库的国际化搜索结果

我在互联网上查找了一个具体的代码示例,其中languageCode/languageId以标准方式与SOAP信封一起发送(以避免将languageId作为webservice方法的参数发送),但到目前为止还没有找到任何具体的代码示例

有谁能给我推荐一个解决这个问题的好方法吗

同时,我发现了一种通过HTTP请求头传输元数据(languageId、用户、密码)的方法 javax.xml.ws.handler.MessageContext.HTTP_请求_头


有人看到使用这种传输方法(通过HTTP头,而不是SOAP信封)有明显的缺点吗?

这并不奇怪,但它有一个标准


但是我不确定它的可行性。

这并不奇怪,但它有一个标准


然而,我不确定它的可行性。

正如在另一个答案中所指出的,您可以使用标准

需要发送国际首选项的SOAP文档应该 在标题中包含i18n:国际元素信息项。 当从请求者发送到提供者时,头表示 请求者或其客户端应用程序的首选项。当发送到 来自提供程序的响应消息,标题表示设置 用于处理请求的服务

在本文中,检查如何在JAX-WS/Metro中添加SOAP头(它有指向特定步骤详细信息的链接)


希望这有帮助。

正如另一个答案中所述,您可以使用标准

需要发送国际首选项的SOAP文档应该 在标题中包含i18n:国际元素信息项。 当从请求者发送到提供者时,头表示 请求者或其客户端应用程序的首选项。当发送到 来自提供程序的响应消息,标题表示设置 用于处理请求的服务

在本文中,检查如何在JAX-WS/Metro中添加SOAP头(它有指向特定步骤详细信息的链接)


希望这有帮助。

如果你需要一个参数,那么为什么你不喜欢显式传递它?用户名、密码、语言ID——我认为它们是该方法的元信息。我想找到一种方法来避免它们在方法使用的参数范围内。您使用什么jax-ws框架/引擎?然后您需要会话。在这种情况下,Thorbj的RNRavnDANDSEN(通常也是如此),I18N与状态/会话无关。如果您需要一个参数,那么为什么您不喜欢显式地传递它?用户名、密码、语言ID——我认为它是该方法的元信息。我想找到一种方法来避免它们在方法使用的参数范围内。您使用什么jax-ws框架/引擎?然后您需要会话。您很可能不想在您的Web服务中使用状态。@ThorbjørnRavnAndersen在这种情况下(通常也是如此)i18n与状态/会话无关。您能给我指一个具体的jax ws示例代码吗?您能给我指一个具体的jax ws示例代码吗?