java 调用WebService【转】
1、客户单编程方式(和第一种方式一样)
//文件名:HelloService.java import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper; /**
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.1.6 in JDK 6
* Generated source version: 2.1
*
*/
@WebService(name = "HelloService", targetNamespace = "http://ws.itcast.cn/")
@XmlSeeAlso({ })
public interface HelloService { /**
*
* @param arg0
* @return
* returns java.lang.String
*/
@WebMethod
@WebResult(targetNamespace = "")
@RequestWrapper(localName = "sayHello", targetNamespace = "http://ws.itcast.cn/", className = "cn.itcast.ws.client.SayHello")
@ResponseWrapper(localName = "sayHelloResponse", targetNamespace = "http://ws.itcast.cn/", className = "cn.itcast.ws.client.SayHelloResponse")
public String sayHello(
@WebParam(name = "arg0", targetNamespace = "")
String arg0); }
import java.net.MalformedURLException;
import java.net.URL; import javax.xml.namespace.QName;
import javax.xml.ws.Service; import cn.itcast.ws.wsimport.HelloService; /**
* 通过客户端编程的方式调用Webservice服务
*
*/
public class App { public static void main(String[] args) throws Exception {
URL wsdlUrl = new URL("http://192.168.1.100:6789/hello?wsdl");
Service s = Service.create(wsdlUrl, new QName("http://ws.itcast.cn/","HelloServiceService"));
HelloService hs = s.getPort(new QName("http://ws.itcast.cn/","HelloServicePort"), HelloService.class);
String ret = hs.sayHello("zhangsan");
System.out.println(ret);
}
}
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=1
JAX-WS是指 java api for xml -WebService
//测试 WebService服务的 explorer
Web 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
java 调用WebService【转】的更多相关文章
- Java调用webservice接口方法
java调用webservice接口 webservice的 发布一般都是使用WSDL(web service descriptive langu ...
- java 调用webservice的各种方法总结
java 调用webservice的各种方法总结 几种流行的开源WebService框架Axis1,Axis2,Xfire,CXF,JWS比较 方法一:创建基于JAX-WS的webservice(包括 ...
- Axis2 webservice 之使用java调用webservice
在上一篇中写了一个简单了webservice,实现了一个sayHello功能.那么webservice写好之后我们如何使用Java程序来调用webservice呢? 一.java调用的webservi ...
- java调用webservice,restful
java调用webservice public String redoEsb(String loguid, String user, String comments, String newMsg, S ...
- 原生java调用webservice的方法,不用生成客户端代码
原生java调用webservice的方法,不用生成客户端代码 2015年10月29日 16:46:59 阅读数:1455 <span style="font-family: Aria ...
- Java调用Webservice(asmx)的几个例子
Java调用Webservice(asmx)的几个例子 2009-06-28 17:07 写了几个调用例子: 1. import org.apache.axis.client.*;import org ...
- Java调用WebService方法总结(9,end)--Http方式调用WebService
Http方式调用WebService,直接发送soap消息到服务端,然后自己解析服务端返回的结果,这种方式比较简单粗暴,也很好用:soap消息可以通过SoapUI来生成,也很方便.文中所使用到的软件版 ...
- Java调用WebService方法总结(8)--soap.jar调用WebService
Apache的soap.jar是一种历史很久远的WebService技术,大概是2001年左右的技术,所需soap.jar可以在http://archive.apache.org/dist/ws/so ...
- Java调用WebService方法总结(7)--CXF调用WebService
CXF = Celtix + XFire,继承了Celtix和XFire两大开源项目的精华,是一个开源的,全功能的,容易使用的WebService框架.文中所使用到的软件版本:Java 1.8.0_1 ...
- Java调用WebService方法总结(6)--XFire调用WebService
XFire是codeHaus组织提供的一个WebService开源框架,目前已被Apache的CXF所取代,已很少有人用了,这里简单记录下其调用WebService使用方法.官网现已不提供下载,可以到 ...
随机推荐
- visual studio项目多级引用不拷贝dll的问题
最近碰到一个visual studio项目多级引用不拷贝dll的问题,花了很久查了很多资料,特此记录 A项目引用B项目, B项目引用C项目,C项目引用ef及oracle.ef using Oracle ...
- ctfhub 报错注入
payload 1 Union select count(*),concat((查询语句),0x26,floor(rand(0)*2))x from information_schema.colu ...
- 从CSDN博客下载的图片如何无损去水印
如果你想下载别人CSDN博客文章中很好看的图片,但却有水印 想要下载去水印的图片,可以先鼠标右击该图片,选择复制图片地址 https://img-blog.csdnimg.cn/20200916140 ...
- 二分类问题 - 【老鱼学tensorflow2】
什么是二分类问题? 二分类问题就是最终的结果只有好或坏这样的一个输出. 比如,这是好的,那是坏的.这个就是二分类的问题. 我们以一个电影评论作为例子来进行.我们对某部电影评论的文字内容为好评和差评. ...
- Spring学习(十)Spring知识点汇总
一.基础概念 Q:Spring是什么? 定义:Spring是一个轻量级的IoC(控制反转)和AOP容器框架. 目的:用于简化企业应用程序的开发,使得开发者只需要关心业务需求. 常见的配置方式: 基于X ...
- 论文阅读 SNAPSHOT ENSEMBLES
引入 1. 随机梯度下降的特点 随机梯度下降法(Stochastic Gradient Descent)作为深度学习中主流使用的最优化方法, 有以下的优点: 躲避和逃离假的鞍点和局部极小点的能力 这篇 ...
- 交互平台 - Processing - 开发模板(仿Openframeworks)
之前在CSDN上发表过: https://blog.csdn.net/fddxsyf123/article/details/62425251
- 微服务电商项目发布重大更新,打造Spring Cloud最佳实践!
Spring Cloud实战电商项目mall-swarm地址:转发+关注 私信我获取地址 系统架构图 系统架构图 项目组织结构 mall├── mall-common-- 工具类及通用代码模块├─ ...
- 【Django】将多个querysets拼接,使用djangorestframework序列化
concern_set = models.Concern.objects.filter(user_id=1).values("concern_id") querysets = mo ...
- PHP代码审计02之filter_var()函数缺陷
前言 根据红日安全写的文章,学习PHP代码审计审计的第二节内容,题目均来自PHP SECURITY CALENDAR 2017,讲完这个题目,会有一道CTF题目来进行巩固,外加一个实例来深入分析,想了 ...