【发布时间】:2012-06-19 12:20:51
【问题描述】:
情况是这样的。我从某人那里收到了一个由 Apache/Tomcat 服务器 (Java) 生成的 WSDL(包括 XSD)。我为其做项目的公司更喜欢 .NET,所以我使用 wsdl.exe 生成部分类并创建了 Web 服务。
然后我创建了一个 .NET 客户端(在本例中我使用的是 VB.NET),它具有对 java wsdl 的 Web 引用。这工作正常。然后我使用代码更改 url 并使其指向我新创建的 .NET 服务,但我似乎无法让它工作。 反过来做,好像也没用。
对命名空间和服务名称进行了一些调整,但似乎无法破解它。不断给我一个关于 HTTP 标头无法找到的错误。作为一种方法。这表明存在传输问题。
我真的不想回到计划 B,即创建 Java Web 服务,然后将其链接到 .NET 环境。我知道这会起作用,因为您永远不必更改网址。
有什么建议吗?
【问题讨论】:
-
请做更多研究(或向“某人”提问)。 Tomcat 无法生成任何 wsdl 文件。框架,如axis、axis2、cfengine、metro。 . .去做。使用的肥皂版本是什么(1.1 或 1.2)?使用哪种编码(rpc/encoded、document/literal ......)?最后但同样重要的是:在“错误”方面更加具体。这里的人不太喜欢胡乱猜测。 . .
-
问题非常具体:是否可以将 1 个客户端存根链接到生成的 java(可能是 axis2)和 .NET(C# 版本 2 或更高版本)而不重新生成存根,而是通过只需更改网址。使用什么肥皂版本并不重要,因为 .NET 客户端支持您提到的两者。我对 asmx 文件的名称或命名空间或操作名称是否存在任何问题感兴趣。
-
连接到 .net Web 服务时遇到的确切错误:System.Web.Services.Protocols.SoapException: Server did not identify the value of HTTP Header SOAPAction: 。在 System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest() 在 System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage 消息) 在 System.Web.Services.Protocols.SoapServerProtocol.Initialize() 在 System.Web.Services .Protocols.ServerProtocol.SetContext(Type type, HttpContext context, HttpRequest request, HttpResponse response) at System.Web.Se......
-
我在使用 JAX-WS 和 soap 动作标头时遇到了问题 - 您使用的是 JAX-WS 来拨打电话吗?
-
不,我使用的是 .NET 客户端。 Java 服务器(我检查过)是 JAX_WS。
标签: java .net web-services client stubs