WebService技术,服务端发布到Tomcat(使用Servl…
2019-03-10 11:53:11来源:博客园 阅读 ()
还是在WebService技术,服务端and客户端JDK-wsimport工具(一)的基础上实现。新建一个包:com.aixs2client。目录结构如下:
一、服务端:
1、还是使用com.webservice包里的WebServiceImp.java 文件,但是不使用本地发布,所以需要删除发布代码。
WebServiceImp.java:
package com.webservice; import javax.jws.WebMethod; import javax.jws.WebService; @WebService public class WebServiceImp { @WebMethod public String getInfo(String id){ String info=""; if (id.equals("1")) { info="张三"; }else if (id.equals("2")) { info="李四"; }else if(id.equals("3")){ info="王五"; }else if(id.equals("4")) { info="赵六"; }else { info="用户不存在"; } return info; } }
2、WEB-INF下新建一个xml文件,sun-jaxws.xml,内容如下:
endpoint 表示使用此配置文件里的参数发布
name:发布的名称,名字可以随意
implementation:发布的服务的实现类url-pattern:访问wsdl文档时的路径
1 <?xml version="1.0" encoding="UTF-8"?>
2 <endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" version="2.0">
3 <endpoint name="WebServiceDemo" implementation="com.webservice.WebServiceImp" url-pattern="/WebServiceDemo">
4 </endpoint>
5 </endpoints>
3、在WEB-INF下的web.xml中加入servlet配置.内容如下:
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <display-name></display-name> <servlet> <servlet-name>jaxws</servlet-name> <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jaxws</servlet-name> <url-pattern>/WebServiceDemo</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
load-on-startup:是否应该在web应用程序启动的时候就加载这个servlet,调用servlet中的init()方法,如果值为正整数或者0时,表示容器在应用启动时就加载并初始化这个servlet,值越小,servlet的优先级越高,就越先被加载。
url-pattern:请求的路径
4、配置完成后,将项目部署到Tomcat中,并在浏览器地址栏输入servlet请求的地址:http://127.0.0.1:8080/WebService/WebServiceDemo。
可以看到如下页面:
点击WSDL后面的url,看到wsdl文档:
此时服务端完成,服务已经随着Tomcat的启动和关闭,可以使用Soap UI进行测试。
二、客户端
1、在com.aixs2client包下新建ClientService.java
1 package com.aixs2client; 2 import org.apache.axiom.om.OMElement; 3 import org.apache.axis2.AxisFault; 4 import org.apache.axis2.addressing.EndpointReference; 5 import org.apache.axis2.client.Options; 6 import org.apache.axis2.rpc.client.RPCServiceClient; 7 8 import javax.xml.namespace.QName; 9 public class ClientService { 10 public static String getServiceInfo(String Id) throws Exception { 11 String result = null; 12 //名称空间 13 String nameSpace="http://webservice.com/"; 14 //服务的方法 15 String method="getInfo"; 16 //wsdl文档地址 17 String Url = "http://127.0.0.1:8080/WebService/WebServiceDemo?wsdl"; 18 QName qname = new QName(nameSpace,method); 19 Object[] param = new Object[] { Id }; 20 try { 21 //创建客户端实例 22 RPCServiceClient client = new RPCServiceClient(); 23 Options options = new Options(); 24 options.setTo(new EndpointReference(Url)); 25 options.setAction(nameSpace+method);//调用.net等webservice服务是务必加上 26 client.setOptions(options); 27 OMElement element = client.invokeBlocking(qname, param); 28 //获取服务端返回的结果 29 result = element.getFirstElement().getText(); 30 System.out.println(result); 31 } catch (AxisFault e) { 32 e.printStackTrace(); 33 } 34 return result; 35 } 36 public static void main(String[] args) { 37 try { 38 getServiceInfo("1"); 39 getServiceInfo("3"); 40 getServiceInfo("4"); 41 getServiceInfo("100"); 42 } catch (Exception e) { 43 e.printStackTrace(); 44 } 45 } 46 47 } 48 49
运行客户端代码,调用服务端方法,结果如下:
原文链接:https://www.cnblogs.com/hyblogs/p/10489451.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:支付宝首次揭秘红包技术
- jdk各个版本下载 2020-06-11
- 聊聊微服务架构及分布式事务解决方案! 2020-06-10
- java环境教程:Tomcat下载,安装,设置为Windows服务,启动 2020-06-09
- Spring Cloud微服务(一):公共模块的搭建 2020-06-07
- 我被炒鱿鱼了 2020-06-06
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash