- 浏览: 430783 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
xiang37:
wwwang89 写道这位大哥,你好!很感谢你分享的文章,写的 ...
iPhone调用java的webService -
wwwang89:
这位大哥,你好!很感谢你分享的文章,写的很好,适合我们新手学习 ...
iPhone调用java的webService -
QQ371496669:
能否具体讲解一下为什么StringBuilder的长度会不一样 ...
StringBuilder与StringBuffer相比为什么不是线程安全的 -
Sky_257:
请问 能用abap查询sap服务器的配置、会话、队列、spo ...
使用JCo远程调用SAP系统函数 -
xiang37:
vebasan 写道此句代码的单词有错(标红色的):prop. ...
最简单的EJB示例
研究webService也有几天了,之前看到一个使用Axis2的使用教程,但是我还没有找到一个好的方式怎么使用到自己的web工程里面!可能还需要多多研究,看看官方的文档。首先可以确定的就是,肯定是可以的。
据说,Axis1.x和Axis2.0有很大的区别,并且还是不同组织开发的。无奈之下,我又回到的Axis1.x;下面记录一下我写的这个程序。很简单,一些Jar包,加上两个配置文件。
第一,两个配置文件
在web.xml文件中配置servlet
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.worg/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_xsd"> <servlet> <servlet-name>AxisServlet</servlet-name> <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
org.apache.axis.transport.http.AxisServlet
这个就是我们Servlet的类。
在和web.xml的统一目录下,配置server-config.wsdd
新建一个文件,名称为server-config.wsdd
<?xml version="1.0" encoding="UTF-8"?> <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <globalConfiguration> <parameter name="adminPassword" value="admin" /> <parameter name="enableNamespacePrefixOptimization" value="false" /> <parameter name="dotNetSoapEncFix" value="true" /> <parameter name="disablePrettyXML" value="true" /> <parameter name="sendMultiRefs" value="true" /> <parameter name="sendXsiTypes" value="true" /> <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl" /> <parameter name="sendXMLDeclaration" value="true" /> <requestFlow> <handler type="java:org.apache.axis.handlers.JWSHandler"> <parameter name="scope" value="session" /> </handler> <handler type="java:org.apache.axis.handlers.JWSHandler"> <parameter name="scope" value="request" /> <parameter name="extension" value=".jwr" /> </handler> </requestFlow> </globalConfiguration> <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder" /> <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper" /> <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler" /> <service name="AdminService" provider="java:MSG"> <parameter name="allowedMethods" value="AdminService" /> <parameter name="enableRemoteAdmin" value="false" /> <parameter name="className" value="org.apache.axis.utils.Admin" /> <namespace>http://xml.apache.org/axis/wsdd/</namespace> </service> <service name="Version" provider="java:RPC"> <parameter name="allowedMethods" value="getVersion" /> <parameter name="className" value="org.apache.axis.Version" /> </service> <service name="UserServer" provider="java:RPC"> <parameter name="allowedMethods" value="*" /> <parameter name="className" value="com.xiva.bean.UserWebService" /> </service> <transport name="http"> <requestFlow> <handler type="URLMapper" /> <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler" /> </requestFlow> <parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler" /> <parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler" /> <parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler" /> </transport> <transport name="local"> <responseFlow> <handler type="LocalResponder" /> </responseFlow> </transport> </deployment>
这个里面很多代码,都是一些webService的设置;也没做具体的研究。
但是其中有一段代码使我们必须得关心的。
<service name="UserServer" provider="java:RPC"> <parameter name="allowedMethods" value="*" /> <parameter name="className" value="com.xiva.bean.UserWebService" /> </service>
这个就是配置我们服务的代码,其中服务的两个参数分别是允许调用的方法和类名。
package com.xiva.bean; public class UserWebService { public String sayHello(){ return "hello"; } public String Hello(String name){ return name + ", hello!"; } public String Login(String name, String password){ if("xiva".equals(name) && "123".equals(password)){ return "success"; } else return "failure"; } }
上面是我写的类代码!
第二,所需要的包
见附件,Axis1.x开发的包都在里面。解压,复制到工程中即可。注意启动服务的时候,要在工程文件中看看你的jar包是否都发到到你的工程下面。
好了,一个服务端的代码就这样写好了。
下面是我用Axis2.x写的一个客户端的代码,
package com.xiva.bean; import javax.xml.namespace.QName; import org.apache.axis2.AxisFault; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.rpc.client.RPCServiceClient; public class LoginClient { public static void main(String[] args) throws AxisFault { String target = "http://localhost:8080/WebQClient/services/UserServer"; //target = "http://localhost:8080/axis2/services/MyLoginService"; RPCServiceClient client = new RPCServiceClient(); Options options = client.getOptions(); options.setManageSession(true); EndpointReference epr = new EndpointReference(target); options.setTo(epr); QName qname = new QName("http://bean.xiva.com", "Login"); //指定调用的方法和传递参数数据,及设置返回值的类型 Object[] result = client.invokeBlocking(qname, new Object[] { "xiva", "123" }, new Class[] { String.class }); System.out.println(result[0]); qname = new QName("http://bean.xiva.com", "sayHello"); result = client.invokeBlocking(qname, new Object[] {}, new Class[] { String.class }); System.out.println(result[0]); } }
- axis1.x.zip (2.6 MB)
- 下载次数: 4
发表评论
-
Tesseract-OCR的简单使用与训练
2018-06-06 19:45 2795参照: https://www.cnblogs.com/c ... -
JNA与动态链接库交互之使用结构体与结构体数组
2016-10-13 17:54 2231Java调用C/C++动态链接库函数,当传 ... -
ElasticSearch1.7.3 报错Root type mapping not empty after parsing!
2015-12-16 23:02 1374熟悉Lucene也比较久了 ... -
TopN问题的算法实现
2015-05-11 00:15 1547TopN指的是从已经存在的数组中,找出最大(或最小)的前n ... -
NIO之Socket通信
2015-04-11 15:18 0Server端 package com.xiva.nio; ... -
阻塞与非阻塞通讯
2015-03-14 13:18 767在一个阻塞C/S系统中,服务器要为每一个客户连接开启一个线程阻 ... -
[续]Java调用DLL视频解帧,并保存第一关键帧到JPG格式文件
2014-05-15 00:59 1452本篇文章的前一篇是采用FFmpeg解帧,并保持到JPG格式 ... -
Jconsole连接之JVM设置
2014-05-13 03:06 876Jconsole连接之JVM设置 -Xmx256m ... -
Lucene4.x SmartChineseAnalyzer添加扩展词
2013-11-30 23:21 1664之前有一点研究,现在奉上比较完整的代码,可根据项目 ... -
Java ORC
2013-05-22 14:09 0http://blog.csdn.net/lonelyli ... -
OSCache的对action响应的配置
2013-05-08 23:13 1051对action响应的配置其实也不是很特别,这里主要提到的是 ... -
Java PING一个IP地址 isReachable
2013-05-08 17:38 1964Java1.5可以替换很古老Runtime的PING方法 ... -
Java后台返回easyUI的comboxTree数据
2013-05-04 10:08 1709easyUI的实现,其中包括一次加载完毕和动态树: ... -
利用JDBC生成数据库表对应的Class
2013-05-01 19:26 1188简单的实现了Hibernate工具自动生成Class文件的 ... -
HttpClient4示例
2013-04-30 01:27 2149之前做过一个3版本HttpClient简单示例的示例,最 ... -
http client
2013-04-24 17:57 0import java.io.IOException; i ... -
Java6新特性之动态生成Class,并加载
2013-04-24 23:56 1066利用JavaCompiler对文件进行动态编译,JDK1. ... -
利用JNA对文件进行监听之观察者模式
2013-04-25 00:01 1512JNA为第三方的JNI的一个实现包。里面实现了很多wind ... -
Lucene4全文索引示例
2013-04-30 02:20 1567Lucene4.2.1示例,之前也做过3.6的示例。3.6 ... -
改进后的归并排序,对大文件归并排序
2013-04-25 00:05 1144针对大文件,一次无法全部读入内存,可以采用将内容保存到文件 ...
相关推荐
标题“Axis1.x调用WebService程序”涉及到的是在Java环境中使用Apache Axis1工具来与Web服务进行交互的技术。Apache Axis1是一个开源项目,它提供了一种简单的方式来创建和部署Web服务,同时也支持作为客户端调用...
Axis2是Apache软件基金会提供的一款高性能、轻量级的WebService引擎,它是在Axis1.x的基础上重新设计的产物,不仅支持SOAP1.1和SOAP1.2协议,还扩展了对RESTful WebService的支持,以及Spring框架和JSON技术的集成。...
【Axis2之WEBSERVICE新手超详细教程】主要讲解了如何使用Axis2构建Web服务,适合初学者。Axis2是一个先进的Web服务引擎,是Axis1.x的重新设计版,支持SOAP1.1和SOAP1.2协议,并且包含了RESTful Web服务以及Spring和...
WebService之Axis2实例是Web服务开发中的一个重要环节,它基于SOAP协议,允许不同平台和语言间的应用程序进行通信。本文将详细介绍Axis2实例的创建、配置和运行,以及如何利用Eclipse IDE、JDK 1.7和Tomcat 7.0进行...
Axis2.x作为Axis1.x的升级版,引入了许多改进和新特性,例如更好的性能、更灵活的模块化结构以及更强的可扩展性。尽管本教程主要关注Axis1.x,但了解Axis2.x的用法也是必要的,因为它提供了更多的功能和优化。 在...
相比于其前身Axis1.x,Axis2进行了全面的重设计,提供了更多的特性和更好的性能表现。此外,Axis2还支持多种Web服务规范,包括但不限于SOAP 1.1/1.2、WSDL、WS-Security等,同时也支持RESTful风格的服务。 **1.2 ...
标题中的“axis2之webservice新手超详细教程”是指针对Apache Axis2框架的Web服务教程,适合初学者学习。Apache Axis2是Java平台上的一个Web服务处理引擎,它提供了创建、部署和管理Web服务的能力。这个教程可能包含...
与前代产品**Axis1.x**相比,Axis2在架构上进行了优化,提供了更好的性能和更丰富的功能。 #### 二、准备工作 ##### **1. 下载依赖** - **Axis2核心库**:访问[Apache Axis2官方网站]...
<version>5.x.x.RELEASE <groupId>org.apache.axis2 <artifactId>axis2-adb <version>1.7.9 <groupId>org.apache.axis2 <artifactId>axis2-kernel <version>1.7.9 <!-- 其他相关依赖 --> ``` ...
### Java WebService应用实例分析 #### 一、Axis2简介及安装 **Axis2**是一款功能强大的WebService引擎,它是对前一代产品Axis1.x进行了全面重构的结果。与之前的版本相比,Axis2支持SOAP 1.1和SOAP 1.2,并且集成...
Axis2是基于SOAP(Simple Object Access Protocol)的Web服务引擎,它是Axis1.x的升级版,提供了更好的性能和可扩展性。Axis2支持多种消息传递模式,包括SOAP、RESTful等,并且集成了许多模块,如MTOM(Message ...
标题中的“axis-1_4(bin)用axis进行webservice开发”表明了本文将围绕Axis 1.4版本,这是一个用于构建Web服务的开源工具,主要应用于Java平台。Axis允许开发者快速、简单地创建和部署Web服务,同时也支持消费其他Web...
本文档旨在介绍如何利用Eclipse集成Axis2插件来高效地开发WebService应用。基于前文对Axis1.x的基础理解,本指南将着重于Axis2.x的功能特性与实现细节,帮助读者掌握最新版本的技术要点。 #### 二、准备工作 #####...