gpt4 book ai didi

C# 服务引用 Java -> C#

转载 作者:行者123 更新时间:2023-11-30 04:57:45 24 4
gpt4 key购买 nike

首先我要说的是,这是一个不太理想的情况。我没有原始 WSDL 的副本来识别更改的内容;我还与无法提供帮助的开发人员合作。我的应用程序是在 Visual Studio 2010 中开发的,使用用 Java 编写的服务端点。

我有一个带有服务引用的 C# 应用程序,将任意调用它 Widget。 Widget 有一个方法 DoWork,它接受四个参数:argument01、argument02、argument03 和 argument04。

我生成的C#代码的方法签名是这样的

public DoWorkResponse DoWork(string argument01, int argument02, bool argument03, int argument04)

最近添加了一种新方法,我被告知要更新我的引用资料。当我这样做时,我的签名从上面更改为:

public DoWorkResponse DoWork(DoWork DoWork1)

DoWork 在哪里

partial class DoWork
{
string argument01;

int argument02;

bool argument03;

int argument04;

}

很抱歉,我无法提供原始代码,但正如你们大多数人所知,这是不可能的。

所以基本上我正在寻找一些关于 java 端可能发生的变化导致 Visual Studio 生成与之前不同的见解。

提前致谢!

最佳答案

可能是 SOAPBindingparameterStyle 元素注释已更改,使参数样式裸露而不是包裹。他们可以尝试将其添加到他们的服务定义中:

@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)  

他们的 SOAP 版本可能也已更改。我不是 Java Web 服务方面的专家,但是 this discussion提供有关 SOAP 和 Java Web 服务的信息。

如果他们无法或不愿意进行这些更改,您可以对客户端的绑定(bind)进行一些控制。请参阅.NET Framework Support for SOAP Formats 。基本上,您可以使用 wsdl.exe 的附加命令行参数从 WSDL 生成类。

另一方面,他们的源代码没有版本控制吗?当然,他们的历史记录会反射(reflect)他们对其服务或参数所做的更改。

关于C# 服务引用 Java -> C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7989001/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com