WebService学习笔记

  当然这只是WebService的其中一种实现方式,还有用Xfire的

  也可以不用main方法发布,把它和Spring集成会更好一些

开发工具 Eclipse4.2
CXF2.7.5下载地址 http://cxf.apache.org/download.html

开始了:
1:服务端(一共是3个类,一个接口,一个实现类,一个WebService发布类)
----------------------------------------------------------
package com.service;

import javax.jws.WebService;

@WebService
public interface IHelloService {
  int add(int a,int b);
}
---------------------------------------------------------
package com.service;

import javax.jws.WebService;

@WebService
public class IHelloServiceImpl implements IHelloService {

   @Override
   public int add(int a, int b) {
       return a + b;
   }

}
---------------------------------------------------------
package com.service;

import javax.xml.ws.Endpoint;

public class SoapServer {

 public static void main(String[] args) {
   Endpoint.publish("http://本机ip:8080/helloService", new IHelloServiceImpl());
 }

}
----------------------------------------------------------
2:main方法运行第三个类
3:浏览器访问http://本机ip:8080/helloService?wsdl会看到一个xml文件(发布成功)
4:接下来是客户端调用了,需要CXF2.7.5解压就行
5:调用之前先用CXF的wsdl2java.bat工具(在%CXF_HOME%\bin目录下---为了使用方便也可以配置环境变量)生成客户端代码
6:进入%CXF_HOME%\bin目录下
7:wsdl2java -p com.test.service -d F:\ooo -all http://本机ip:8080/helloService?wsdl
8:在F:\ooo下会生成客户端代码,拷到项目中去

生成客户端的目录结构

9:再写一个类用main方法调用
--------------------------------------------------------------------------------
package com;

import com.test.service.IHelloServiceImplService;

public class DoAction {

   public static void main(String[] args) {
       IHelloServiceImplService isis = new IHelloServiceImplService();
       com.test.service.IHelloServiceImpl isi =  isis.getIHelloServiceImplPort();

       System.out.println(isi.add(1, 2));
   }

}
输了结果是3
----------------------------------------------------------------------------------

10:没了,整理网上的资源测试成功

你可能感兴趣的:(webservice,CXF)