JobPlus知识库 IT 大数据 文章
[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 


问题基本解决了


如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持
116人赞 举报
分享到
用户评价(0)

暂无评价,你也可以发布评价哦:)

扫码APP

扫描使用APP

扫码使用

扫描使用小程序