【问题标题】:.NET client calling a java webservice -- (how to change the root namespace).NET 客户端调用 java web 服务——(如何更改根命名空间)
【发布时间】:2008-10-01 15:15:17
【问题描述】:

目前我们有一个 java web 服务,我们正在尝试通过 .NET 客户端连接。这一切都是通过 SSL 完成的。是否有任何众所周知的问题,因为这似乎是一个反复出现的问题。我应该寻找的最知名的陷阱是什么?

Java Web 服务是一个 SOAP/WSDL。没有像 WS-Security 这样的 WS-* 扩展。

好的,这是我要解决的确切问题: 我们获得了一个 Java Web 服务,可以从 C# 客户端调用。我已将问题归结为 java webservice 期望 C# 客户端未生成的一些修改过的 xml 的事实。 Java 网络服务期待以下内容:

<?xml version="1.0" encoding="UTF-8" ?> <iAttr:MyObject1 xmlns="iAttr" xmlns:iAttr="http://www.foo.com/WS"> <iAttr:MyObject2 xmlns="isum" xmlns:isum="http://www.foo.com/WS"> <iAttr:OrderId>1001027892 /isum:OrderId>

问题是,我的客户端生成的 xml/SOAP 内容是这样的:

<?xml version="1.0" encoding="UTF-8" ?> <iAttr:MyObject1 xmlns="iAttr" xmlns:iAttr="http://www.foo.com/WS"> <MyObject2> <OrderId>1001027892/OrderId>

注意:C# 版本中缺少“iAttr”。

问题:如何在 C# 中添加有问题的属性以匹配 java WS 的预期?

【问题讨论】:

  • java web 服务是 SOAP/WSDL 吗?它是否使用任何 WS-* 扩展,例如 WS-Security?
  • 您应该提供有关特定问题的更多信息。我知道这不是问题的目的,但它应该有助于集中注意力

标签: web-services ssl


【解决方案1】:

服务不是我写的。这是奇怪的事情: 进行相同 Web 服务调用的 Java 客户端运行良好。 但是,进行完全相同的 Web 服务调用的 .NET 客户端会中断。

【讨论】:

  • 所以,请求不同。
【解决方案2】:

好吧,如果您以“正确”的方式编写服务,那么应该不会有任何问题,至少不会出现语言互操作问题。

【讨论】:

  • 他选择编写服务和客户端,但分别选择不同语言的可能性有多大?比他编写客户端的可能性要小一些,并且无法控制我要冒险的服务器。在这种情况下,批评他的服务编写方式似乎有点苛刻。
猜你喜欢
  • 1970-01-01
  • 2011-04-25
  • 2014-09-04
  • 2011-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多