.NET客户端调用Java Web服务-(如何更改根名称空间)

时间:2020-03-06 14:58:50  来源:igfitidea点击:

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

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

好的,这是我要解决的确切问题:
我们获得了一个Java Web服务,可以从Cclient进行调用。我将问题归结为Java Web服务期望Cclient无法生成的某些经过修改的xml。 Java Web服务期望遵循以下原则:

&lt;?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 &lt;/ isum:OrderId`>

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

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

注意:Cversion中缺少" iAttr"。

问题:如何在Cto中有问题地添加属性以匹配Java WS期望的属性?

解决方案

好吧,如果我们以"正确"的方式编写服务,那么就不会有任何问题,至少不会出现语言互操作的问题。

我没有写服务。这是奇怪的事情:
进行相同Web服务调用的Java客户端可以完美地工作。
但是,进行完全相同的Web服务调用的.NET客户端中断。