cxf Web服务不会更新

时间:2012-07-11 09:43:24

标签: java web-services spring deployment cxf

我构建了一个像这样的CXF Web服务 -

接口:

package de.arvato.icssa.services;

import javax.jws.WebService;

@WebService
public interface TestService {
    String sayHi(String text);
    boolean startProcess(String mail, String processName, String locale);
}

实现:

package de.arvato.icssa.endpoints;

import javax.jws.WebService;
import java.util.*;

import de.arvato.icssa.util.*;


import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;

import de.arvato.icssa.db.HibernateUtil;
import de.arvato.icssa.db.worker.TaskWorker;
import de.arvato.icssa.services.TestService;

@WebService(endpointInterface="de.arvato.icssa.services.TestService")
public class TestServiceImpl implements TestService{

private Log log = LogFactory.getLog(this.getClass());
@Override
public String sayHi(String text)
{
    System.out.println("sayHi called");
    return "Hello " + text;
}

public boolean startProcess(String mail, String processName, String locale)
{ 
         <<<<<CODE>>>>>>
}
}

cxf.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
    xsi:schemaLocation="
http://www.springframework.org/schema/beans    http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">

<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

<jaxws:endpoint id="testService"
    implementor="de.arvato.icssa.endpoints.TestServiceImpl" address="/TestService" />

</beans>

web.xml的重要部分:

 <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>WEB-INF/cxf.xml</param-value>
</context-param>

<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/TestService</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/TestService/*</url-pattern>
</servlet-mapping>

这通常很好。我的方法&#34; startProcess&#34;曾经有2个参数(省略&#34;语言环境&#34;) - 我最近添加了它,重新启动了我已经集成到&#34;服务器&#34;中的Tomcat 6.0 Web服务器。 Eclipse插件 - 但是在添加第三个参数之前,该方法仍然只接受2个参数并运行我在该方法中使用的旧代码。

修改

如果我实现了另一个方法,它在重新启动服务器后也没有更新,看起来好像什么都没有改变。我的Web服务仍以原始形式更新。

关于如何做一个&#34;硬&#34;的任何想法重新部署该Web服务?

谢谢!

1 个答案:

答案 0 :(得分:0)

在服务器选项卡中,右键单击服务器,然后单击“重新发布”。如果这没有帮助,请右键单击并选择“添加/删除项目”并删除项目,然后再次右键单击“添加/删除项目”并再次添加。

如果这也没有帮助,您可以右键单击该项目并选择export-&gt; War文件。将其导出到您想要的任何位置。

转到TOMCAT_HOME / webapps,删除项目(如果有)并复制新的war文件。

如果有帮助,请告诉我。