嗨
你能告诉我如何编写一个.net web服务来通过SOAP调用java web服务(由不同的人编写)吗?
感谢您对Aparna的问候
发布于 2009-05-14 00:12:10
对于标准的SOAP webservice调用,底层实现对于使用它的应用程序来说不应该很重要。下拉WSDL,并希望这些调用有足够的文档记录,以便您执行所需的操作。对于来自另一种编程语言的类型转换要小心,它们可能不会像您在使用服务所使用的语言中所期望的那样通过webservice调用。
发布于 2009-05-14 10:46:28
与上面的答案一样,它应该是简单的。
您需要注意的一件事是,您公开的Java web服务满足WS-I基本概要标准-换句话说,它需要使用rpc/文本或文档/文本WSDL SOAP绑定。
如果您正在公开一个rpc/编码的web服务(如果您使用Apache Axis作为您的web服务堆栈,通常就是这种情况),那么您可能会在尝试从.NET客户端使用它时遇到问题。
这里有一篇关于WSDL绑定样式的好文章:http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/
发布于 2009-05-14 01:59:24
您只需使.NET服务成为Java服务的客户端:
右键单击您的web服务项目,并在"Address“框中使用"Add service Reference"
特别是,您应该有一个表示服务本身的服务。现在,一个给定的服务可以实现多个服务契约(在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();
}
}https://stackoverflow.com/questions/861012
复制相似问题