最近在学习WebService,今天尝试用Eclipse的插件生成JAX-WS WebService,结果遇到了不少的问题啊,调试了大半天终于把程序跑通了。现在把步骤和问题记录一下,也为了以后遇到相同的问题时能够及时解决。首先利用Eclipse生成WebService的服务端。
1、 创建一个web工程,DynamicWeb Project (File->New->Dynamic Web Project),取名叫“ws-server”
1、 编写提供服务的接口和实现类
AddService.java,注意两点:(1)在接口定义之前加上@WebService标注,表明这是一个WebService服务,否则在生成服务端时不能找到相应的接口;(2)这里@WebService标注的targetNamespace一定要填写内容,不然在生成WebService服务端的时候会报如下的错误,这个命名空间起始就是包名的倒序。
IWAB0014E Unexpected exception occurred.
The name "" is not legal for JDOM/XML namespaces: Namespace URIs must be non-null and non-empty Strings.
org.jdom.IllegalNameException: The name "" is not legal for JDOM/XML namespaces: Namespace URIs must be non-null and non-empty Strings.
package ws.demo.service;
import javax.jws.WebService;
@WebService(targetNamespace="http://service.demo.ws/")
public interface AddService {
public int add(int a, int b);
}
AddServiceImpl.java,同样的定义这个实现类之前也要加上@WebService标注,并且指向它实现的接口。
package ws.demo.service.impl;
import javax.jws.WebService;
import ws.demo.service.AddService;
@WebService(endpointInterface = "ws.demo.service.AddService")
public class AddServiceImpl implements AddService {
@Override
public int add(int a, int b) {
return a + b;
}
}
写好提供服务的接口和实现类后的项目结构:
3、生成WebService服务(File->New->Other->Web Services->WebService),在Service imp