這是情況。我從Apache/Tomcat服務器(Java)生成的某個人收到了WSDL(幷包含XSD)。我做一個項目的公司,更喜歡.NET,所以我使用wsdl.exe來生成部分類並創建了web服務。通過更改URL在.Net Webservice和Java Webservice之間切換
然後,我創建了一個.NET客戶端(在這種情況下,我使用的是VB.NET),它具有對java wsdl的Web引用。這工作正常。然後我使用代碼更改網址,並使其指向我新創建的.NET服務,但似乎無法使其工作。 反過來做這件事似乎也行不通。
用命名空間和服務名稱擺弄了一下,但似乎無法破解它。給我一個關於HTTP頭無法找到的錯誤。作爲一種方法。這表示運輸問題。
我真的不想回到計劃B,創建一個Java Web服務,然後將其鏈接到.NET環境。我知道這會起作用,因爲你永遠不需要更改網址。
有什麼建議嗎?
請做一些更多的研究(或問一些問題,以 '人')。 Tomcat無法生成任何wsdl文件。像軸,軸2,cfengine,地鐵等框架。 。 。去做。什麼是肥皂版本(1.1或1.2)?使用哪種編碼(rpc/encoded,document/literal ...)?最後但並非最不重要的是:當涉及到「錯誤」時更具體。這裏的人不喜歡隨便猜測。 。 。 – MartinK
問題是非常具體的:是否有可能有1個客戶端存根連接到一個Java生成(可能是axis2)和.NET(C#版本2或更高版本),而無需重新生成stibs,但只需更改url。使用soap版本並不重要,因爲.NET客戶端支持您提到的兩個版本。如果可能存在關於asmx文件或名稱空間或操作名稱的任何問題,我對此感興趣。 – ZorbaSan
連接到.net Web服務時得到的確切錯誤:System.Web.Services.Protocols。的SoapException:服務器無法識別的HTTP頭SOAPAction的價值。 在System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest() 在System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage消息) 在System.Web.Services.Protocols.SoapServerProtocol.Initialize() 在系統.Web.Services.Protocols.ServerProtocol.SetContext(類型類型,HttpContext的上下文中,請求的HttpRequest,HttpResponse對象響應) 在System.Web.Se ...... – ZorbaSan