Axis1.4容器WebService服务发布过程
由JAVA代码生成Axis1.4容器WebService服务!
[size=x-large][color=darkred]通过WTP正常发布WebService服务[/color][/size]
[*]下载Axis1.4,并验证环境!
[*]IDE使用eclipse,并且集成WTP工具!
[*]创建Web工程;
[img]http://watching2008.iteye.com/upload/attachment/113411/58b2220d-a412-3eda-b227-59d5d31bc3e0.jpg[/img]
[*]新建java类ToLowerCase,[b]建议加个包名,否则后面自动生成的wsdd要手工修改[/b]:
package test;public class ToLowerCase { public String getLowerCase(String str) { return str.toLowerCase(); }}
[*]WEB工程导入Axis1.4容器依赖包:axis.jar、jaxrpc.jar、saaj.jar、wsdl4j-1.5.1.jar;
[*]通过WTP工具生成WSDL(类型声明"wsdl:types"、消息"wsdl:message"(依赖类型声明)、服务端口声明"wsdl:portType"(包含操作,操作依赖消息)、绑定(服务端口实现)、服务发布)!
[img]http://watching2008.iteye.com/upload/attachment/113415/74b2119f-0857-3a85-906a-b51fc174baf3.jpg[/img]
服务发布成功后:
[img]http://watching2008.iteye.com/upload/attachment/113438/444db501-7db0-3b6c-b220-0ecdac6e076f.jpg[/img]
[size=x-large][color=darkred]通过WTP正常发布WebService服务失败,或者需要生产客户端代码和服务端代码,请继续![/color][/size]
发布服务过程中如果出错,那就不用管它,主要关注生成的wsdl文件,一步一步继续我们的服务发布。
[img]http://watching2008.iteye.com/upload/attachment/113417/d7dba981-ecb4-34d1-ad71-dbb8a1d665b7.jpg[/img]
[*]修改wsdl服务地址,例如:http://localhost:8088/AxisTest/services/ToLowerCase;
[*]在WebContent下创建build.xml,注意设置为上步定义的服务地址;
例如:
<project name="SimpleService"> <property name="axis.home" value="H:/OpenSource/Apache Axis/axis-1_4" /> <property name="server_gen" value="../server_code" /> <property name="client_gen" value="../client_code" /> <path id="axis.classpath"> <fileset dir="${axis.home}/lib"> <include name="**/*.jar" /> </fileset> </path> <taskdef resource="axis-tasks.properties" classpathref="axis.classpath" /> <target name="generate-service-stub"> <axis-wsdl2java serverside="true" url="./wsdl/ToLowerCase.wsdl" output="${server_gen}"> </axis-wsdl2java> </target> <target name="generate-client-stub"> <axis-wsdl2java url="./wsdl/ToLowerCase.wsdl" output="${client_gen}"> <mapping namespace="http://DefaultNamespace" package="" /> </axis-wsdl2java> </target> <target name="deploy"> <axis-admin url="http://localhost:8088/AxisTest/services/ToLowerCase" xmlfile="./WEB-INF/ToLowerCaseService/DefaultNamespace/deploy.wsdd" /> </target>
</project>
根据以上信息,需要设置axis1.4的home;在web工程下增加server_code目录和client_code目录!
[*]生成服务端代码;
执行build.xml,如图:
[img]http://watching2008.iteye.com/upload/attachment/113429/f371212c-8f8a-3fce-b2da-792fd1baa194.jpg[/img]
选择先生成服务端代码,如图:
[img]http://watching2008.iteye.com/upload/attachment/113430/efd353ac-a30a-34f6-903e-3e1104a31b1b.jpg[/img]
[*]同理生成客户端代码;
[*]将生成服务端代码中(server_code目录下)的deploy.wsdd拷贝到build.xml指定的位置"./WEB-INF/ToLowerCaseService/DefaultNamespace/deploy.wsdd"。
[b]注意:最初新建的ToLowerCase类,如果没有包名,需要手工修改服务端代码(server_code目录下)中的wsdd,<parameter name="className" value="DefaultNamespace.ToLowerCaseSoapBindingImpl"/>,value值"ToLowerCase";否则发起服务后无法识别DefaultNamespace![/b]
[*]启动tomcat,发布应用;
[*]再次执行build.xml发布服务,生成server-config.wsdd(此文件一般在运行时tomcat文件夹中,因为tomcat集成到eclipse时一般会单独有个临时目录),拷贝到WEB-INF下,重启tomcat即可;
小结,理解由java代码生成ws服务,axis1.4容器自动化过程:
第一步:创建出ToLowerCase.wsdl,对所要发布服务类进行描述(此过程选择服务描述 样式和编码格式);
第二步:创建deploy.wsdd、undeploy.wsdd,描述所部署的服务(此过程可以创建服务端代码stub)!
第三步:发布服务,创建运行时server-config.wsdd,以后web服务所最终依赖!(服务发布后也可以手工创建客户端代码stub)
Axis1.4容器WebService服务发布过程相关推荐
- Java实现的简单的WebService服务发布和Client调用例子
做大作业,要求用到WS,在网上看了看,自己写了一个,很简单的服务发布和Client调用例子. WebService有很多实现的方式,但是原理基本都是一样的,都是基于SOA的三角模型,所以重点在于理解了 ...
- SOFA 源码分析 —— 服务发布过程
前言 SOFA 包含了 RPC 框架,底层通信框架是 bolt ,基于 Netty 4,今天将通过 SOFA-RPC 源码中的例子,看看他是如何发布一个服务的. 示例代码 下面的代码在 com.ali ...
- WebService服务发布与使用(JDK自带WebService)
简单粗暴,直接上步骤 一.先建立一个web项目,名字叫MyService 名字为MyService 新建Java类 package com.webService; import javax.jws.W ...
- 使用CXF发布WebService服务简单实例
一.说明: 前面介绍了使用axis2来发布Webservice服务,现在介绍一种更popular,更高效的Webservice服务发布技术:CXF Apache CXF = Celtix + XFir ...
- 基于jws发布webservice服务
基于jws发布webservice服务 用途 用于验证基于jws搭建的webservice服务端与客户端. WebService服务端 1.目录结构 D:. │ pom.xml # maven配置 │ ...
- 使用Axis2创建一个简单的WebService服务
使用过Java进行过WebService开发都会听过或者接触过Apache Axis2,Axis2框架是应用最广泛的WebService框架之一了. 这里使用Axis2来开发和部署一个最简单的WebS ...
- dubbo源码分析二:服务发布
本文将深入分析dubbo的服务发布涉及到的流程及主要类的代码.首先,我们先从类的关系图来看一下dubbo发布服务涉及到的相关类. 1.类图 上图展示了部分服务发布过程中需要使用到的类和接口,其中: s ...
- Springboot 基于CXF构建WebService服务
前言 最近因为系统需要接入了一个新的支付通道,一般来说都是使用RestApi 来接入,但是本次接入的支付通道为境外支付,使用的WebService,对于WS我们在实际业务中基本上不会用到,所以查阅了一 ...
- prometheus 配置服务器监控、服务监控、容器中服务监控与告警
最近公司有几个服务遇到了瓶颈,也就是数据量增加了,没有人发现,这不是缺少一个监控服务和告警的系统吗? 主要需求是监控每个服务,顺带监控一下服务器和一些中间件,这里采集的2种,zabbix和promet ...
- Dubbo服务端服务发布(一)Invoker创建
在Dubbo的服务发布过程中,Invoker的构造是一个重要的步骤,Invoker代表的是一个可以调用的服务的接口.它的定义如下: public interface Invoker<T> ...
最新文章
- MongoDB Driver:使用正确的姿势连接复制集
- controller方法要trycatch吗_拜托,别再满屏try catch了,试试统一异常处理吧
- c#位数不够0补充完_Java与C#比较,哪个语言更是适合你?
- atitit. js 跨界面 页面 web cs 传值方法总结
- POJ 3415 Common Substrings (后缀数组,长度不小于k的公共子串的个数)
- 磁力链转bt种子 python_实战Python实现BT种子转化为磁力链接
- distpicker省市区插件设置请选择省市区提示/或设置初始值问题
- 基于ABAQUS蠕变储层稠油蒸汽吞吐开发过程数值模拟
- iOS日常开发之frame和bounds的不同
- 使用hBuilder打包成app扫一扫
- C语言的数据表现形式及其运算
- 阿里云盘和 Teambition 网盘
- 解压缩软件RAR Extractor Mac
- 【GNN】GN:更通用的 GNN 架构
- 2018-2021,60+篇阿里研发效能提升合集,都在这里了
- 论文:麦克风阵列增强
- HTML外边框塌陷什么意思,你不知道的CSS(边框塌陷)?
- mongodb基础操作之聚合操作、索引优化
- 阿里巴巴淘系技术:超详|2020年你不应该错过的CSS新特性
- 软考高级 真题 2009年下半年 信息系统项目管理师 案例分析