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