axis开发WebService实例

合集下载

axis2 WebService 开发指南

axis2 WebService 开发指南

Axis2.x WebService上次介绍了axis1.x的用法,这次继续上次的,将叙述axis2的用法。

Axis1.x在线博文:/hoojo/archive/2010/12/20/1911349.html一、准备工作1、开发准备首先需要下载axis2的相关jar包,到axis的官方网站即可获得开发的依赖包。

下载地址:/axis2/java/core/download.cgi现在最高的版本是1.5.4的然后你需要下载官方提供的axis的eclipse插件工具,可以帮助我们打包(aar)及其生产客户端调用代码。

下载页面:/axis2/java/core/tools/index.htmlService Archive Wizard - Eclipse Plug-inCode Generator Wizard - Eclipse Plug-in2、安装eclipse插件如果你的eclipse插件安装成功后,会看到如下效果:3、分析axis2-bin文件目录结构下载下来的axis2的依赖库,其中有一个axis2-1.5.3-bin.zip的库文件,目录结构如下:bin文件夹是axis2的常用工具,其中有将wsdl文件转换成客户端调用的wsdl2java工具及将java转换成wsdl文件的工具conf是axis2的配置文件lib运行所要的依赖库repository是发布过的axis服务和文件sample是示例webapp是web文件和jsp页面等4、我们需要将下载下来的axis2-1.5.3-war.zip中的axis2.war这个文件放在我们的tomcat目录下,启动tomcat就会把war文件转成一个可以跑起来的axis2的项目。

Tomcat启动后,在浏览器中输入:http://localhost:8080/axis2/你可以看到二、Axis2的简单WebService示例注意,上面的HelloWorldService是没有package的。

WebService开发实例

WebService开发实例

