【发布时间】:2011-09-29 18:57:24
【问题描述】:
我将 C# 与 .net 4 一起使用,并尝试使用 java web 服务。我的代码是通过添加 .net 2.0 样式的 Web 服务引用自动生成的。我认为 .net 发送到 java webservice 的类型存在问题,这是我尝试连接时收到的异常:
Internal Server Error (deserialization error: deserialization error: unexpected element type: expected={http://schemas.xmlsoap.org/soap/encoding/}long, actual={http://www.w3.org/2001/XMLSchema}long)
来自网络服务的旧文档: 将对象序列化为 SOAP 消息时,Microsoft .NET 平台将所有原语映射到 W3C XML 架构类型。这与 .NET 平台无法区分原语和原语相结合 包装器(通过自动装箱)在使用 Sun One Web 服务时会导致互操作性问题 编码的 RPC SOAP 消息。 在 Java 编程语言中,原语及其等效的对象包装器不能自动装箱 因此在语言上是有区别的。 在 Sun One 下生成和部署 Web 服务时,服务器端 WSDL 映射 Java 原语到 W3C 模式类型,并将 Java 对象映射到 SOAP 模式类型。
有谁知道我如何告诉 .net 发送 http://schemas.xmlsoap.org/soap/encoding/}long 而不是 http://www.w3.org/2001/XMLSchema}long?
谢谢! 弗里兹
【问题讨论】:
-
您是如何在 C# 中编写/获取客户端的?你自动生成了吗? wsdl 是什么样的?是 doc 风格还是 rpc 风格?提供一些细节
-
我添加了更多细节 Bhaskar...希望对您有所帮助!
标签: java .net web-services soap interop