前言

在前面的三篇中

[Axis2与Eclipse整合开发Web Service系列之一] 生成Web Service Client(将WSDl 转化成 Java代码)

[Axis2与Eclipse整合开发Web Service系列之二] Top-Down方式,通过WSDL逆向生成服务端

[Axis2与Eclipse整合开发Web Service系列之二] Top-Down方式,通过WSDL逆向生成服务端(续)

介绍了如何使用 axis2 与 eclipse 的开发web Service 。在第三篇中返回的是一个整型值 而且是返回一个值。

产生的 XXSOAPImpl,java 的代码如下:

直接这样, 是没什么问题。

但是如果返回多值的话, 产生的代码类似:

通过StringHolder 这个类来实现返回值。

可是通过Client 端调用有发现,无法取得这个值。

首先把这个问题的解法给出来: 把Elements 中 Request 和 Response 的名字设成大写

1. 当把Elements 中 Request 和 Response 的名字设成小写, 返回值以StringHolder实现

2. 当把Elements 中 Request 和 Response 的名字设成小写, 返回值产生新的Class实现

下面就以一个实际的例子来看这个问题。

本篇的例子是一个 天气预报的web service .

输入: city

输出: returnCode, returnMsg

一个例子

1. 首先建立一个 wsdl , 名字为 WeatherForecastService.wsdl

在设计视图中看到的效果如下:

2. 然后产生web service

产生后的服务端代码结构:

3. 产生的 deploy.wsdd 的内容如下

使用这种方式实现的server 端, 调用的时候发现无法获取返回值。

接下来, 修改配置, 把名字换成大写。

如何换?

1. 点击以下部分

2. 再点击

3. 接下来, 修改名字, 主要是改成大写

这里除了可以修改 名字之外, 还可以在 Types 区域中,添加新的类型,

添加后的类型可以在通过如下方式使用:

修改完成后, 重新产生新的代码:

Impl,java 文件

产生的deploy.wsdd

问题基本解决了

产生的WSDL

贴一下最总产生的 WSDL 的内容:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.oscar999.com/WeatherForecastService/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="WeatherForecastService" targetNamespace="http://www.oscar999.com/WeatherForecastService/"><wsdl:types><xsd:schema targetNamespace="http://www.oscar999.com/WeatherForecastService/">    <xsd:complexType name="WeatherResponse"><xsd:sequence><xsd:element name="returnCode" type="xsd:string"></xsd:element><xsd:element name="returnMsg" type="xsd:string"></xsd:element></xsd:sequence></xsd:complexType><xsd:element name="GetWeatherRequest"><xsd:complexType><xsd:sequence><xsd:element maxOccurs="1" minOccurs="1" name="city" type="xsd:string"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="GetWeatherResponse"type="tns:WeatherResponse"></xsd:element></xsd:schema></wsdl:types><wsdl:message name="getWeatherRequest"><wsdl:part element="tns:GetWeatherRequest" name="parameters"/></wsdl:message><wsdl:message name="getWeatherResponse"><wsdl:part element="tns:GetWeatherResponse" name="parameters"/></wsdl:message><wsdl:portType name="WeatherForecastService"><wsdl:operation name="getWeather"><wsdl:input message="tns:getWeatherRequest"/><wsdl:output message="tns:getWeatherResponse"/></wsdl:operation></wsdl:portType><wsdl:binding name="WeatherForecastServiceSOAP" type="tns:WeatherForecastService"><soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="getWeather"><soap:operation soapAction="getWeather" style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service name="WeatherForecastService"><wsdl:port binding="tns:WeatherForecastServiceSOAP" name="WeatherForecastServiceSOAP"><soap:address location="http://www.oscar999.com/WeatherForecastService"/></wsdl:port></wsdl:service>
</wsdl:definitions>

