`
hngmduyi
  • 浏览: 339382 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用axis1.4编写Webservice入门

阅读更多

使用axis1.4生成客户端调用web service的大概步骤如下:

  1. 新建WEB工程test,然后下载axis1.4,解压将其放于D盘.把axis1.4下的jar包及activation.jar,mail.jar这两个JAR包一并放入新工程下.
  2. 编写服务端代码
public class HelloService {
 public int add(int a,int b){
  return a+b;
 }
 public String sayHello(String name){
  System.out.println("hello :"+name);
  return "hello"+name;
 }
 public boolean saveEmp(Employee emp){
  System.out.println("empName:"+emp.getEmpName());
  /**
   * 可获取连接,执行保存数据操作.(省略)
   */
  return true;
 }
 public boolean saveEmp(Employee[]emp){
  for(int i=0;i<emp.length;i++){
   System.out.println(emp[i].getEmpName());
  }
  return true;
 }
 

3.配置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="sendMultiRefs" value="true"/>
<parameter name="disablePrettyXML" value="true"/>
<parameter name="adminPassword" value="admin"/>
<parameter name="attachments.Directory" value="E:\apache-tomcat-6.0.29\webapps\test\WEB-INF\attachments"/>
<parameter name="dotNetSoapEncFix" value="true"/>
<parameter name="enableNamespacePrefixOptimization" value="false"/>
<parameter name="sendXMLDeclaration" value="true"/>
<parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
<parameter name="sendXsiTypes" 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="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
<handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
<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="HelloService" provider="java:RPC">
<parameter name="allowedMethods" value="*"/>
<parameter name="className" value="com.lee.webservice.HelloService"/>
<typeMapping
xmlns:ns2="http://xml.apache.org/axis/wsdd/"
qname="ns2:Employee"
type="java:com.shich.test.Employee"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</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.list" value="org.apache.axis.transport.http.QSListHandler"/>
<parameter name="qs.method" value="org.apache.axis.transport.http.QSMethodHandler"/>
<parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/>
<parameter name="qs.wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
</transport>
<transport name="local">
<responseFlow>
<handler type="LocalResponder"/>
</responseFlow>
</transport>
</deployment>

4.生成客户端

 set Axis_Lib=d:\axis-1_4\lib 
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib% 
set Output_Path=E: 
set Package=com.client.test
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% http://127.0.0.1:8081/test/services/HelloService?wsdl

 此时会生成

HelloService_PortType
HelloServiceService
HelloServiceServiceLocator
HelloServiceSoapBindingStub
Employee5个JAVA类

5编写客户端测试代码
public class Test {

 public static void main(String[] args) throws ServiceException, MalformedURLException, RemoteException {
  
  HelloServiceService service=new HelloServiceServiceLocator();
  Employee emp=new Employee();
  emp.setEmpName("jack");
  service.getHelloService().saveEmp(emp);
  
 }
}

分享到:
评论

相关推荐

    webservice axis1.4 开发资料

    2. **开发指南**:《Axis1.4开发指南》是理解Axis1.4的入门资料,通常会涵盖安装配置、创建服务、发布服务、调用服务等步骤,还会讲解如何处理各种错误和异常,以及如何调试Web服务。 3. **jar包**:在开发过程中,...

    AXIS入门指南-webservice

    【AXIS入门指南-webservice】 本指南旨在为初学者提供AXIS框架下开发WebService的详细步骤,涵盖了从获取开发资源、生成 stub、编写服务器端代码到客户端测试的全过程。AXIS是一个开源的Java库,它提供了创建、部署...

    axis1-WebService

    【Axis1.x WebService开发指南】 Axis1.x是Apache软件基金会的一个开源项目,它提供了一个强大的框架,用于创建和部署Web服务。这个经典教程主要针对的是Axis1版本,旨在帮助开发者理解和掌握如何使用Axis来构建和...

    Axis实践之Axis入门

    【Axis实践之Axis入门】是关于使用Axis进行Web服务开发的初步教程,主要涉及Axis的安装和配置。Axis是Apache软件基金会开发的一个用于构建和部署Web服务的工具,它允许开发者将Java类转换为Web服务。 第一步是下载...

    Axis WebService 技术指南,开发文档

    本指南将详细介绍如何使用 Axis 进行 WebService 开发,包括从基础入门到高级特性的应用。 ### 1. Axis 简单入门 在开始之前,你需要从官方网站下载 Axis 的工程和必要的库文件,例如 `axis-bin-1.4`。解压缩后,...

    NC Webservice开发参考

    为此,开发者需要创建一个新的 Axis 客户端项目,然后使用 Axis 客户端 API 来调用 Web 服务。 2.2 调用需要认证客户端 UserName 的 Web Service 在 Axis 环境下,可以使用 Axis 客户端 API 来调用需要认证客户端 ...

Global site tag (gtag.js) - Google Analytics