none
C# 调用Java WebService 反序列化失败 RRS feed

  • 问题

  • 调用一个Java WebService时,抛出异常。

    格式化程序尝试对消息反序列化时引发异常: 尝试对参数XXX进行反序列化时出错:XXX命名空间中的XXX并非所需元素。所需元素应为"id"。

    通过抓包看到接收到了正确的soap消息,但是反序列化失败。用Webservice Studio调试这个ws时显示返回结果为空。

    昨天Google了很久发现可能是命名空间的问题。WS方法和返回的参数不在一个命名空间内。

    我现在的解决方案是通过http post soap消息,然后获得response再进行反序列化。请问还有更简单的解决方法没?服务端代码不能修改。

    2012年3月9日 1:35

答案

  • 不得不吐槽一番

    java的ws用起来真的是坑爹。ps,你也可以说。net的ws调用也太认真。。。

    ESB的东西很多直接用socket写了,这个是最后的办法。。。

    如果你已经调用到了,只是出在反序列化的时候,你可以试试,自己去解析。


    family as water

    2012年3月9日 2:30

全部回复

  • 不得不吐槽一番

    java的ws用起来真的是坑爹。ps,你也可以说。net的ws调用也太认真。。。

    ESB的东西很多直接用socket写了,这个是最后的办法。。。

    如果你已经调用到了,只是出在反序列化的时候,你可以试试,自己去解析。


    family as water

    2012年3月9日 2:30
  • 还好方法不是很多,不然不写死了 - -

    2012年3月9日 2:39