webservice心得

jdk自带的jax-ws(java api xml webservice)发布webservice,jdk1.6版本有问题,如果要实现发布,导入cxf的jar包。

webservice发布的3个步骤

1、写接口

2、实现这个接口

3、发布服务

两个类具有相同的 XML 类型名称 "{http://liyang.yinhai.com/}addResponse"。请使用 @XmlType.name 和
@XmlType.namespace 为类分配不同的名称。

当报出这个错误的时候是由于你根据wsdl2java或者wsimport产生的本地文件包路径不统一,所以排除这个错误就直接将包括包再内一起复制进来。

wsimport的一些命令-p用来指定包。从上面的那错就知道这个命令的重要性了。要不然换包就不容易了

                            -keep 生产java文件,否则只有class文件。

                            -verbose 生成详细信息。

                           -d 指定文件保存路径

第一种调用:

 import java.net.URL;
 import javax.xml.namespace.QName;
 import javax.xml.ws.Service;

URL url=new URL("http://127.0.0.1:8888/ns?wsdl");
QName qname=new QName("http://liyang.yinhai.com/", "IMyserviceImplService");
Service service=Service.create(url,qname);
IMyservice ms=service.getPort(IMyservice.class);//这个是依赖了本地产生代码的接口。

这几个的调用完全依赖jdk就可以了,不需要cxf的jar包。

第二种调用:

    @Test
    public void testImpl() throws MalformedURLException {
        IMyserviceImplService ms=new IMyserviceImplService();//这个是依赖了本地产生代码的一个类,
        System.out.println("识别wsimport"+ms.getIMyserviceImplPort().add(1, 2));//这个类的一个方法getIMyserviceImplPort返回类型调用
}
1.这里只记录一些学习笔记 2.这里只记录一些学习心得,如果心得方向有错,请留言 2.这里只记录一些日记(只为提升英语,暂时有点忙,等转行了开始写)
原文地址:https://www.cnblogs.com/liyang31tg/p/3530118.html