Webservices 之CXF 小例子

第一步:导入相关jar包

第二步:在接口中进行配置,类中可以不进行配置

package mycompany.webservice.server;

import java.util.List;

import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
public interface Greeting {
       public String greeting(String userName);
      
}
package mycompany.webservice.server;

import java.util.Calendar;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import javax.jws.WebService;


@WebService(endpointInterface = "mycompany.webservice.server.Greeting")
public class GreetingServiceImpl implements Greeting {

 public String greeting(String userName) {
  return "Hello " + userName + ", currentTime is "
    + Calendar.getInstance().getTime();
 }
}

第三步:新建spring。xml进行配置

这三个资源文件必须导入,否则会报错
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
 
<bean id="greetingServiceImpl" class="mycompany.webservice.server.GreetingServiceImpl"/>
<jaxws:endpoint id="greetingService"  implementor="#greetingServiceImpl" address="/Greeting" />
注:address可以写绝对路径也可以写相对路径

第四步:web.xml中位置

spring进行配置
<listener>
       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>


CXF进行配置 
<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>  
<!--==这个设置很重要,那么我们的webservice的地址就是http://localhost:8080/yourProgramName/webservice/Greeting===-->
        <url-pattern>/webservice/*</url-pattern> 
</servlet-mapping>

第五步:生成客户端代码

在E:\apache-cxf-2.7.7\bin新建bat文件,内容如下

wsdl2Java -p com.test .svn?wsdl



你可能感兴趣的:(Webservices 之CXF 小例子)