c#调用java写的webservice数据丢失有关问题

由于业务比较复杂, 所以接口返回采用了自定义对象数组的形式, 以下是我返回的对象的属性
          private CsReqWorkPageVo[] qoWo;
private int count;
private String message;
其中 qoWo是自定义类型, 包含以下属性
           private String qoId;
private String qoSolveTime;
private String bcpInfoCode;
private String qoCreateTIme;
private String infoType;
private String woId;
private String woCreateTime;
private String crankShaft;
private String carCode;
private String carType;
基本上都是基本类型

我用java写的客户端调用完全没有问题,连接超时异常, 数据都能取到
但是合作伙伴方说他只能渠道最外层对象的 count属性跟message属性,  qoWo中的属性全部为空
我初步认为是他们那边反序列化的问题, 现在合作伙伴完全赖在我们服务器这边又问题, 请问有没有这种复杂接口经验的指导指导我, 谢谢了icon_smile.gif



------------------------------------------------------------------------------------------------------------------
问题补充:
开始是在不同的包下面, 后面已经放在跟接口同一个包下了, 有个小问题就是接口跟接口的实现类不是同一个包下的, 请问这个有关系吗?

------------------------------------------------------------------------------------------------------------------
问题补充:
nju_abc 写道
引用
开始是在不同的包下面, 后面已经放在跟接口同一个包下了, 有个小问题就是接口跟接口的实现类不是同一个包下的, 请问这个有关系吗?


将接口和其对应的实现类放在一个包下,试试看。

最好能够分别在服务端、客户端抓包看下soap消息,看看有没有什么问题。

SOAP报文应该是没问题的, 因为我用java客户端调用是完全没问题的


------解决方案--------------------------------------------------------
把 CsReqWorkPageVo放到和对应的Service同一个package下试试看。
以前有人解决过类似的问题,你可以看看是不是相同的问题。
[url]
http://www.iteye.com/topic/102854
[/url]
------解决方案--------------------------------------------------------
引用
开始是在不同的包下面, 后面已经放在跟接口同一个包下了, 有个小问题就是接口跟接口的实现类不是同一个包下的, 请问这个有关系吗?


将接口和其对应的实现类放在一个包下,TimeoutException,试试看。

最好能够分别在服务端、客户端抓包看下soap消息,看看有没有什么问题。
------解决方案--------------------------------------------------------
java的webservice的wsdl比较符合规范
而c#的webservice比较的微软化,有时候确实需要处理一些特殊的情况。

我以前弄过个c#调java的webservice。如果用axis或者xfire等生产的客户端,要对一些地方进行修改,不是直接就拿来用的。你可以看看c#调用的时候报文是什么,再看看你的服务端给的是什么。
------解决方案--------------------------------------------------------
可参考:
怎么用Java调用WebService   http://www.myexception.cn/j2ee/4925.html


相关的主题文章:
发布了65 篇原创文章 · 获赞 0 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章