PB11.5+tomcat+axis2 构建Web Service应用有关问题

PB11.5+tomcat+axis2 构建Web Service应用问题
Web Service( Java代码 )

public class SimpleService {
public String getGreeting(String name) {
return "hello" + name;
}

public int getPrice() {
return new java.util.Random().nextInt(1000);
}
}

PB中建好Web Service Proxy后
问题:如果是调用getGreeting()方法,不会出错。但是如果调用getPrice()方法就会出一个XML类型转换的错误。
  我在Java中返回值定义的INT,到XML中也是int,但是到了PB中返回值就成了long了,我也不知道为什么。如果java定义
  Long,到了PB中就成了longlong了

最后再问一下各位:
  请教datawindows的web servcie实现方法,数据源端应该怎么实现




------解决方案--------------------
问题一:如果是调用getGreeting()方法,不会出错。但是如果调用getPrice()方法就会出一个XML类型转换的错误。

答:你可以把你的getprice改造一下,定义一个int类型的变量,直接返回这个变量即可

问题二:我在Java中返回值定义的INT,到XML中也是int,但是到了PB中返回值就成了long了,我也不知道为什么。如果java定义Long,到了PB中就成了longlong了

答:Java中的Int相当于PB中的Long,32位的, java中的long相当于PB中的longlong,64位的,PB在webservice的proxy中进行了自动转换
------解决方案--------------------
问题三:请教datawindows的web servcie实现方法,数据源端应该怎么实现

答:请参考以下

一切建立在你已经有web service的前提下, 
无论是你用pb座的还是其他。 
新建数据窗口,除了数据源,一切还都是老样子 
原来你是选择表,选择wsdl后你可以看到这个web service的所有方法了 
选择你需要的,下一步直到进入设计界面 
和平是不同的是多了web service update proprity 
就相当于pb平时的update proprity, 
在这里,设定其他web service,那么在原来数据窗作了修改 
产生insert ,delete,update后就会映射到这里 
也就是说,以前的sql语句全都转化成web service调用 
这个dw建好后,你还是retrieve,update,和平是没有区别。 http://topic.csdn.net/u/20080216/14/9b71ae04-9c4d-45b6-bfe6-728b73bf8f18.html