动态修改命名空间SoapTypeAttribute
本文关键字:SoapTypeAttribute 命名空间 修改 动态 | 更新日期: 2023-09-27 18:07:50
我有一个服务引用visual studio的问题。
我有一个客户谁给了我一个WSDL文件与php工作。我在我的项目中引用了他的ClassLibrary wsdl的服务。下面是生成的代理代码
的一部分
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.SoapTypeAttribute(Namespace="http://127.0.0.1:88/webservices/wsdl")]
public partial class loginReturn : object, System.ComponentModel.INotifyPropertyChanged {
我的问题是wsdl is可以在另一个服务器上安装到第二个客户端。因此,wsdl的地址在我的app.config
中设置。我做了一个测试,通过更改服务器端口遇到了错误我的问题是SoapTypeAttribute的命名空间
[System.Xml.Serialization.SoapTypeAttribute(Namespace="http://127.0.0.1:88/webservices/wsdl")]
如何根据服务器地址改变这个属性值,因为我有这个错误
方法
loginReturn t = service.Getlogin("username", "pwd");
谢谢你的帮助
该属性是由wsdl文件中的"127.0.0.1:82/moodle/wspp/wsdl"
命名空间引起的。这可以是任何值,只要它是唯一的,通常使用url。只要在两个服务器上都是相同的,那么在web服务的代理类上设置URL就应该可以工作。例如
MyMroxyClass.Url = ConfigurationManager.AppSettings["MyServiceURL"]
我解决了这个问题。
问题出在服务器端,而不是客户端。我的客户端在每个服务器上重新生成wsdl,因此更改后的wsdl的签名