使用Visual Studio 2010中,我開發一個Web應用程序託管的第三方使用WCF服務。他們告訴我他們不能調用它。爲了測試,他們將我重定向到Altova XmlSpy,並指出,在創建新的SOAP請求時,如果他們選擇「作爲SOAP + XML發送(SOAP 1.2)」,請在「更改SOAP請求參數」菜單項中選中,以下兩個警報對話框:無法發送WCF服務請求作爲SOAP + XML
HTTP error: could not POST file ‘/TurniArc/WebServices/Processi.svc’ on server ’10.51.0.108’ (415)
Error sending the soap data to ‘http://10.51.0.108/TurniArc/WebServices/Processi.svc’ HTTP error: could not POST file ‘/TurniArc/WebServices/Processi.svc’ on server ’10.51.0.108’ (415)
我確實證實了這一點。 取消選中該選項,請求按需要提交。我從來沒有用soapUI來調用我的web服務,這是我一直用於內部測試的軟件。
這是第一個Web服務創建,開始沒有任何中的理論知識(但我想每個人都沒有:-)),所以我甚至不知道從哪裏閒逛來解決這個問題。問題在於綁定嗎?我創建使用添加/新項目/ WCF服務,保留所有默認選項的服務,所以應該basicHttpBinding的
這是我的web.config的serviceModel部分
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true"/>
<!--other bindings related to proxies to other services I'm invoking -->
</system.serviceModel>
我的接口只有在
[ServiceContract(Namespace="http://www.archinet.it/HRSuite/Processi/")]
屬性和類實現它具有
[ServiceBehavior(IncludeExceptionDetailInFaults = true, Namespace = "http://www.archinet.it/HRSuite/Processi/")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
個屬性
謝謝
編輯:第三方是否正在使用Oracle SOA中間件
那麼什麼是正確的綁定? WsHttpBinding的? – Piddu 2011-05-31 12:29:11
沒有以正確的方式是向您發送SOAP 1.1 – 2011-05-31 12:34:29
請求正如我剛纔在郵件中寫道,他們正在使用Oracle SOA,所以,只要它們能夠改變請求格式,他們必須做出每個小編輯是一個長期的昂重的事情。由於我的身體更加敏捷,我認爲我的軟件是一致的;今天早上我研究了一下,wsHttpBinding整體看起來更好。是嗎? – Piddu 2011-05-31 12:50:28