我创建了一个.NET 3.5 Web服务应用程序项目,该项目将在Windows Server 2008 R2服务器上的IIS 7.5下托管。
我可以从整个网络中同一服务器和其他服务器上托管的ASP.NET应用程序中使用该服务,而不会出现任何问题。当另一名员工尝试使用SOAP协议使用该服务时,他们会收到以下错误:
XML解析器在linenumber 0,lineposition 0处失败,原因是:Access 被拒绝。
身份验证配置设置为集成Windows身份验证,消费者在尝试使用服务时需要提供服务帐户的凭据。
是否有其他人遇到过这个问题,他们知道如何解决这个问题吗?
更新
在与我的同事和供应商的客户服务部门讨论使用我的网络服务后,他们发现他们的INVOKE SOAP步骤存在局限性。根据供应商的说法:
Invoke SOAP对象无法解释包含In / Out的WSDL WSDL消息定义包含相同部分的参数 输入的名称和输出消息以及相同的数据类型。
Web服务API包含一个名称相同的方法和输出参数。如果您在浏览器中查看Web服务方法,它在响应中具有以下结构:
<soap:Body>
<MyServiceResponse>
<MyServiceResponse>
<property>...
现在的问题....这是使用SOAP协议时的常见行为还是仅限于供应商的产品如何解析SOAP消息?
答案 0 :(得分:0)
这似乎是供应商特定的弱点,而不是SOAP规范问题。他们可能有一个半实现的SOAP堆栈。