Axis1.4之即时发布服务

下载axis1.4开发包,解压开发包,将webapps目录下的axis文件夹拷贝到tomcat的webapps目录下。启动tomcat,在浏览器输入http://localhost:8080/axis得到如下页面:

实用axis的发布服务平台,创建和发布WebService服务有两种方式:即时发布和定制发布。即时发布服务很少用,但是为了知识体系的完整性,这里还是讲一下。本篇文章只讲即时发布服务。

写一个没有包的Java类HelloWS.java:

public class HelloWS{  

    public String test(String a ,String b){  

        String result = "a="+a+",b="+b;
        return "server response ok ,u send "+result;
    }
}

然后将此文件拷贝到tomcat_home\webapps\axis目录下,并将文件后缀改为jws。在浏览器输入http://localhost:8080/axis/HelloWS.jws得到如下页面:

点击链接,浏览器展现一个wsdl文档:

 1 <wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8080/axis/HelloWS.jws" xmlns:intf="http://localhost:8080/axis/HelloWS.jws" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://localhost:8080/axis/HelloWS.jws">
 2 <!--
 3 WSDL created by Apache Axis version: 1.4
 4 Built on Apr 22, 2006 (06:55:48 PDT)
 5 -->
 6 <wsdl:message name="testResponse">
 7 <wsdl:part name="testReturn" type="xsd:string"/>
 8 </wsdl:message>
 9 <wsdl:message name="testRequest">
10 <wsdl:part name="a" type="xsd:string"/>
11 <wsdl:part name="b" type="xsd:string"/>
12 </wsdl:message>
13 <wsdl:portType name="HelloWS">
14 <wsdl:operation name="test" parameterOrder="a b">
15 <wsdl:input message="impl:testRequest" name="testRequest"/>
16 <wsdl:output message="impl:testResponse" name="testResponse"/>
17 </wsdl:operation>
18 </wsdl:portType>
19 <wsdl:binding name="HelloWSSoapBinding" type="impl:HelloWS">
20 <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
21 <wsdl:operation name="test">
22 <wsdlsoap:operation soapAction=""/>
23 <wsdl:input name="testRequest">
24 <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded"/>
25 </wsdl:input>
26 <wsdl:output name="testResponse">
27 <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/HelloWS.jws" use="encoded"/>
28 </wsdl:output>
29 </wsdl:operation>
30 </wsdl:binding>
31 <wsdl:service name="HelloWSService">
32 <wsdl:port binding="impl:HelloWSSoapBinding" name="HelloWS">
33 <wsdlsoap:address location="http://localhost:8080/axis/HelloWS.jws"/>
34 </wsdl:port>
35 </wsdl:service>
36 </wsdl:definitions>

这就已经发布了服务。下面我们测试一下:我们新建一个Java工程,导入axis1.4开发包下的所有jar,然后写一个测试类Client:

 1 package com.client;
 2
 3 import java.rmi.RemoteException;
 4
 5 import javax.xml.namespace.QName;
 6 import javax.xml.rpc.ServiceException;
 7
 8 import org.apache.axis.client.Call;
 9 import org.apache.axis.client.Service;
10
11 public class Client {
12
13     public static void main(String[] args) throws ServiceException, RemoteException {
14
15         String url = "http://localhost:8080/axis/HelloWS.jws";
16         Service service = new Service();
17         Call call = (Call) service.createCall();
18         call.setTargetEndpointAddress(url);
19         call.setOperationName(new QName(url,"test"));
20         String result = (String) call.invoke(new Object[]{"Tomcat","Jetty"});
21         System.out.println(result);
22     }
23
24 }  

运行,控制台输出:

这就是即时发布。即时发布在实际应用中几乎不用。下篇文章我们讨论如何利用Apache提供的axis服务平台发布定制服务。

  

时间: 2024-11-05 13:28:44

Axis1.4之即时发布服务的相关文章

Axis1.4之定制发布服务

