1.web.xml配置:
<!-- websertice start -->
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/webservice/*</url-pattern>
</servlet-mapping>
<!-- websertice end -->
2.spring application.xml配置:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<!-- webservice config -->
<bean id="resourceHealth" class="xxx.xxx.xx.ResourceHealth"></bean>
<jaxws:endpoint id="resourceHealthService" implementor="#resourceHealth" address="/resourceHealth" />
3.接口类:
import javax.jws.WebService;
@WebService
public interface IResourceHealth {
public String queryHealthInfo(String flowId);
}
import javax.jws.WebService;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
@WebService
public class ResourceHealth implements IResourceHealth{
public String queryHealthInfo(String flowId){
JSONObject jo = new JSONObject();
//业务数据处理...
return jo.toString(1);
}
}
5.tomcat启动后,页面访问验证:
http://[ipaddr]:[port]/monitor/webservice/resourceHealth?wsdl
6.代码测试:
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.junit.Test;
import com.econg.web.webservice.IResourceHealth;
public class TestResourceHealth {
@Test
public void testWebService() {
//调用WebService
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(IResourceHealth.class);
factory.setAddress("http://[ipaddr]:[port]/monitor/webservice/resourceHealth?wsdl");
IResourceHealth service = (IResourceHealth) factory.create();
System.out.println(service.queryHealthInfo("20150702092801"));
}
}