C# Webservice无法使用动态URL强制转换类型:XML文档中有错误(2691)
我使用app.config来区分远程web应用的“预览”和“生产”web服务URL。WSDL在预览和生产中都是相同的。但是,当我使用与Visual Studio在Web References文件夹中的URL不同的URL时,我会得到以下错误:C# Webservice无法使用动态URL强制转换类型:XML文档中有错误(2691),c#,web-services,C#,Web Services,我使用app.config来区分远程web应用的“预览”和“生产”web服务URL。WSDL在预览和生产中都是相同的。但是,当我使用与Visual Studio在Web References文件夹中的URL不同的URL时,我会得到以下错误:XML文档(2691)中有一个错误。 下面是我如何设置代码以使用应用程序设置中定义的URL的示例: MyNamespace.MyType.MyService ws = new MyNamespace.MyType.MyService() { Url =
XML文档(2691)中有一个错误。
下面是我如何设置代码以使用应用程序设置中定义的URL的示例:
MyNamespace.MyType.MyService ws = new MyNamespace.MyType.MyService()
{
Url = System.Configuration.ConfigurationManager.AppSettings["url"]
};
我在两个wsdl之间做了一个区别,唯一的区别是xsd:schema
上的targetNamespace
属性和soap:address
元素上的location
属性
我将URL行为设置为动态,我知道这是可能的,因为我以前在其他预览/生产应用程序中也这样做过。问题是预览和生产应用程序托管在两个单独的服务器上。将它们托管在同一台服务器(或至少是webservice)上允许名称空间保持不变,唯一的区别是URL Web服务以前看起来像这样:
- 生产-http://production.example.com/myapp/webservice.aspx
- 预览--http://preview.example.com/myapp/webservice.aspx
- 生产-http://example.com/production/myapp/webservice.aspx
- 预览--http://example.com/preview/myapp/webservice.aspx