3.配置web.xml
在axis的webapps子目录中有一个axisWeb应用,我们直接使用它的web.xml文件内容。
4.添加功能类
Java代码
package com.enfang;
public class TestLiu {
</service>
</deployment>
<deployment xmlns="/axis/wsdd/" xmlns:java=
"/axis/wsdd/providers/java">
<service name="TestLiu" provider="java:RPC">
</service>
</deployment>
首先将工程部署到Tomcat服务器上,并启动Tomcat服务器。然后在工程上右键-->Run As...-->Run Configurations...,新建一个JavaApplication。在main页面中,project指定为我们的TestWebService,MainClass指定为org.apache.axis.client.AdminClient。在Arguments页面下设置Program arguments为-l http://localhost:8080/TestWebService/servlet/AxisServlet deploy.wsdd。点击Run按钮。
什么是整合?当然是功能和数据的整合,也就是一个系统可以调用另一个系统的WebService接口来完成数据的交互。这样我们就需要知道,提供WebService服务功能的应用公开了哪些接口,我们可以通过WebService描述文档(WSDL)得知。WSDL不需要我们手动编写,Java的WebService实现可以为我们自动生成。JDK1.6新增支持WebService,但还不够成熟。所以我们使用Apache第三方开源组织提供的WebService实现——Axis。

Axis2从入门到精通--Webservice在eclipse下开发教程

Axis2从入门到精通--Webservice在eclipse下开发教程

Axis2 教程文章分类:Java编程Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。

Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebService,同时还支持Spring、JSON等技术。

这些都将在后面的系列教程中讲解。

在本文中主要介绍了如何使用Axis2开发一个不需要任何配置文件的WebService,并在客户端使用Java和C#调用这个WebService。

一、Axis2的下载和安装读者可以从如下的网址下载Axis2的最新版本:/axis2/在本文使用了目前Axis2的最新版本1.4.1。

读者可以下载如下两个zip包:axis2-1.4.1-bin.zipaxis2-1.4.1-war.zip其中axis2-1.4.1-bin.zip文件中包含了Axis2中所有的jar文件,axis2-1.4.1-war.zip文件用于将WebService发布到Web容器中。

将axis2-1.4.1-war.zip文件解压到相应的目录,将目录中的axis2.war文件放到<Tomcat安装目录>\webapps目录中(本文使用的Tomcat的版本是6.x),并启动Tomcat。

在浏览器地址栏中输入如下的URL:http://localhost:8080/axis2/如果在浏览器中显示出如图1所示的页面,则表示Axis2安装成功。

图1二、编写和发布WebService对于用Java实现的服务程序给人的印象就是需要进行大量的配置,不过这一点在Axis2中将被终结。

在Axis2中不需要进行任何的配置,就可以直接将一个简单的POJO发布成WebService。

其中POJO中所有的public方法将被发布成WebService方法。

下面我们来实现一个简单的POJO,代码如下:public class SimpleService{public String getGreeting(String name){return "你好 " + name;}public int getPrice(){return new java.util.Random().nextInt(1000);}}在SimpleService类中有两个方法,由于这两个方法都是public方法,因此,它们都将作为WebService方法被发布。

wsimport 调用webservice示例

wsimport 调用webservice示例

wsimport 调用webservice示例wsimport是Java 提供的一个工具,用于生成与Web Services Description Language (WSDL) 文件相对应的Java 代码,以便客户端可以通过该代码调用Web 服务。

下面是一个简单的示例,演示如何使用wsimport工具调用Web 服务。

1.创建Web 服务:首先,确保你有一个可用的Web 服务,并获取其WSDL 地址。

你可以在浏览器中直接访问WSDL 地址,以获取WSDL 文件的内容。

2.使用wsimport 生成客户端代码:打开终端或命令行窗口,使用以下命令生成客户端代码:wsimport -d . -p com.example.client http://your-web-service-url?wsdl其中,-d用于指定生成的类文件的输出目录,-p用于指定生成的Java 类的包名,而http://your-web-service-url?wsdl是你的Web 服务的WSDL 地址。

3.编写客户端代码:创建一个Java 类,用于实际调用Web服务。

以下是一个简单的示例:package com.example.client;public class WebServiceClient {public static void main(String[] args) {// 创建Web 服务客户端对象YourWebService service = new YourWebService();YourWebServicePortType port =service.getYourWebServicePort();// 调用Web 服务方法String result = port.yourWebServiceMethod("Hello, Web Service!");// 处理返回结果System.out.println("Web Service Response: " + result);}}4.编译和运行客户端代码:编译生成的客户端代码:javac com/example/client/*.java运行客户端代码:java com.example.client.WebServiceClient这会执行客户端代码,调用Web 服务的方法并输出结果。

利用axis开发WebService(4)_下_如何抛出自定义异常

利用axis开发WebService(4)_下_如何抛出自定义异常
xmlns:myns="urn:CustomerFault"
type="java:com.chnic.exception.NoSuchUserException"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
xmlns:fns="http://faults.samples"
class="samples.faults.NoSuchEmployeeFault"
type="tns:NoSuchUserFault"
encodingStyle="/soap/encoding/"/>
</service>
</deployment>
<deployment xmlns="/axis/wsdd/"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
Java代码
package com.chnic.test;
import java.rmi.RemoteException;
import space.QName;
import javax.xml.rpc.Call;
returnType="rtns:User"

WebService接口实例说明文档

WebService接口实例说明文档

WebService接口说明文档文档说明本文档主要讲述如何用C Sharp创建一个简单的Web Service接口,并使用Java调用这个Web Service接口。

准备工作系统环境:安装JDK1.6或更新版本开发工具:Microsoft Visual Studio 2012、MyEclipse 10.5、axis2-1.6.2C Sharp服务端1.首先,创建一个Web Service项目。

依次点击:文件—新建—项目,在弹出的新建项目窗口中选择Web下的 空 Web 应用程序。

如下图:2.接下来我们需要创建我们的Web Service接口实现文件。

鼠标右击我们的项目,依次点击:添加—新建项,在弹出窗口中选择Web 服务。

可修改新建项的文件名,注意文件名后缀后.asmx。

如下图:新建完成后我们的项目结构如下:3.打开我们新建的MyService.asmx下的MyService.asmx.cs文件,可以看到其中已经有默认的HelloWorld方法。

我们可以直接运行查看下运行的效果,效果如下图:点击HelloWorld,再点击调用可以看到页面返回:4.接下来我们完善我们的Web Service接口功能。

主要对Web Service接口进行参数类型的测试,文本型、布尔型、数值型、类(Class)等。

新增Add()等运算方法:新增strcat()连接字符串方法:新增GetBool()返回布尔值方法:新增GetTest()返回测试类,并新增Test类运行我们的项目,可以看到我们的结果如下图:点击add方法测试:输入add的参数i和j点击调用按钮,可以看到返回计算结果:5.到此为止我们C Sharp创建的Web Service程序完成。

接下来看Java如何调用我们的Web Service接口。

Java调用Web Service准备对于一个Web Service接口我们当前只知道访问的地址,我们如何用Java去访问接口呢?已知Web Service接口地址:http://localhost:11766/MyService.asmx?WSDLJava调用Web Service的方式有以下1.使用HttpClient2.使用Xfire3.使用axis2本文档示例选择的是axis2,首先到axis2网站下载axis2,网址:/axis2/java/core/download.cgi当前最新版本1.6.2。

Apache Axis2配置及使用

Apache Axis2配置及使用

使用Apache Axis2创建Web Service1、环境搭建●下载并安装jdk1.6●下载并安装tomcat6.0●下载并安装eclipse-jee-indigo●下载并解压apache axis2-1.5.22、Eclipse环境配置●设置jdk : Preferences —> Java —> Installed JRES●设置tomcat : Preferences —> Server —> Runtime Enviroments●设置Axis2 Runtime: Preferences —> Web Services —> Axis2Preferences —> Axis2 Runtime 指定为apache axis2的根路径●Preferences —> Web Services —> Server and Runtime 设置Web services runtime为Apache Axis23、简单web service示例开发(server)●打开server视图,添加tomcat服务器●设置HTTP/1.1的端口为:8089●创建Dynamic Web Project,修改configuration,选中Axis2 Web Services即可。

●新建一个class Caculate,进行加法和减法运算。

●选中Caculate类右键新建一个web service,根据向导一步一步完成即可。

如下图所示:选中publish the web service和monitor the web service点击start server,启动tomcat服务器点击finish,整个web service创建及部署成功。

测试:http://localhost:8089/WS_02/services/Caculate?wsdl 打开web service explorer,选择WSDL page,输入WSDL URL,如下图所示:测试结果:4、总结:开发过程中容易出现的问题:Failed while installing Axis2 Web Services Core 1.1出现上述问题的原因:eclipse的Bug,更换eclipse版本即可解决问题。

axis2之webservice新手超详细教程

axis2之webservice新手超详细教程

A XIS2之WEBSERVICE新手超详细教程---------------尚明Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。

Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebService,同时还支持Spring、JSON 等技术,本教程是主要阐述如何构建一个基本的Axis2 webservice应用,里面的许多环节高手可直接略过,本教程完全针对新手。

一、环境安装安装myeclipse下载地址:/file/4238159/48030981-6b56-40a4-a93b-8f424ee4f33a安装mysql下载地址:/file/4238159/de64cf2f-4217-4e11-bb98-8e6c5dd24155安装mysql-workbench(mysql可视化工具)下载地址:/file/4238159/becf913f-56a6-4d68-b248-134113b73535安装tomcat下载地址:/file/4238159/ec6a2250-99ff-464e-a978-be184c96e4e7下载Axis2服务包下载地址:/file/4238159/bb3db6e3-2f7d-4343-b472-c1fa714dba95下载Axis2开发插件包下载地址:/file/4238159/aa39505f-079b-43be-9479-15a2d3e98cbb安装jdk下载地址:/file/4238159/7ba342f9-277f-4b9c-b5e7-b0c5b7dfc151二、环境配置1)Java环境配置a)设置JAVA_HOME图1.图2设置JAVA_HOME=D:\Program Files\Java\jdk1.6.0_10* D:\Program Files\Java\jdk1.6.0_10为笔者本机的JDK安装目录,请开发者根据实际安装路径来填写,注意环境变量最后面不能加分号,D:\Program Files\Java\jdk1.6.0_10;这么写是错误的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

什么是SOAP?SOAP是一个基于XML的用于应用程序之间通信数据编码的传输协议。

最初由微软和Userland Software提出,随着不断地完善和改进,SOAP很快被业界广泛应用。

什么是Axis?Axis本质上就是一个SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架。

Axis目前版本是为Java编写的,不过为C++的版本正在开发中。

配置webservice具体步骤:1.安装weblogic。

2.配置一个web应用,如“\\lijunjie\e$\software\bea\user_projects\domains\lijjdomain\appli cations\ cntapws “。

3.从apache网站上下载axis-bin-1_2_1.tar.gz,解压后copy到cntapws下面。

4.打开“http://localhost:7001/console“,配置cntapws 的web应用。

5.axis1.2和weblogic8.1有冲突,原因是weblogic 本身携带的webservice.jar使用的旧的javax.xml.soap.*,而不是像axis使用J2EE1.4新的版本。

解决方案是在WEB-INF/weblogic.x ml文件中如下的配置:<weblogic-web-app><container-descriptor><prefer-web-inf-classes>true</prefer-web-inf-classes></container-descriptor></weblogic-web-app>6. 按http://localhost:8080/axis/happyaxis.jsp地址,可以显示你发布的webservice是否配置成功,如果显示必须的包缺失,则你的webservice不能正常运行。

开发webservice流程1.写普通的java类,该类中有你要发布到webservice上的有关方法。

2.配置server-config.xml, 把你要发布的方法写入该文件。

具体内容如下:<?xml version="1.0" encoding="UTF-8"?><deployment xmlns="/axis/wsdd/"xmlns:java="/axis/ wsdd/providers/java"><globalConfiguration><parameter name="adminPass word" value="admin"/><parameter name="attachments.Directory" value="C:\ec lipse\workspace\bookstore\WEB-INF\ attachments"/><parameter name="attachments.implementation" value="org.apache.axis.attachments.Attachmen tsImpl"/><parameter name="sendXsiTypes" value="true"/><parameter name="sendMultiRefs" value="true"/><parameter name="sendXMLDec laration" value="true"/><parameter name="axis.sendMinimizedElements" 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="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandl er"/><handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/><service name="Version" provider="java:RPC"><parameter name="allowedMethods" value="getVersion"/><parameter name="className" value="org.apache.axis.Version"/></service><!--要配置的内容start,注意每一个要发布成webservice的类都要配置成一个service如下<service name="webserviceproxy" provider="java:RPC"><parameter name="className" value="com.copia.webservice.server.proxy.WebServicePro xy"/><parameter name="allowedMethods" value="*"/><!—具体某个方法说明--><operation name="login" returnType="ns:LoginOutServiceBean"><parameter name="branchNo" type="xsd:string"/><parameter name="userId" type="xsd:string"/><parameter name="pass word" type="xsd:string"/><parameter name="certificateNo" type="xsd:string"/></operation><!—如果该方法的参数有基本类型和对象类型,则不要声明,webservice能够找到相关的类及方法--><!—声明涉及到的所有类及其父类,引用类,还有它们的相关类,类似与对象树遍历,某个类声明缺失也会导致运行失败--><typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"encodingStyle="/soap/encoding/"qname="ns:LoginOutServiceBean"serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"type="java:com.copia.core.module.security.login.LoginOutServiceBean" xmlns:ns="webser viceproxy"/><typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"encodingStyle="/soap/encoding/"qname="ns:User"serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"type="java:er" xmlns:ns="webserviceproxy"/><typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"encodingStyle="/soap/encoding/"qname="ns:GetBatchListInServiceBean"serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"type="java:com.copia.core.module.batch.service.GetBatchListInServiceBean" xmlns:ns="w ebserviceproxy"/><typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"encodingStyle="/soap/encoding/"qname="ns:GetBatchListOutServiceBean"serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"type="java:com.copia.core.module.batch.service.GetBatchListOutServiceBean" xmlns:ns=" webserviceproxy"/><typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"encodingStyle="/soap/encoding/"qname="ns:BatchJobDefBean"serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"type="java:com.copia.core.module.batch.service.BatchJobDefBean" xmlns:ns="webservicep roxy"/><typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"encodingStyle="/soap/encoding/"qname="ns:ValueObjectPage"serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"type="java:com.copia.core.voa.ValueObjectPage" xmlns:ns="webserviceproxy"/> <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"encodingStyle="/soap/encoding/"qname="ns:ValueObjectColInfo"serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"type="java:com.copia.core.voa.ValueObjectColInfo" xmlns:ns="webserviceproxy"/> <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"encodingStyle="/soap/encoding/"qname="ns:ValueObjectList"serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"type="java:com.copia.core.voa.ValueObjectList" xmlns:ns="webserviceproxy"/><typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"encodingStyle="/soap/encoding/"qname="ns:PageInfo"serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"type="java:com.copia.core.voa.PageInfo" xmlns:ns="webserviceproxy"/><typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"encodingStyle="/soap/encoding/"qname="ns:ValueObjectMetaData"serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"type="java:com.copia.core.voa.ValueObjectMetaData" xmlns:ns="webserviceproxy"/> </service><!--要配置的内容endà<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>/axis/wsdd/</namespace></service><transport name="local"><responseFlow><handler type="LocalResponder"/></responseFlow></transport><transport name="http"><requestFlow><handler type="URLMapper"/><handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/></requestFlow></transport></deployment>3.在地址栏输入http://localhost:7001/cntapws/services/webserviceproxy?wsdl,如没有什么错误,则表示你的webservice发布成功了。

相关文档
最新文档