通过更改URL在.Net Web服务和Java Web服务之间切换

时间:2012-06-19 12:20:52

标签: java .net web-services client stubs

情况如下。我收到了一个由Apache / Tomcat服务器(Java)生成的WSDL(并包含XSD)。我做一个项目的公司,更喜欢.NET,所以我使用wsdl.exe生成一个部分类并创建了web服务。

然后我创建了一个.NET客户端(在本例中我使用的是VB.NET),它具有对java wsdl的Web引用。这很好用。然后我使用代码更改URL并使其指向我新创建的.NET服务,但我似乎无法让它工作。 反之亦然,似乎也没有用。

对名称空间和服务名称进行了一些调整,但似乎无法破解它。继续给我一个关于HTTP标头无法找到的错误。作为一种方法。这表明运输问题。

我真的不想恢复计划B,即创建Java Web服务,然后将其链接到.NET环境。我知道这会有效,因为你永远不必改变网址。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

总结一下,你有:
SERVER SIDE:java,WSDL:java生成
.NET客户端 - > java服务器 - WORKS .NET客户端 - > .NET服务器 - >失败

如果是这样的话,这与Java没什么关系! 但我确实知道,我早些时候已经说过.NET服务器对肥皂动作标题很挑剔 您的WSDL中是否有soapAction?
如果是这样,你需要发送该值,但我不知道如何在.NET中执行此操作(Google将成为您的朋友)。
如果没有,请查看此问题中的注释,了解如何确定所需的soap操作标头值:stackoverflow.com/questions/2262781/soap-action-wsdl

答案 1 :(得分:0)

在通过devine知识库(谷歌)进行一些搜索之后,我设法解决了这个问题。

除了在指定端口名时非常小心(默认的端口并不总是请求,所以你需要覆盖它)但最重要的是,我发现添加了

作为asm类头的一部分解决了我的问题。现在我需要做的就是找出原因?

但相信我,它有效......

I found the solution here