发布WebService 1.1
webservice1.1是基于jdk发布的
package cn.itcast.service01; import javax.jws.WebService;
import javax.xml.ws.Endpoint; @WebService
public class HelloService { public String sayHello(String name)
{
System.out.println("say hello called");
return "hello " +name;
}
//main方法不能发布的, 发布的方法不能是静态 的
public static void main(String[] args)
{
//启动一个新线程 地址 内容
Endpoint.publish("http://192.168.151.42:5678/hello", new HelloService());
System.out.println("herer ");
}
}
测试:
一、用户访问http://192.168.151.42:5678/hello?wsdl 然后
cmd下输入 wsimport -s . http://192.168.151.42:5678/hello?wsdl
然后把代码下下来 去掉其中的*.class
复制代码到项目测试
在http://192.168.151.42:5678/hello?wsdl中采用从底向上的模式看
package cn.itcast.testService; import cn.itcast.service01.HelloService;
import cn.itcast.service01.HelloServiceService; public class AppTest { public static void main(String[] args)
{
/**
* wsdl 地址 service name="HelloServiceService"
*/
HelloServiceService service=new HelloServiceService(); HelloService soap=service.getHelloServicePort();
String str=soap.sayHello("this is sss ");
System.out.println(str);
}
}
这样 就能实现 在客户端访问 服务端的WebService
还有一种客户端写法实现访问服务端, 这种方法其实和第一种本质是一样的,第一种方法采用继承接口的形式,客户端拷贝多个文件。
第二种方法客户端单单拷贝接口,因为继承这个接口的构造方法是protected,所以可以用第二种方法,代理对象
二 利用生成的接口 和jdk提供的 Service 等类 实现访问 这种方法比较折中,拷贝一个文件又能用
服务器端添加方法
public String sayHello2(String name,int n)
{
System.out.println("say hello called --------------------"+n);
return "hello " +name;
}
然后 wsimport -s -p cn.itcast.hello http://192.168.151.42:5678/hello?wsdl
然后单单拷贝生成的接口 HelloService
然后以下代码
package cn.itcast.testService; import java.net.MalformedURLException;
import java.net.URL; import javax.xml.namespace.QName;
import javax.xml.ws.Service; import cn.itcast.hello.HelloService; public class AppTest2 { public static void main(String[] args) throws MalformedURLException
{ //命名空间 service
Service s = Service.create(new URL("http://192.168.151.42:5678/hello?wsdl"), new QName("http://service01.itcast.cn/", "HelloServiceService"));
//命名空间 服务绑定的port
HelloService hs = s.getPort(new QName("http://service01.itcast.cn/","HelloServicePort"), HelloService.class); String str = hs.sayHello2("lisi",10);
System.out.println(str);
System.out.println(hs.getClass().getSimpleName());
}
}
就可以访问了 服务端了
发布WebService 1.1的更多相关文章
- 使用CXF发布WebService
这里普及一下WebService和cxf的知识.关于webservice和cxf: WebService.各种提供服务的组件 .企业总线.通讯总线(ESB)CXF:是一个SOA框架,Axi ...
- CXF发布webService服务以及客户端调用
这篇随笔内容是CXF发布webService服务以及客户端调用的方法 CXF是什么? 开发工作之前需要下载CXF和安装 下载地址:http://cxf.apache.org 安装过程: <1&g ...
- Web环境使用相对路径发布Webservice
常我们的Webservice服务的发布地址都将是一个相对路径,在与Spring一起使用时我们需要引入Cxf配置Webservice的schema,如jaxws,用以定义对应的Webservice. & ...
- VS2015发布Webservice
第一步:开启IIs:在控制面板程序——>程序功能——>打开或关闭windows功能,把“Internet信息服务”下面的“FTP服务器”.“Web管理工具”.“万维网服务”全部勾上,然后点 ...
- Spring整合CXF之发布WebService服务
今天我们来讲下如何用Spring来整合CXF,来发布WebService服务: 给下官方文档地址:http://cxf.apache.org/docs/writing-a-service-with-s ...
- 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService
WebService历来都很受重视,特别是Java阵营,WebService框架和技术层出不穷.知名的XFile(新的如CXF).Axis1.Axis2等. 而Sun公司也不甘落后,从早期的JAX-R ...
- CXF整合Spring发布WebService实例
一.说明: 上一篇简单介绍了CXF以及如何使用CXF来发布一个简单的WebService服务,并且介绍了客户端的调用. 这一篇介绍如何使用CXF与spring在Web项目中来发布WebService服 ...
- 使用CXF发布WebService服务简单实例
一.说明: 前面介绍了使用axis2来发布Webservice服务,现在介绍一种更popular,更高效的Webservice服务发布技术:CXF Apache CXF = Celtix + XFir ...
- JAX-WS(JWS)发布WebService
WebService历来都很受重视,特别是Java阵营,WebService框架和技术层出不穷.知名的XFile(新的如CXF).Axis1.Axis2等. 而Sun公司也不甘落后,从早期的JAX-R ...
- spring与axis2整合发布webservice
最近在研究整合spring框架和axis2发布webservice服务,由于本人也才学java不久,为了便于以后的查看,在这里记录下发布过程. 所需的工具包,spring.jar和axis2链接地址为 ...
随机推荐
- Redis 3.0 Windows 安装步骤
Redis 3.0 Windows 安装步骤 ----来自 https://www.aliyun.com/jiaocheng/872572.html 发布时间:2018-04-10 来源:网络 上传者 ...
- iOS 本地消息推送机制
转发自:https://www.jianshu.com/p/e347f999ed95 //已经废除的 http://blog.csdn.net/three_zhang/article/deta ...
- 使用本地的Nuget Repository加速Nuget访问速度
Nuget是一个在VisualStudio下的非常好用的包管理器,然而由于众所周知的原因,其访问速度非常令人抓狂,甚至抽风.在没有VPN的环境下,如何解决这一问题呢?常见的解决方案是自己搭建一个Nug ...
- Current-sense monitor and MOSFET boost output current
A previous Design Idea describes a programmable current source that used a three-terminal National S ...
- 在w7下的wamp中配置memcache
php版本是5.4.16 ,我的电脑是w7 64位的. 一. memcache和memcached的区别 在自己的新程序中打算全面应用memcached技术,这个很容易理解这是memcached是内 ...
- The maximum number of processes for the user account running is currently , which can cause performance issues. We recommend increasing this to at least 4096.
[root@localhost ~]# vi /etc/security/limits.conf # /etc/security/limits.conf # #Each line describes ...
- Eclipse中在android项目中出现新建一个Activity后,出现整个project的报错以及包导入以后无法执行等等情况分析。
今天用Eclipse去写android项目,然后后面须要建一个Blank Activity后,非常正常的建立的.然后那个Activity是基于ActionBarAtivity,要导入v7,结果由于这 ...
- DRP经验总结
思想 指导 从开始看DRP项目到完成已经有三个月左右的时间了,这是一个足够长的视频,当看第一集的时候就再想,啥时候看完呢? 其间,也断断续续,有时看的效率高有时相反,有时几天看不了几集,好在总算看完了 ...
- IE6BUG汇总篇(不断更新)
1.IE6双倍边距bug 当页面内有多个连续浮动时,如本页的图标列表是采用左浮动,此时设置li的左侧margin值时,在最左侧呈现双倍情况.如外边距设置为10px, 而左侧则呈现出20px,解决它的方 ...
- 【Web】Rest && 权限管理 && LDAP && OAuth && Nginx && Lua 等
最好的8个 Java RESTful 框架:http://www.importnew.com/17138.html 如何设计RESTful的API权限:https://segmentfault.com ...