gpt4 book ai didi

c# - SOAP web 服务时出现 InvalidOperationException - 但在开发机器上工作

转载 作者:太空宇宙 更新时间:2023-11-03 23:08:38 24 4
gpt4 key购买 nike

我有一个继承自 SoapHttpClientProtocol 的网络服务类

[WebServiceBinding(Name = "gp_ws_mySoap", Namespace = "https://www.xxx/yyy/")]
internal class WebserviceNestle : SoapHttpClientProtocol
{
public WebserviceNestle(string sUrl) : base()
{
Url = sUrl;
}

[SoapDocumentMethod("https://www.xxx/yyy/test",
RequestNamespace = "https://www.xxx/yyy/",
ResponseNamespace = "https://www.xxx/yyy/",
Use = SoapBindingUse.Literal,
ParameterStyle = SoapParameterStyle.Wrapped)]
public XmlNode test(string a, int b)
{
var results = Invoke("test", new object[] {
a,
b
});
return (XmlNode)results[0];
}
}

在我的开发机器上,webservice 调用有效,但是在生产环境中,我得到异常“System.InvalidOperationException: The XML element named '' from namespace” from namespace is already present in the current范围:

异常的堆栈跟踪是:

System.InvalidOperationException: Die ?????????????????????????????????????????.?????????????????????????????????????????-Methode kann nicht reflektiert werden. ---> System.InvalidOperationException: Fehler beim Reflektieren von ''. ---> System.InvalidOperationException: Das XML-Attribut '' im Namespace 'https://www.yyy/xxx/' ist bereits im aktuellen Bereich vorhanden. Verwenden Sie XML-Attribute, um einen anderen XML-Namen oder -Namespace für das Element anzugeben. bei System.Xml.Serialization.XmlReflectionImporter.AddUniqueAccessor(INameScope scope, Accessor accessor) bei System.Xml.Serialization.XmlReflectionImporter.AddUniqueAccessor(MemberMapping member, INameScope elements, INameScope attributes, Boolean isSequence) bei System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, RecursionLimiter limiter) --- Ende der internen Ausnahmestapelüberwachung --- bei System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, RecursionLimiter limiter) bei System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(String elementName, String ns, XmlReflectionMember[] members, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, XmlMappingAccess access) bei System.Web.Services.Protocols.SoapReflector.ImportMembersMapping(XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, Boolean serviceDefaultIsEncoded, Boolean rpc, SoapBindingUse use, SoapParameterStyle paramStyle, String elementName, String elementNamespace, Boolean nsIsDefault, XmlReflectionMember[] members, Boolean validate, Boolean openModel, String key, Boolean writeAccess) bei System.Web.Services.Protocols.SoapReflector.ReflectMethod(LogicalMethodInfo methodInfo, Boolean client, XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, String defaultNs)

最佳答案

我发现了问题:

我使用Confuser ( https://yck1509.github.io/ConfuserEx/ ) 来保护应用程序,这导致了SoapHttpClientProtocol 父类构造函数中的反射错误。

关于c# - SOAP web 服务时出现 InvalidOperationException - 但在开发机器上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40260410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com