• Web服务开发框架-使用Axis框架开发Web服务


    Apache Axis是一个功能齐全的SOAP引擎,提供创建服务端,客户端和网关SOAP操作的基本框架,

    1.常用的Web服务框架

    1.1Apache服务框架Axis

    缺点:开发过程繁琐,配置复杂,缺少简单易懂用户指南

    1.2 CodeHaus服务框架XFire

    优点:简化Web服务开发,开发速度快,可以和Spring结合

    缺点:缺少支持附件的功能,缺少简单易懂的用户指南

    1.3 Apache服务框架CXF

    2.Eclipse+Axis2整合开发Web Service----HelloWorld实例

    1.下载并安装Axis2

    1.1http://axis.apache.org/axis2/java/core/index.html

    1.2

    1.3

    该Axis2类似于一个Tomcat容器,可以通过binaxis2server.bat来启动该服务

    修改confiaxis2.xml中的端口8080为8081。

    启动后在地址栏http://localhost:8081/来看Axis2的服务

    1.4 配置Eclipse与Axis2的集成

    1.5开发Web service服务器端--AxisHelloWorldServer项目

    1.首先创建AxisHelloWorldServer,并新建包名com.demo

    2.新建服务类HelloWorld.java

    复制代码
    1 package com.demo;
    2
    3 public class HelloWorld {
    4
    5 public String sayHello(String world){
    6 System.out.println("接受客户端请求:"+world);
    7 return "Hello"+world+"!";
    8 }
    9 }
    复制代码
    3.新建并发布Web Service

    为了使以上普通POJO类能够作为WEB服务被发布,

    接下来在AxisHelloWorldServer项目名称上单击鼠标右键

    在弹出快捷菜单中选择新建命令

    在弹出窗口中选择Web Service->Web Service

    单击Next,出现Web Service,在Service Implementation后单击Browse

    按钮来添加一个实现类,直接指向刚才新建HelloWorld.java

    将Web Service type中滑块调到Start service的位置,

    将Client type中滑块调到Test Client的位置

    等启动后,单击Next按钮一切默认,最后Finsh

    访问Web Service

    http://localhost:8080/WebServiceProject/services/HelloWorld?wsdl

    至此,我们就完成了helloworld.java发布Web的过程

    WebServiceProject和WebServiceProjectClient是两个滑块对应的服务项目

    4.开发Web Service客户端-----AxisHelloWorldClient项目

    为了开发客户端服务器,新建一个AxisHelloWorldClient,并新建一个包com.demo

    1.导出Web Service客户端代码

    在AxisHelloWorldClient上右键项目,新建,点击Web Services--》Web Service Client

    在Service implementation中输入http://localhost:8080/WebServiceProject/services/HelloWorld?wsdl

    点击Finsh,此时AxisHelloWorldClient项目com.demo包下产生Web服务端java代码

    2.编写客户端类

    根据HelloWorldLocator的getHelloWorldHttpSoap11Endpoint()的方法获得Hello World实例

    复制代码
    1 package com.demo;
    2
    3 import java.rmi.RemoteException;
    4
    5 import javax.xml.rpc.ServiceException;
    6
    7 public class HelloWorldClient {
    8
    9 public static void main(String[] args) {
    10
    11 String world;
    12 try {
    13 world = new HelloWorldLocator().getHelloWorldHttpSoap11Endpoint().sayHello("World");
    14 System.out.println(world);
    15 } catch (RemoteException e) {
    16 // TODO Auto-generated catch block
    17 e.printStackTrace();
    18 } catch (ServiceException e) {
    19 // TODO Auto-generated catch block
    20 e.printStackTrace();
    21 }
    22 }
    23 }
    复制代码
    3.运行客户端类

    此时运行客户端HelloWorldClient.java

    该结果是通过服务端调用返回的,同时服务端又输出world

    1. 打包AxisHelloWorldServer.zip和AxisHelloWorldClient.zip

    以后导入到eclipse直接使用

  • 相关阅读:
    20220424 Java核心技术 卷2 高级特性 4
    20220424 Java核心技术 卷2 高级特性 12
    20220424 Java核心技术 卷2 高级特性 2
    20220424 Java核心技术 卷2 高级特性 1
    20220424 Java核心技术 卷2 高级特性 5
    20220424 Java核心技术 卷2 高级特性 6
    多个modal遮罩层覆盖不全的问题
    ROCRK3588SPC八核8K人工智能开源主板
    RK3568行业平板人脸识别解决方案
    K8S中pod和container的资源管理:CPU和Memory
  • 原文地址:https://www.cnblogs.com/liufei5200/p/13984476.html
Copyright © 2020-2023  润新知