研究に多くの時間を費やして、さまざまなアプローチで試してみましたが、ここで質問をすることにしました。私は首尾よく私の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);
この問題で私を助けてくれた皆様、ありがとうございます。
サービス参照を追加するときに、名前空間eDeklaracjeTestを入力しましたか?次に、新しいeDeklaracjeTest。{SomeServiceName} Client() 'が必要です。 – CodeCaster
はい、ネームスペースはeDeklaracjeTestでした。しかし、あなたが提案した通りに追加してください - eDeklaracjeTest client = new eDeklaracjeTest {sendDocument} .Client();結果は 'sendDocument'という名前は現在のコンテキストエラーに存在しません。 –
そう、オブジェクトブラウザを開いて、その名前空間内に_do_という名前が存在するかどうか確認してください。 – CodeCaster