2017-11-07 12 views
0

注:これを却下する傾向がある場合は、少なくとも理由を説明してください。私はここで学びたいと思っています。ありがとう。サービスリファレンス名前空間/契約名の問題

私はサービスリファレンスを作成しました。私はそれをServiceSoapの名前空間を提供しようとすると、それが結果として、私はクライアントのセクションのためにこれではapp.configを取得し、ServiceSoap.ServiceSoapとして名前空間を生成し、そして:

<client> 
<endpoint address="http://blablabla/_mmwebext/mmwebext.dll?Soap" 
    binding="basicHttpBinding" bindingConfiguration="ServiceSoap" 
    contract="ServiceSoap.ServiceSoap" name="ServiceSoap" /> 
<endpoint address="http://blablabla/_mmwebext/mmwebext.dll?Soap" 
    binding="customBinding" bindingConfiguration="ServiceSoap12" 
    contract="ServiceSoap.ServiceSoap" name="ServiceSoap12" /> 
</client> 

しかし、私がしようとすると、

"ServiceModelクライアント構成セクションで、名前が「ServiceSoap」で、契約が「ServiceSoap」でないエンドポイント要素が見つかりませんでした。これは、構成ファイルが存在しない可能性があります。または、この名前に一致するエンドポイント要素がクライアント要素に見つかりませんでした。

_mm = new ServiceSoapClient("ServiceSoap", endpoint.AbsoluteUri.ToString()); 

OR私はパラメータなしのコンストラクタでそれをしようとした場合::私はそれが名前とエンドポイントを指定しようとした場合です

_mm =新しいServiceSoapClientを();

1)契約名を渡すか、2)ServiceSoapの追加を中止するようにサービス参照を強制してください。名前の前に名前空間として指定しています。私はこれらのどちらかを行う方法は見ていません(コンストラクタはコントラクト名のパラメータを取らず、名前空間の作成がServiceSoap.ServiceSoapに変わるのを防ぐ方法が見当たりません)。

ありがとう。予めここ

答えて

0

問題があった。この行その:

[System.ServiceModel.ServiceContractAttribute(ネームスペース= "http://menandmice.com/webservices/"、ConfigurationNameは= "ServiceSoap")]

に変更する必要が:

[System.ServiceModel.ServiceContractAttribute(名前空間= "http://menandmice.com/webservices/"、ConfigurationNameは= "ServiceSoap.ServiceSoap")]

だから、明らかに "ConfigurationNameは、" 実際に契約名を意味し、あるいは、少なくともで契約名と一致する必要がありますapp.config。