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
问题基本解决了
登录 | 立即注册