java 实现WebService 以及不同的调用方式
来源:互联网 发布:2017年淘宝搜索规则 编辑:程序博客网 时间:2024/05/15 10:27
**
java 实现WebService 以及不同的调用方式
**
webservice:
就是应用程序之间跨语言的调用
wwww.webxml.com.cn
1.xml
2. wsdl: webservice description language web服务描述语言
通过xml格式说明调用的地址方法如何调用,可以看错webservice的说明书
3.soap simple object access protoacl (简单对象访问协议) 限定了xml的格式 soap 在http(因为有请求体,所以必须是post请求)的基础上传输xml数据 请求和响应的xml 的格式如: <Envelop> <body> //.... </body> </Envelop> operation name:服务提供的方法静态方法不能发布为外部服务运用jkd自带的代码生成访问服务器的客户端代码 E:/wsimort -s . http://test.cm/?wsdl我们可以把webservice看做是web服务器上的一个应用,web服务器是webservice的一个容器函数的参数在 http://test.cm/?xsd=1JAX-WS是指 java api for xml -WebService//测试 WebService服务的 explorerWeb Service Explorer 可以显示返回的xml格式targetNamespace 默认为倒置的包名
客户端调用WebService的方式:
1.通过wximport生成代码
2.通过客户端编程方式
3.通过ajax调用方式
4.通过 URL Connection 方式调用
请求过程分析:
1.使用get方式获取wsdl文件,称为握手
2.使用post发出请求
3.服务器响应成功过
几种监听工具:
http watch
Web Service explorer
eclipse 自带工具 TCP/IP Monitor
服务端代码:
package com.webservcie;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
/**
* WebService
* 将 Java 类标记为实现 Web Service,或者将 Java 接口标记为定义 Web Service 接口
*/
@WebService(serviceName=”MyService”,targetNamespace=”http://www.baidu.com”)
public class HelloService {
@WebMethod(operationName="AliassayHello")@WebResult(name="myReturn")public String sayHello(@WebParam(name="name") String name){ return "hello: " + name;}public String sayGoodbye(String name){ return "goodbye: " + name;}@WebMethod(exclude=true)//当前方法不被发布出去public String sayHello2(String name){ return "hello " + name;}public static void main(String[] args) { /** * 参数1:服务的发布地址 * 参数2:服务的实现者 * Endpoint 会重新启动一个线程 */ Endpoint.publish("http://test.cm/", new HelloService()); System.out.println("Server ready...");}
}
1.客户端调用(wximport自动生成代码 【推荐】)
package com.wsclient;
public class App {
/** * 通过wsimport 解析wsdl生成客户端代码调用WebService服务 * * @param args * */public static void main(String[] args) { // TODO Auto-generated method stub /** * <service name="MyService"> * 获得服务名称 */ MyService mywebService = new MyService(); /** * <port name="HelloServicePort" binding="tns:HelloServicePortBinding"> */ HelloService hs = mywebService.getHelloServicePort(); /** * 调用方法 */ System.out.println(hs.sayGoodbye("sjk")); System.out.println(hs.aliassayHello("sjk"));}
}
2.通过ajax+js+xml调用
通过ajax调用WebService服务
- java 实现WebService 以及不同的调用方式
- java 实现WebService 以及不同的调用方式
- java 实现WebService 以及不同的调用方式
- java 实现WebService 以及不同的调用方式
- java 实现WebService 以及不同的调用方式
- java 实现WebService 以及不同的调用方式
- java 实现WebService 以及不同的调用方式
- java 实现WebService 以及不同的调用方式
- java 实现WebService 以及不同的调用方式
- java 实现WebService 以及不同的调用方式
- java 实现WebService 以及不同的调用方式
- java 实现WebService 以及不同的调用方式
- java 实现WebService 以及不同的调用方式
- java 实现WebService 以及不同的调用方式
- java 实现WebService 以及不同的调用方式
- java 实现WebService 以及不同的调用方式
- java 实现WebService 以及不同的调用方式
- java 实现WebService 以及不同的调用方式
- is not on any development teams in Xcode7.2 问题解决
- grass gis 的求buffer最基本内容
- jsonp的原理
- MongoDB指令实践
- Android studio NDK配置使用
- java 实现WebService 以及不同的调用方式
- uva10048
- iOS开发总结之UITableView表格数据的批量操作
- Unsupported major.minor version 52.0
- 如何判断当前应用程序是否在前台运行?
- C++ STL 基础及应用(1) STL历史、组成和使用方法
- OAuth2 授权分析
- SQL多表查询
- FZU1901 Period II