HI
请问您如何编写.net Web服务来通过SOAP调用java Web服务(由不同的人编写)。
谢谢 问候 阿帕娜
答案 0 :(得分:1)
对于标准的SOAP Web服务调用,底层实现对于使用应用程序应该不重要。下拉WSDL并希望这些调用记录得足够好,以便您可以执行所需操作。请注意来自其他编程语言的类型转换,它们可能不会像您在使用该服务所使用的语言中所期望的那样通过Web服务调用。
答案 1 :(得分:1)
与上述答案一样, 应该是直截了当的。
您需要注意的一件事是,您公开的Java Web服务符合WS-I Basic Profile标准 - 换句话说,它需要使用rpc / literal或document / literal WSDL SOAP绑定。
如果您正在公开rpc /编码的Web服务(如果您使用Apache Axis作为Web服务堆栈通常就是这种情况),那么可能会遇到问题从.NET客户端使用它。
这里有一篇关于WSDL绑定样式的好文章: http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/
答案 2 :(得分:0)
您只需将.NET服务作为Java服务的客户端:
特别是,你应该有一个代表服务本身。现在,给定的服务可以实现多个服务契约(在WSDL术语中称为“端口类型”)。如果服务实现 JavaServiceContract 端口类型,那么您应该找到名为 YourProjectNamespace .JavaService。 JavaServiceContract Client的类。假设此合约包含名为“JavaOperation”的操作,您应该这样调用它:
int returnValue = 0;
YourProjectNamespace.JavaService.JavaServiceContractClientjavaService = null;
try {
javaService =
new YourProjectNamespace.JavaService.JavaServiceContractClient();
returnValue = javaService.JavaOperation();
}
finally {
if (javaService != null) {
((IDisposable)javaService.)Dispose();
}
}
答案 3 :(得分:0)
基本上在.net web服务,.net web app或.net windows应用程序中调用java Web服务没有任何差别。 看看这篇文章。希望它能清除你所有的疑虑 http://blogs.msdn.com/bursteg/archive/2008/07/19/how-to-call-a-java-ee-web-service-from-a-net-client.aspx