5

このコマンドでプロキシを生成しました -
svcutil.exe /language:cs /out: generatedProxy.cs /config:app.config https://service100.emedny.org:9047/MHService?wsdl

次に、結果の app.config の要素を既存のプロジェクトの app.config ファイルにコピーしました。

その設定ファイルでクライアントにアクセスしようとすると-

MHSClient serviceProxy = new MHSClient("MHSPort");

以下の 2 番目のクライアントを参照する必要があります。

  <client>
  <endpoint address="https://webservices.hmsa.com/EDI27X/cstc/Hipaa27XService.svc"
            binding="customBinding" 
            bindingConfiguration="wsHttpEndpoint" 
            contract="HIPAA27XServiceContract" 
            name="wsHttpEndpoint" />
  <endpoint address="https://12.23.28.113:9047/MHService" 
            binding="customBinding"
            bindingConfiguration="MHService_MHSPort" 
            contract="MHS"
            name="MHSPort" />
</client>

しかし、代わりにエラーが発生します。
ServiceModel クライアント構成セクションで、名前が 'MHSPort' でコントラクトが 'MHS' のエンドポイント要素が見つかりませんでした。これは、アプリケーションの構成ファイルが見つからなかったか、この名前に一致するエンドポイント要素がクライアント要素に見つからなかったためである可能性があります。

MHSClient の定義に移動すると、proxy.cs ファイルと次の行に移動します。
パブリック部分クラス MHSClient : System.ServiceModel.ClientBase、MHS


以下で解決
- endptAddress = new EndpointAddress(new Uri("uri"/xxxx"), EndpointIdentity.CreateDnsIdentity("xxxxxx"), addressHeaders);
MHSClient serviceProxy = new MHSClient(b, endptAddress);

4

2 に答える 2

1

以下で解決
- endptAddress = new EndpointAddress(new Uri("uri"/xxxx"), EndpointIdentity.CreateDnsIdentity("xxxxxx"), addressHeaders);

MHSClient serviceProxy = new MHSClient(b, endptAddress);

@Guanxi は、構成ファイルからエンドポイント アドレスについて尋ねるときに手がかりを与えてくれました。
エンドポイント アドレスを作成したら、正しいオーバーロードを使用してサービスをインスタンス化/作成できます。
var b = new CustomBinding() を最初の引数として、2 番目の引数として
正しいエンドポイント アドレスを指定します。

複雑 - WS-Security -
Web サービスのさまざまな .NET および Visual Studio 実装のコンテキスト内でのIBM Websphere サーバー相互運用 <->
wcfクライアント...

于 2013-07-21T16:45:56.023 に答える
0

おそらく、サービス コントラクト インターフェイスの上に ServiceContractAttribute の ConfigurationName プロパティを設定する必要があります。ConfigurationName はコントラクト名と一致する必要があります。

'VB.NET:
Imports System.ServiceModel

<ServiceContract([Namespace]:="http://yournamespace", ConfigurationName:="MHS")> _
Public Interface MHS

//C#:
using System.ServiceModel;

[ServiceContract(Namespace="http://yournamespace", ConfigurationName="MHS")]
public interface MHS

ここで自動生成されたコードを見てください: MSDN: 方法: Windows Communication Foundation クライアントを作成する

こちらもご覧ください: MSDN: ServiceContractAttribute Class

于 2014-04-09T08:07:36.377 に答える