将axis1.4_home\webapps目录下的axis文件夹拷贝到tomcat_home\webapps目录下.然后在tomcat_home\webapps\axis\WEB-INF\lib下添加activation-1.1.1.jar和mail-1.4.jar.接着我们写一个带包结构的Java类HelloWSDD.java: 1 package com.grubby.webservice; 2 3 public class HelloWSDD 4 { 5 public String get

Webservice学习之——即时发布与定制发布

一.工具 myEclipse tomcat  6.0 以上版本 axis-bin-1_4.zip 二.即时发布 1.解压 axis-bin-1_4.zip 2.axis-bin-1_4.zip\axis-1_4\webapps\axis     把axis发布到tomcat服务器下,及拷贝到webapps目录下 axis 为列子项目 3.启动tomcat,访问如下即发布sucess List 就是发布的接口位置. 5.编写java 代码,,提供方法.如下 把HelloWs.java 文件,.ja

ArcGIS Server发布服务,打包成功,发布失败

打包成功,发布失败 部分解决方案: ①   查看Server对于源数据所在文件夹是否有读写权限,若无赋予Server账户至少读写权限.读写权限的赋予:对应存放数据的文件夹上右键→属性→ 安全 赋予arcgis server account(如果安装时没有改名字, 默认名字为arcgis)读写权限,如果列表中没有该账户,点 编辑→ 添加→ 输入对象名称→ 检查名称 ②   在arcmap里新建一个空白的mxd,添加一个本地的数据,如存放在本地的shapefile或file gdb里的要素类,然后发

WIN 10 IIS 服务或万维网发布服务,或者依赖这两种服务的某个服务未能启动。该服务或所依赖的服务可能在启动期间发生错误或者已禁用。

环境:win10 企业版 今天重启iis的时候报出了下面的错误: 即:IIS 服务或万维网发布服务,或者依赖这两种服务的某个服务未能启动.该服务或所依赖的服务可能在启动期间发生错误或者已禁用.在网络上搜索解决方案,比如: 即:点击打开链接 这三个服务我也禁止了: 上面的方案我在win7下操作成功了(之前win7下也遇到过这个问题),但在win 10下没有效果. 于是查看系统日志: 具体信息如下:日志名称:          System来源:            Service Control

使用thrift实现订阅服务和发布服务

使用thrift实现订阅服务和发布服务 服务:订阅服务 market_subscriber 和 发布服务 market_publisher功能:market_subscriber 能够向 market_publisher 请求订阅某些类型的消息,当 market_publisher 有该类型的消息时,需要把它推送给订阅服务.流程:1. market_publisher 服务启动,监听端口,注册事件处理函数,处理订阅请求消息.         2. market_subscriber 服务启动,监

.net平台 基于 XMPP协议的即时消息服务端简单实现

.net平台 基于 XMPP协议的即时消息服务端简单实现 昨天抽空学习了一下XMPP,在网上找了好久,中文的资料太少了所以做这个简单的例子,今天才完成.公司也正在准备开发基于XMPP协议的即时通讯工具所以也算是打一个基础吧!如果你还没有了解过XMPP请先阅读附录中链接的文章,本实例是基agsXMPP上开发的,agsXMPP是C#写的支持开源XMPP协议软件,我们可以在agsXMPP上快速构建自已的即时通讯平台,我的这个例子只是修改了服务器端,因为agsXMPP本身自带的服务器端没有实现聊天功能.

开源jabber(XMPP)架设内部即时通讯服务的解决方案

Jabber 是著名的即时通讯服务服务器,它是一个自由开源软件,能让用户自己架即时通讯服务器,可以在Internet上应用,也可以在局域网中应用.    XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测.它在促进服务器之间的准即时操作.这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同.XMPP的技术来自于Jabber,其实它是 Jabber的核心协定,所以XMPP有时被误称为Jabber协议

万维网发布服务(W3SVC)已经停止。

今天朋友不小心打开了PHPstudy,导致IIS搭建的网站全部无法启动,提示"万维网发布服务(W3SVC)已经停止.除非万维网发布服务(W3SVC)正在运行,否则无法启动网站.问题解决方法" 环境:win2008系统 这个错误,无法启动iis,于是找了一下原因,这个服务的开始就在IIS上面,不用去到服务里面去找.

ArcGIS发布服务时缓存切片设置

[文件]>[共享]>[服务]>[覆盖原有服务]或[创建新服务] 设置好相关参数后,会弹出"服务编辑框": 进入"缓存" 1."绘制此地图服务"中选择"使用缓存中的切片"(此处选择"使用缓存中的切片"才能在左侧子菜单中"缓存"出现子选项"高级设置"): 2.缓存设置 "切片方案"选择默认的"ArcGIS Online/Bi