当然这只是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:没了,整理网上的资源测试成功