Java CXF代码优先服务,WSDL生成;soap:地址更改?

Java CXF代码优先服务,WSDL生成;soap:地址更改?,java,soap,wsdl,cxf,code-first,Java,Soap,Wsdl,Cxf,Code First,我有一个通过CXF公开的简单Java接口/实现。我的Spring配置文件中有一个jaxws元素,如下所示: <jaxws:endpoint id="managementServiceJaxws" implementor="#managementService" address="/jaxws/ManagementService" > </jaxws:endpoint> 但是我看不出有什么方法可以确认这个布尔值是否设置为true,或者我如何实际更新

我有一个通过CXF公开的简单Java接口/实现。我的Spring配置文件中有一个jaxws元素,如下所示:

<jaxws:endpoint id="managementServiceJaxws"
            implementor="#managementService" address="/jaxws/ManagementService" >
</jaxws:endpoint>

但是我看不出有什么方法可以确认这个布尔值是否设置为true,或者我如何实际更新它

您能确认您正在使用的CXF版本吗?我在-2.3.1版本中没有看到这种缓存行为

服务的URL根据客户端用于请求的URL确定(基本上使用httpRequest.getRequestURL),除非为上面的端点标记提供了显式的publishedEndpointUrl属性

编辑:奇怪,听起来您的编辑2可能方向正确,至于设置“禁用地址更新”,请尝试在web.xml文件中以这种方式初始化CXFServlet,看看是否有帮助:

    <servlet>
    <servlet-name>CXFServlet</servlet-name>
    <servlet-class>
        org.apache.cxf.transport.servlet.CXFServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
    <init-param>
        <param-name>disable-address-updates</param-name>
        <param-value>false</param-value>
    </init-param>
</servlet>

CXF服务器
org.apache.cxf.transport.servlet.CXFServlet
1.
禁用地址更新
假的
Biju

你的回答似乎正确。然而,顺序似乎是错误的。
load-on-startup
标记应该出现在最后一行,否则它会在Eclipse中显示错误

<servlet>
    <servlet-name>CXFServlet</servlet-name>
    <servlet-class>
        org.apache.cxf.transport.servlet.CXFServlet
    </servlet-class>
    <init-param>
        <param-name>disable-address-updates</param-name>
        <param-value>false</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

CXF服务器
org.apache.cxf.transport.servlet.CXFServlet
禁用地址更新
假的
1.

2.2.10是我正在使用的版本。
    private synchronized void updateDests(HttpServletRequest request) {
    if (disableAddressUpdates) {
        return;
    } //snip
    <servlet>
    <servlet-name>CXFServlet</servlet-name>
    <servlet-class>
        org.apache.cxf.transport.servlet.CXFServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
    <init-param>
        <param-name>disable-address-updates</param-name>
        <param-value>false</param-value>
    </init-param>
</servlet>
<servlet>
    <servlet-name>CXFServlet</servlet-name>
    <servlet-class>
        org.apache.cxf.transport.servlet.CXFServlet
    </servlet-class>
    <init-param>
        <param-name>disable-address-updates</param-name>
        <param-value>false</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>