0

svcutils で生成された Web サービス プロキシがあります。Web サービスを使用すると、エラーが発生します。

名前空間 ' http://schemas.soa.tretretre.it/Architettura/ProfilingSchema/2012-09-18 'の XML 要素 'Profile' は、メソッドと型を参照します。WebMethodAttribute を使用してメソッドのメッセージ名を変更するか、XmlRootAttribute を使用して型のルート要素を変更してください。」

生成コードには、「プロファイル」が 2 箇所あります。

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]

/*** HERE IT IS ****/

    [System.ServiceModel.MessageContractAttribute(WrapperName="Profile", WrapperNamespace="http://schemas.soa.tretretre.it/Architettura/ProfilingSchema/2012-09-18", IsWrapped=true)]
    public partial class getProfileResponse
    {    [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://schemas.soa.tretretre.it/Architettura/ProfilingSchema/2012-09-18", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("ApplicationProfile")]
        public ApplicationProfile[] ApplicationProfile;

        public getProfileResponse()
        {
        }

        public getProfileResponse(ApplicationProfile[] ApplicationProfile)
        {
            this.ApplicationProfile = ApplicationProfile;
        }
    }

.......

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]

/*** HERE IT IS ****/
    [System.ServiceModel.MessageContractAttribute(WrapperName="Profile", WrapperNamespace="http://schemas.soa.tretretre.it/Architettura/ProfilingSchema/2012-09-18", IsWrapped=true)]


    public partial class getMobileProfileResponse
    {  [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://schemas.soa.tretretre.it/Architettura/ProfilingSchema/2012-09-18", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("ApplicationProfile")]
        public ApplicationProfile[] ApplicationProfile;

        public getMobileProfileResponse()
        {
        }

        public getMobileProfileResponse(ApplicationProfile[] ApplicationProfile)
        {
            this.ApplicationProfile = ApplicationProfile;
        }
    }

最初の「プロファイル」オカレンスの名前空間を次から変更します: " http://schemas.soa.tretretre.it/Architettura/ProfilingSchema/2012-09-18 "

" http://schemas.soa.tretretre.it/Architettura/ProfilingSchema/2012-09-18TEST "

問題を解決します。

私はサービスにアクセスできず、Web サービスについてあまり知りません。サーバー側がどのような状況で問題を発生させたのか説明していただけますか? つまり、クラス/オブジェクト定義の種類..名前の競合であることは理解していますが、明確な例または説明が必要です...

4

0 に答える 0