我创建了一个.NET 3.5 Web服务应用程序项目,它将托管在运行Windows Server 2008 R2的IIS 7.5下。我能够从同一台服务器上托管的ASP.NET应用程序以及我们网络中的其他服务器上使用该服务,没有任何问题。但是,当另一位员工尝试使用SOAP协议来调用此服务时,他们会收到以下错误消息: "XML解析器在行号0,行位置0处失败,原因是:拒绝访问。" 认证配置设置为集成Windows身份验证,并且在尝试使用服务时,使用者需要提供服务账户的凭据。是否有其他人遇到过这个问题并知道如何解决?
更新:在与我的同事和供应商的客户服务讨论如何使用我的Web服务后,他们透露了其INVOKE SOAP步骤中存在的限制。根据供应商的说法:“如果WSDL消息定义包含输入和输出消息的相同部分名称和相同数据类型,则Invoke SOAP对象无法解释包含In/Out参数的WSDL。” Web服务API包含一个具有相同名称的方法和输出参数。如果您在浏览器中查看Web服务方法,则响应具有以下结构:
现在的问题是...这是否是使用SOAP协议时常见的行为,还是仅限于供应商产品解析SOAP消息的方式?
更新:在与我的同事和供应商的客户服务讨论如何使用我的Web服务后,他们透露了其INVOKE SOAP步骤中存在的限制。根据供应商的说法:“如果WSDL消息定义包含输入和输出消息的相同部分名称和相同数据类型,则Invoke SOAP对象无法解释包含In/Out参数的WSDL。” Web服务API包含一个具有相同名称的方法和输出参数。如果您在浏览器中查看Web服务方法,则响应具有以下结构:
<soap:Body>
<MyServiceResponse>
<MyServiceResponse>
<property>...
现在的问题是...这是否是使用SOAP协议时常见的行为,还是仅限于供应商产品解析SOAP消息的方式?