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