寻找有关SOAP Web服务的良好解释

时间:2010-11-04 13:17:22

标签: xml web-services http soap x509certificate

所以我必须设置一个Web服务。基本上,我们通过HTTP向每个人发送X509签名的XML文件。我们有他们要发布的URL,所以发送它不是一个大问题,我可以解决这个问题。但是,我必须让第三方知道他们可以发布到哪个网址。我该如何实现该URL?

我想设置Web服务,以便它自动检测发布给我们的任何请求,并从soap消息中提取签名的XML并对其执行某些操作,然后能够格式化在我们的XML上签名的SOAP响应使用x509结束,并通过HTTP将其发送回给他们。

任何人都可以给我一个体面的解释,我将如何在Visual Studio 2008中设置这样的东西?我们有其他服务有api.ashx,其方法如下:

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

但基本上它抓取HTTP的URL是什么。我可以用同样的方式设置它吗?

3 个答案:

答案 0 :(得分:3)

那里有一些很好的SOAP Web服务定义:

有关如何在.NET中创建Web服务的一些示例:

通过这些文章和一些谷歌搜索,我没有花太多时间来设置一个小型的Web服务,其服务就像我们的应用程序的外部API。

答案 1 :(得分:0)

客户端将调用您的服务的URL是“我猜”取决于您的工具包。 即手册是你的朋友。

这是Axis2c提供的: 该服务部署在services目录下。您的网络服务器也指出了这一点。

因此,services / MyCustomService下的任何内容都将翻译为: http://yourip:port/axis2/services/MyCustomService

使用SOAP工具包,端点可能具有不同的布局。我正在调用的MS工具包上的服务类似于:http://theirip:port/name/name.aspx/serviceName

干杯!

答案 2 :(得分:0)

您的服务的URL与SOAP或其中任何一个无关。如果您有WCF服务(.svc)或ASMX服务(.asmx),那么通常,您将在Web服务器中的某个位置托管 - 如果您使用http作为传输机制。

所以URL - http://mywebserver.mydomain:80/a/b/c/myservice.svc - 可能对应于文件夹c中名为myservice.svc的服务文件,该文件位于文件夹b中,该文件位于文件夹a中,位于Web的根目录中正在侦听端口80的站点(这是默认值,可以省略)在名为mywebserver的服务器上,该服务器驻留在域mydomain上。

网站可能包含虚拟目录以及常规目录,因此这可能会有点复杂。

因此,如果您在IIS上使用默认网站而没有虚拟目录,那么您可以将服务文件放在此处:C:\ Inetpub \ wwwroot \ a \ b \ c \ myservice.svc

希望有所帮助