【发布时间】:2012-09-25 15:30:13
【问题描述】:
我必须与运行在 Axis 1.2 上的 Web 服务进行通信(使用 .NET)。我使用两个 .NET 工具和 WSDL 创建了 C# 代理,但遇到了以下问题:
1) WSDL.exe 创建了一个缺少方法输入参数的代理。例如如果应该有这样的方法:
AReturnType AMethod(AnInputType);
创建的代理有这样一个方法:
void AMethod();
2) 我读过,建议使用 SVCUTIL.exe,而不是 WSDL.exe。所以我用 SVCUTIL 创建了代理,但是遇到了 NULL 返回对象的infamous problem。不幸的是,我找不到任何合适的解决方案。
所以我愿意手动进行设置。这是我所拥有的:
- SoapUI 可以很好地解析 WSDL,可以检查 SOAP/XML 请求/响应。
- Axis WSDL2JAVA 生成正确的 Java 代码,并且运行良好
- 使用 HttpWebRequest 发送 XML/SOAP 请求会生成正确的 XML/SOAP 响应。
- 我尝试使用 XSD.EXE 工具生成 XSD 和 C# 对象并将 XML 响应(通过上一步获得)序列化到这些对象中。
那你有什么建议?有没有办法以某种方式手动创建代理?或者生成的 Java 代码能以某种方式帮助我吗?
【问题讨论】:
标签: c# wcf web-services wsdl