使用cxf开发webservice的注意事项

一、自定义webservice类的服务端要在类上注解@WebService

        如果没有带上@WebService,发布出来的wsdl文件是不完整的格式,客户端通过命令行生成的代码会缺少很多东西(比如关于方法的类)

@WebService
public class HelloWS {

	public String sayHello(String name) {
		System.out.println("执行了服务端");
		return "Hello, " + name;
	}

}

二、发布时使用了错的工厂类对象

JaxWsServiceFactoryBean 不是这个类,而是JaxWsServerFactoryBean


三、cxf命令配置问题

wsdl2java命令配置到PATH,但是还是执行不了。

原因:cxf的(包括wsdl2java)命令的运行依赖JDK环境,所以默认查找JAVA_HOME环境寻找JDK
解决方法:配置多一个JAVA_HOME环境变量,但是JAVA_HOME必须配置对!
JAVA_HOME= C:\ProgramFiles\Java\jdk1.7.0_79
  J AVA_HOME=C:\Program Files\Java\jdk1.7.0_79\bin 这种错误的     

四、建立项目的问题

独立使用CXF的项目,只能运行在java项目上的。
如果运行在tomcat服务器上面,不能使用独立的CXF的jar包

解决方法:spring最小包+下列cxf包




五、利用wsdl2java命令生成客户端代码

wsdl2java命令的参数:
-d 生成的代码所在目录,不指定则为当前目录(一般直接在项目的src路径下,然后打开命令行窗口)
-p 生成的代码所在包

-h 查看帮助

例如:wsdl2java -p 包路径 http://localhost:9080/cxf/hello?wsdl




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值