0

わかりました、Web 参照を扱うのは久しぶりです。リフレッシュが必要です。応答を得るために必要なコードの約 80% はあると思いますが、何か不足しています。多分あなたは私を助けることができます:)

指定: URLを指すときにメソッドのリストで
呼び出される Web メソッド。GetSomething.wsdl

これにより、いくつかのクラス/オブジェクトが生成されます。

  • GetSomethingRequest
  • GetSomethingCompletedEventHandler
  • GetSomethingCompletedEventArgs
  • myComplexType

このコードを作成するために使用するもの:

void someMethodToTestResponse()
{
    GetSomethingRequest request = new GetSomethingRequest();

    // fill in the request
    request.myComplexType.Property1 = "Blah";
    request.myComplexType.Property2 = "Kachoo";

    GetSomethingCompletedEventHandler handler = GetSomethingCompleted_Response;

    //.... ok now what?
    //handler.Invoke(???)
    // at this point I'm supposed to send an object for source (request maybe?)
    // and a new instance of GetSomethingCompletedEventArgs but that class is
    // asking for stuff that makes me think that is not the right idea.

}

void GetSomethingCompleted_Response(object source, GetSomethingCompletedEventArgs args)
{
    // get the result
    var result = args.Result;
}

私は何を間違っていますか?私は何が欠けていますか?前もって感謝します。

4

2 に答える 2

0

さて、Service型クラスを見つける必要があることがわかりました。それが言及しているこのSO投稿を参照してください:

private com.nowhere.somewebservice ws;

問題は、彼らが提供するクラスが私にとって知的ではなく、私が探していたものではないと思ったということでした。

これが私の問題を解決する方法です:

blah.webservice.SomeMainServiceClass service = new SomeMainServiceClass();
GetSomethingRequest request = new GetSomethingRequest();

// fill in the request
request.myComplexType.Property1 = "Blah";
request.myComplexType.Property2 = "Kachoo";

object myResponse = service.GetSomething(request);
于 2011-02-24T22:27:03.627 に答える
0

Web サービスのソース コードは必要ありません。Web サービスは Java で実装できます。反対側に何があるか本当にわからないので、サービス参照の作成も同じです。

したがって、VS2008 でサービス参照を追加して、動作中の Web サービスへの URL を入力してみてください。VS はサーバー上の wsdl を調べて、必要なクラスを生成します。

それ以降は、通常のメソッド呼び出しとしてサービスを呼び出すだけです。つまり、リクエストや http などの詳細をいじる必要はありません。あなたから隠されているすべて。多くの WCF 設定を変更できる app.config を除きます。

于 2011-02-24T21:58:02.557 に答える