您的位置:首页 > 其它

webservice篇之简单开发(二)

2017-02-06 10:41 204 查看
发布webservice接口通常有两种方式,1是通过自分环境的jdk,再jdk的api里有对webservice的相关属性介绍,2是借助cxf框架发布webservice接口;

发布接口的流程大致分为为:服务端与客户端;

服务端:开发webservice的业务接口及实现,用(jvm )java虚拟机或服务器,如tomcat发布在服务器上,暴露出来

客户端:获取服务端的发布接口的url或wsdl文档(开发接口的相关描述,通过wsdl生成的相关接口及实现类,来调用服务端上的代码;

流程大致为,服务端发布webservice接口及实现类,通过wsdl暴露在服务端上,客户端通过获取服务端的wsdl得到的相关类而获取服务端的代理类,通过soap协议发送相关请求,调用服务端的相关代码(拦截器后面再说)

现在我说先怎么通过cxf来开发webservice(jdk了解下就行)

cxf有很多版本,我用的是3.16,有很多人都是用2.7版本的,大同小异而已,等下我会把3.16的cxf的jar包及代码会压缩下来,供下载,如果自己还行,可以根据我提供的代码,jar包进行编码!.

jar包下载地址:http://download.csdn.net/detail/rainjm/9743866

第一步,在你的开发工具里建立一个web工程;

第二步,导入cxf的jar包(略)

第三部,服务端创建接口并发布

接口代码:

package com.azj.service;

import javax.jws.WebService;

@WebService

public interface oderSel {
public String getName(String name);

}

接口实现代码:

package com.azj.service;

import javax.jws.WebService;

@WebService(endpointInterface="com.azj.service.oderSel",serviceName="orderSeiImpl")

public class orderSeiImpl implements oderSel {

@Override
public String getName(String name) {

return "你好:"+name;
}

}

发布:

package com.azj.service;

import javax.xml.ws.Endpoint;

public class Te {

public static void main(String[] args) {
Endpoint.publish("http://localhost:8080/fb", new orderSeiImpl());//访问地址自己可以随意谢,后面接接口实现类
System.out.println("发布成功!");

}

}

在游览器上输入访问http://localhost:8080/fb?wsdl 看是否生成xml文档。

第四步:客户端发送参数并接受数据:

 通过接受的xml文档用cmd生成相关类进行调用:

打开本电脑的cmd小窗口,进入该项目类的src路径下:

Microsoft Windows [版本 10.0.14393]

(c) 2016 Microsoft Corporation。保留所有权利。

C:\Users\qwe>f:

F:\>cd F:\eclipse_e
4000
exm\webservice-spring\src

F:\eclipse_eexm\webservice-spring\src>wsdl2java -p com.azj.client http://localhost:8080/fb?wsdl
F:\eclipse_eexm\webservice-spring\src>

其中wsdl2java生成类命令,-p生成的包  后接发布的wsdl文档访问路径

第五步:调用服务端数据:

package com.azj.client;

public class Te {

public static void main(String[] args) {
OrderSeiImpl od=new OrderSeiImpl();//这里是接口的实现类,对于发布xml文档里的

               

      //<wsdl:service name="orderSeiImpl">

      //<wsdl:port binding="tns:orderSeiImplSoapBinding" name="orderSeiImplPort">

     //<soap:address location="http://localhost:8080/fb"/>

    //</wsdl:port>

     // </wsdl:service>

   OderSel proxy = od.getOrderSeiImplPort();//这里是生成的代理类,对于服务端的接口

    String name = proxy.getName("azj");

    System.out.println(name);
}

}

简单发布与接收就完成啦!

看看xml里面内容的文档讲解,对于理解开发,调用有帮助!

地址:http://blog.csdn.net/liguocai2005/article/details/4402350
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息