2010-11-04 50 views
1

所以我必須設置一個web服務。基本上,我們通過HTTP向每個XML文件發送X509簽名的XML文件。我們有他們的URL,我們必須發佈,所以發送它不是一個大問題,我可以弄清楚。但是,我必須讓第三方知道他們可以發佈到哪個URL。我該如何實現該URL?在SOAP Web服務上尋找一個很好的解釋

我想設置Web服務,以便它自動檢測發佈給我們的任何請求,並從SOAP消息中提取簽名的XML並對其執行某些操作,然後有能力格式化XML響應的SOAP響應我們最終使用x509,並通過HTTP發送給他們。

任何人都可以給我一個像樣的解釋,我將如何在Visual Studio 2008中設置這樣的東西?我們有有api.ashx其他服務,有這樣的方法:

Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest 

但基本上是什麼,它抓住從HTTP該URL。我能以同樣的方式設置它嗎?

+0

嗨斯科特,這可能是一個好主意,用你的問題的標題(爲了後代的緣故),因爲它不清楚它與服務URL的關係。像「SOAP服務的URL如何確定?」這樣,更多的人可能會從中受益。 – sheikhjabootie 2010-11-16 06:00:54

回答

0

您的服務的URL與SOAP或其中的任何內容無關。如果您有WCF服務(.svc)或ASMX服務(.asmx),那麼通常情況下,您將託管在Web服務器的某個位置 - 如果您使用http作爲傳輸機制。

因此,URL - http://mywebserver.mydomain:80/a/b/c/myservice.svc - 可能對應於名爲myservice的服務文件。svc位於文件夾c中的文件夾c中,該文件夾位於文件夾a中,該文件夾位於網站的根目錄中,該文件夾正在端口80上偵聽(這是默認值,可以省略)稱爲mywebserver,它位於域mydomain上。

一個網站可能包含虛擬目錄以及常規目錄,所以這可能會更復雜一點。

所以,如果你使用IIS和沒有虛擬目錄的默認Web站點,那麼你會在這裏把你的服務文件:C:\的Inetpub \ wwwroot的\ A \ B \ C \ myservice.svc

希望這有助於

3

有SOAP的Web服務的一些很好的定義在那裏:

如何在.NET創建Web服務的一些例子:

有了這些條款和一些Google上搜尋它並沒有帶我太長時間來建立服務表現​​得像一個外部API我們的應用小型Web服務。

+0

我的主要問題被引用爲「但是,我必須讓第三方知道他們可以發佈到哪個URL上,我該如何實現該URL?」。 – Scott 2010-11-10 14:12:51

+0

@Scott - 請參閱上面第三個示例的步驟2:「這是客戶端將用來訪問此服務的WSDL文檔。」 – leakyboat 2010-11-13 14:08:29

0

客戶端將調用您的服務的URL是「我猜」取決於您的工具包。 即Manual是你的朋友。

這是提供AXIS2C: 該服務的服務目錄下部署。這也是你的網絡服務器指向的。

下服務因此任何事情/ MyCustomService會翻譯: http://yourip:port/axis2/services/MyCustomService

有了您的SOAP工具包,端點可能有不同的佈局。目前我打電話給MS工具包的服務如下所示:http://theirip:port/name/name.aspx/serviceName

乾杯!