我有以下代码:
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? 我怎样才能改变它?
答案 0 :(得分:6)
这很简单,因为它很复杂而且模糊不清:
正好在班级定义之上:
[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>
答案 1 :(得分:1)
[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;
}
}