2016-01-22 57 views
1

嗨,我可以添加一個屬性到我的asp.net Web服務頭?ASP.NET WEB服務:添加自定義屬性C#

我需要包含如下內容:xmlns:trac =「http:// whatever」。

這是我的代碼:

namespace com.chronopost.notification.push.trace.webservice 
{ 
    [WebService(Namespace = "http://webservice.trace.push.notification.chronopost.com/")] 
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
    [System.ComponentModel.ToolboxItem(false)] 
    public class TracePushWSService : System.Web.Services.WebService 
    { 
     [WebMethod] 
     public string TraceMessageFeedback(DtTrackTraceParamUserCredential mtTrackTraceParamUserCredential, string mtTrackTraceTestFeedBack) 
     { 

      return "DTM00: TracePush Feedback: " + mtTrackTraceTestFeedBack; 

     } 

     [WebMethod] 
     public DtTrackTraceAnswer NewTraceMessage(DtTrackTraceParamUserCredential mtTrackTraceParamUserCredential, DtTrackTraceParam mtTrackTraceReq) 
     { 

      DtTrackTraceAnswer iDtTrackTraceResp = new DtTrackTraceAnswer("DTM00: TracePush OBJ - OK"); 

      return iDtTrackTraceResp; 
     } 

     [WebMethod] 
     public DtTrackTraceAnswerXML NewTraceMessageXML(DtTrackTraceParamUserCredential mtTrackTraceParamUserCredential, DtTrackTraceParamXML mtTrackTraceReqXML) 
     { 

      DtTrackTraceAnswerXML iDtTrackTraceResp = new DtTrackTraceAnswerXML("DTM00: TracePush XML - OK"); 

      return iDtTrackTraceResp; 
     } 
    } 
} 

回答

0

我想我知道你想要什麼。只需去你的類objetcs並設置XmlRoot。前綴和名稱空間:trac = http://whatever。它將在肥皂信封中可用。

0

如果我正確understoo你所需要SoapExtension Class,你可以看看的例子在MSDN,有關Web服務方法創建屬性。

ASP.NET允許通過 可擴展性機制構建SOAP相關的基礎結構。 ASP.NET SOAP擴展架構 圍繞一個擴展,該擴展可以在客戶端或 服務器上的消息處理的特定階段檢查或修改消息 。 ASP.NET SOAP擴展派生自SoapExtension類。 GetInitializer和Initialize方法提供替代 初始化SOAP擴展以提高性能的機制。 ProcessMessage是大多數SOAP擴展的核心,因爲在SoapMessageStage中定義的每個階段都調用方法 ,允許SOAP 擴展執行特定SOAP 擴展的所需行爲。對於需要修改SOAP請求或SOAP響應的SOAP擴展,ChainStream提供了一個機會來接收要通過線路發送的建議數據 。