2016-09-19 1 views
0

研究に多くの時間を費やして、さまざまなアプローチで試してみましたが、ここで質問をすることにしました。私は首尾よく私のVSプロジェクトにサービス参照を追加しましたC#WSDL - メソッドを呼び出して回答を受け取ります

https://test-bramka.edeklaracje.gov.pl/uslugi/dokumenty?wsdl 

:私は何を達成したいことは右ここに配置され、Webサービス、上sendDocument操作を呼び出すです。

eDeklaracjeTest client = new eDeklaracjeTest(); 
client.sendDocument(b1); 

しかし、VSはeDeklaracjeTestが名前空間ですが、タイプのように使用されていることを、私に言って続けている:そして、私は誰もがインターネットを介し示唆されたとして、それを行うことを試みました。それは右の音

var client = new eDeklaracjeTest.sendDocument(); 

、その後私が行うことができます:宣言するとき、それは好き

client.document = b1; 

をしかし、それはsendDocumentメソッドを呼び出すことはありません。私の電話で何が間違っていますか?どうすればsendDocumentを正しく呼び出すことができますか?私の要求は受け付けられました。どのように答えを受け取ることができますか?

UPDATE 研究から数時間後に、仕事から同僚に1つの質問があったので、私はようやく答えを得ました(CodeCasterのおかげで、彼の助けも本当に役に立ちました)。そのWebServiceの正しいコードは次のようになります。

eDeklaracjeTest.sendDocumentResponse resp; 
byte[] b1 = null; 
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; 
var client = new eDeklaracjeTest.GateServicePortTypeClient("GateServiceSOAP11port"); 
var documentToSend = new eDeklaracjeTest.sendDocument(); 
documentToSend.document = b1; 
client.Open(); 
resp = client.sendDocument(documentToSend); 

この問題で私を助けてくれた皆様、ありがとうございます。

+0

サービス参照を追加するときに、名前空間eDeklaracjeTestを入力しましたか?次に、新しいeDeklaracjeTest。{SomeServiceName} Client() 'が必要です。 – CodeCaster

+0

はい、ネームスペースはeDeklaracjeTestでした。しかし、あなたが提案した通りに追加してください - eDeklaracjeTest client = new eDeklaracjeTest {sendDocument} .Client();結果は 'sendDocument'という名前は現在のコンテキストエラーに存在しません。 –

+0

そう、オブジェクトブラウザを開いて、その名前空間内に_do_という名前が存在するかどうか確認してください。 – CodeCaster

答えて

0

サービスプロキシクラスをインスタンス化している間にかっこがなくなりました。()です。

var client = new eDeklaracjeTest().sendDocument(); 
+0

提案したように定義すると、スクリーンショットhttp://i63.tinypic.com/zkrec0.pngのようなエラーが発生します。 –

+0

@MariuszMizgier、picの代わりにエラーテキストを投稿してください。さらにあなたの写真は何も表示されません。また、いくつかのコードを投稿してください – Rahul

+0

私はあなたの提案でそれをしようとしました: var client = new eDeklaracjeTest()。sendDocument(); client.document = b1; しかし、VS 2015は、eDeklaracjeTestは名前空間ですが、型として使用されていると言っています。 あなたが私を導くことができれば、何を提供すればいいですか(私はVSプロジェクトにサービスリファレンスを追加したばかりです)、感謝します。 b1の定義は - byte [] b1 = System.Text.Encoding.UTF8.GetBytes(xmlSigned)です。 –

関連する問題