2016-01-22 61 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提供了一个机会来接收要通过线路发送的建议数据 。