2010-05-31 136 views
0

我有不同的Spring Web服务,它们被 Endpoint Annotation包含在上下文中,因此尽管Annotation(没有接口等),仍然没有依赖关系。因此,不存在“上下文”信息。Spring Web服务:重定向Web服务请求

现在我想链接一个Web服务请求,即。调用一个Endpoint,它本身应该在同一台服务器上调用Web服务。我可以使用Spring的WebServiceTemplate,但是,对于此请求,我需要当前服务器url

有什么办法可以在应用程序启动时将这个url注入端点吗?由于端点不扩展某个类,因此无法在端点内的任何位置获取此信息,请求参数也没有这些信息(这些是简单的JAXB类,根据请求进行编组)。

回答

0

我相信最好的选择是发送URL作为请求的一部分。

这也使您能够动态地将URL更改为第三台服务器。

+0

这是真的,但是,我没有它。它由Spring内部处理,我不知道如何访问它。我的类(Endpoints)是用纯JAXB对象调用的。 – Ice09 2010-05-31 14:46:39

+0

Spring的'WebServiceTemplate'类有一个可以使用的'getDefaultUri()'方法。 – Espen 2010-05-31 15:20:42

+0

但它从哪里来? WebServiceTemplate必须在app-context中定义,并且必须在那里设置,不是吗?由于我在端点(链接...)中使用WebServiceTemplate,所以我不知道服务器的实际地址,前提是Spring不提供“自身”属性,可以在启动期间将其注入端点。 – Ice09 2010-05-31 16:04:18