[Axis2与Eclipse整合开发Web Service系列之三] 服务端返回值相关推荐

  1. [Axis2与Eclipse整合开发Web Service系列之二] Top-Down方式,通过WSDL逆向生成服务端(续)

    前言 本篇是承接上一篇: [Axis2与Eclipse整合开发Web Service系列之二] Top-Down方式,通过WSDL逆向生成服务端 在上一篇粗略地介绍了如何使用Top-Down的方式创建 ...

  2. [Axis2与Eclipse整合开发Web Service系列之二] Top-Down方式,通过WSDL逆向生成服务端

    开始本篇之前, 先说说 Buttom-up(从下到上)和Top-down(从上到下)的概念 这是开发WebService的两种方式. bottom-up 方式: 先创建Java Bean或EJB, 然 ...

  3. [Axis2与Eclipse整合开发Web Service系列之一] 生成Web Service Client(将WSDl 转化成 Java代码)

    需求描述 有一个WSDL地址, 需要把它转化成Java代码调用. IDE环境要求 这里使用Eclipse自动生成.这里的eclipse需要安装有Web开发插件. 步骤 1. 首先新建一个 " ...

  4. [图解教程]Axis2与Eclipse整合开发Web Service之二:WSDL逆向生成服务端

    [图解教程]Axis2与Eclipse整合开发Web Service之二:WSDL逆向生成服务端 一般开发Web Service,是选写服务端,再根据生成的WSDL文件生成客户端.看过一本SOA的书中 ...

  5. 3.菜鸟教你一步一步开发 web service 之 axis 服务端创建

    转自:https://blog.csdn.net/shfqbluestone/article/details/37610601 第一步,新建一个工程,如图: 选 Java 写一个工程名,选择好工程路径 ...

  6. 用eclipse europa开发web service服务 - 东写西读终见大海无量 - JavaEye技术网站

    用eclipse europa开发web service服务 eclipse europa自带web工具.我们可以使他生成动态web程序.但是在默认情况下,生成的动态默认程序是不包含web servi ...

  7. 基于Tomcat5.0和Axis2开发Web Service应用实例

    本文将介绍如何使用Tomcat5.0和Apache Axis2开发.部署及测试一个简单的Web Service应用.<?xml:namespace prefix = o ns = "u ...

  8. 基于Tomcat5.0和Axis2开发Web Service代码详解

    本文将详细介绍HelloWorld中使用的server和client端代码.阅读之前,你应该首先了解SOAP1.1协议.<?xml:namespace prefix = o ns = " ...

  9. JAVA开发Web Service几种框架介绍

    在讲Web Service开发服务时,需要介绍一个目前开发Web Service的几个框架,分别为Axis,axis2,Xfire,CXF以及JWS(也就是前面所述的JAX-WS,这是Java6发布所 ...

最新文章

  1. CSP:CSP认证考试:202109-1(数组推导)满分答案,Java版
  2. java 执行html里的js_如何用java执行指定页面中的js代码
  3. Android App的架构设计:从VM、MVC、MVP到MVVM
  4. opengl加载显示3D模型ms3d类型文件
  5. FCN 学习: Semantic Segmentation
  6. DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义
  7. requests由于系统缓冲区空间不足_系统C盘满了空间不足的扩容?
  8. 最短路径(信息学奥赛一本通-T1378)
  9. leetcode - 70. 爬楼梯
  10. MNIST机器学习入门【学习笔记】
  11. html----选项卡自动切换以及鼠标悬停时停止(js)
  12. Android新浪微博开发(3)JSon解析
  13. 汉王考勤管理软件mysql数据库配置_汉王考勤管理软件使用说明书介绍.pdf
  14. 频域波束形成matlab,关于FFT波束形成
  15. Linux用户和权限管理看了你就会用啦
  16. 优化概率神经网络_贝叶斯神经网络最新综述
  17. 如何快速定位 Redis 热 key
  18. mysql semi-sync(半同步复制)
  19. 移动端--web开发
  20. 怎么在Excel中凑数

热门文章

  1. 幕客better-scroll
  2. 在用到select2时,临时抱佛脚学习了一下
  3. 2016/06/11
  4. 判断当前是否运行于Design Mode
  5. js创建对象的几种常用方式小结(推荐)
  6. 怎样在Xcode 4下编译发布与提交App到AppStore?(转)
  7. 英文版Windows2k服务器无法正常返回中文的问题
  8. SpringBoot定义全局统一业务异常,且处理filter里面的异常
  9. 解决在工具栏Chrome图标上点击右键会显示“常去网站”和“最后关闭网站”的问题
  10. 【报告分享】2021H1电商发展分析报告.pdf(附下载链接)