尝试在Classic ASP中捕获SOAP请求

时间:2009-08-04 18:15:56

标签: xml web-services soap asp-classic

我是一名经典的ASP开发人员。我知道,我应该学习.NET,但只剩下几年了。我认为自己很先进。

我有第三方应用程序,如果我开发它,会将数据导出到Web服务。我很想知道我可以在ASP中构建它而不必学习.NET。

我的问题是我还没弄明白如何检索它所做的请求。

Request.Querystring或Request.Form或Request.ServerVariables集合方法都没有显示任何内容。我使用CharlesProxy来查看它发送的XML / SOAP请求是什么样的,但我还没弄清楚如何在ASP中捕获它。

我注意到传递的HTTP_SOAPACTION的ServerVariables请求显示正在调用的操作,但我根本无法弄清楚如何检索传递的XML字符串。

非常感谢任何帮助。

4 个答案:

答案 0 :(得分:1)

这样的价值......如果我不得不用这样的方式写一些琐碎的网络服务,我可能会大喊大叫。

...无论如何,你经历过this article吗?它似乎是在服务器部分使用ASP。

我认真考虑选择一些基本的ASP.NET(或只是.NET WCF)技能。使用VB.NET,如果它让你感觉更“在家”。如果不是为了你自己,请考虑你的继任者的理智:)下载Visual Web Developer 2008 Express并尝试一下。

答案 1 :(得分:0)

如果他们想要一个真正的SOAP Web服务,那么您将不得不手动创建一个实际的WSDL。这需要花费足够的精力才能在.NET中编写一些小型Web服务。

你也知道VB6吗?如果是这样,那么我建议你尽可能多地编写Web服务的内容作为VB6中的COM组件。让组件接受MSXML2.DomDocument或其他任何东西,并使用您熟悉的技术完成所有难题。

.NET Web服务部分将是微不足道的,并且只是您在创建WCF服务项目时获得的标准“hello,world”服务的修改。您所要做的就是引用您创建和注册的COM组件,从.NET XML类型到MSXML类型进行简单的转换,并调用您的组件,您将完成。

答案 2 :(得分:-1)

如果您认为自己“高级”,那么您应该花几天时间研究VB.NET并将其实现为简单的ASMX Web服务。如果你想要更多的痛苦但是变化多样,那么为WCF建立肠道坚韧并建立一个WCF服务。如果你已经在游戏中足够长的时间,你会明白,创造更具可持续性的东西,即使是开始的重大承诺,也不会那么痛苦。

答案 3 :(得分:-2)

然而,WCF有一些你应该知道的限制 - 比如它拒绝连接到IE等客户端和其他ASP构建的客户端(因为它们在客户端头中使用“mozilla”字符串) - 并配置WCF客户端正确的服务器连接就像是在马赫3的F-14中蒙着眼睛进行脑部手术,头发着火。不那么容易。

我的推荐是使用C#的ASP。容易腻,柠檬挤压。