更改wsdl:部件名称

c# .net web-services wcf wsdl

218 观看

1回复

8 作者的声誉

有没有办法name在WSDL 中更改消息部分?我在我的WSDL上有这个:

<wsdl:message name="getDataRequestMsg">
    <wsdl:part name="getData" element="tns:getData"/>
</wsdl:message>
<wsdl:message name="getDataRequestMsg_Headers">
    <wsdl:part name="Header" element="tns:Header"/>
</wsdl:message>
<wsdl:message name="getDataResponseMsg">
    <wsdl:part name="getDataResponse" element="tns:getDataResponse"/>
</wsdl:message>
<wsdl:message name="getDataResponseMsg_Headers">
    <wsdl:part name="Header" element="tns:Header"/>
</wsdl:message>

我正在使用a MessageContractAttribute,我实际上可以使用respetive name属性MessageBodyMemberAttribute更改element名称,但它也会更改名称,这不是我想要的。我的MessageContract如下:

[System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
public partial class getDataRequestMsg
{
    [System.ServiceModel.MessageHeaderAttribute()]
    public Header[] Header;

    [System.ServiceModel.MessageBodyMemberAttribute()]
    public getData getData;

    public getDataRequestMsg()
    {
    }

    public getDataRequestMsg(Header[] Header, getData getData)
    {
        this.Header = Header;
        this.getData = getData;
    }
}

[System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
public partial class getDataResponseMsg
{
    [System.ServiceModel.MessageHeaderAttribute()]
    public Header[] Header;

    [System.ServiceModel.MessageBodyMemberAttribute()]
    public getDataResponse getDataResponse;

    public getDataResponseMsg()
    {
    }

    public getDataResponseMsg(Header[] Header, getDataResponse getDataResponse)
    {
        this.Header = Header;
        this.getDataResponse = getDataResponse;
    }
}
作者: Random1 的来源 发布者: 2018 年 1 月 4 日

回应 1


0

6 作者的声誉

[WebMethod()]
[return: System.Xml.Serialization.XmlElement("your_element_name")]
public your_type YourMethod()
{
    // your code
}
作者: H.Cq. 发布者: 2018 年 8 月 31 日
32x32