gpt4 book ai didi

c# - 如何在 .NET/ASMX 中更改 WebService 响应的标签名称?

转载 作者:太空狗 更新时间:2023-10-29 21:30:44 26 4
gpt4 key购买 nike

我有以下代码:

namespace WebService1
{
[System.Web.Services.WebService(Namespace = "mynamespace",
Name = "ControlModuleService")]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Services.WebServiceBindingAttribute(Name = "ControlModulePort"),
SoapDocumentService(SoapBindingUse.Literal,SoapParameterStyle.Bare)]

public class Service1 : CommandCenter
{

[WebMethod, SoapDocumentMethod(
ResponseElementName = "setConfigurationResponse")]
public setConfigurationResponse setConfiguration(setConfigurationRequest request)
{

return new setConfigurationResponse();
}
}

类型:

[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.MessageContractAttribute(WrapperName = "setConfigurationResponse", WrapperNamespace = "mynamespace", IsWrapped = false)]
public partial class setConfigurationResponse
{

[System.ServiceModel.MessageBodyMemberAttribute(Namespace = "mynamespace", Order = 0)]
[System.Xml.Serialization.XmlElementAttribute("return", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public transaction[] @return;

public setConfigurationResponse()
{
}

public setConfigurationResponse(transaction[] @return)
{
this.@return = @return;
}
}

它生成以下 WSDL:

<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="mynamespace">
<s:element name="request" type="tns:setConfigurationRequest" />
<s:complexType name="setConfigurationRequest">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" form="unqualified" name="transactions" type="tns:transaction" />
<s:element minOccurs="1" maxOccurs="1" form="unqualified" name="turnOnMode" type="s:boolean" />
<s:element minOccurs="1" maxOccurs="1" form="unqualified" name="turnOffMode" type="s:boolean" />

</s:sequence>
</s:complexType>
<s:complexType name="transaction">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" form="unqualified" name="idCC" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" form="unqualified" name="idTrans" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" form="unqualified" name="startTime" type="s:long" />
<s:element minOccurs="1" maxOccurs="1" form="unqualified" name="state" type="s:int" />
</s:sequence>

</s:complexType>
<s:element name="setConfigurationResult" type="tns:setConfigurationResponse" />
<s:complexType name="setConfigurationResponse">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" form="unqualified" name="return" type="tns:transaction" />
</s:sequence>
</s:complexType>
...
</s:schema>
</wsdl:types>

为什么将名称 setConfigurationResponse 更改为 setconfigurationResult?我该如何更改它?

最佳答案

它既简单又复杂,很难找到:

类定义的正上方:

[XmlRoot(DataType = "setConfigurationResponse", ElementName = "setConfigurationResponse")] 

导致...

[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.MessageContractAttribute(WrapperName = "setConfigurationResponse", WrapperNamespace = "mynamespace", IsWrapped = false)]
[XmlRoot(DataType = "setConfigurationResponse", ElementName = "setConfigurationResponse")]
public partial class setConfigurationResponse
{

[System.ServiceModel.MessageBodyMemberAttribute(Namespace = "mynamespace", Order = 0)]
[System.Xml.Serialization.XmlElementAttribute("return", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public transaction[] @return;

public setConfigurationResponse()
{
}

public setConfigurationResponse(transaction[] @return)
{
this.@return = @return;
}
}

最后……:)

<s:element name="setConfigurationResponse" nillable="true" type="tns:setConfigurationResponse"/>

<s:complexType name="setConfigurationResponse">

<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" form="unqualified" name="return" type="tns:transaction"/>
</s:sequence>
</s:complexType>

关于c# - 如何在 .NET/ASMX 中更改 WebService 响应的标签名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4275761/

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