- - PR -
wsdlの動的設定
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-03-14 16:10
お世話になっております。
VS.NET2003 C#にて 開発をしています。 Webサービスの参照にてお聞きしたいことがあります。 プロジェクトの右クリックで、 「Web参照の追加」にて公開されたWebサービスのURI(http://xxx/xxx?wsdl)を 設定しているのですが、 これを動的にプログラムで設定して呼び出したいと思っています。 いろいろ見ているのですが、 C#にて記述されたものがなく途方にくれています。 もし、ご存知のある方がいらっしゃいましたら、 参照ページやサンプルコード、またはアドバイスを お願い致します。 以上、宜しくお願い致します。 | ||||||||
|
投稿日時: 2006-03-14 16:18
SoapHttpClientProtocol.Url プロパティに希望の URL を入れてやるだけです。
自動生成されたプロキシのことです。 _________________ 囚人のジレンマな日々 | ||||||||
|
投稿日時: 2006-03-14 16:48
ありがとうございます。
早速、試してみてまた報告させてもらいます。 #ちなみに‥。 #VBのサンプルでWSHを使った例を見つけたのですが、 #それと同じような感じなんですね…!? #WebサービスとSOAPクライアント | ||||||||
|
投稿日時: 2006-03-14 17:18
早速、試してみたのですが、
メソッドを定義するときに、 [System.Web.Services.Protocols.SoapDocumentMethodAttribute(xxxxx)] と、定義する必要があるんですよね? これがないと実行時にエラーとなるのですが、 URIなどを記述しないといけないのでしょうか? # URIは動的に設定したいので‥。 | ||||||||
|
投稿日時: 2006-03-14 17:22
「Web 参照の追加」をしたときにプロキシクラスが自動生成されたと思います。
ここではそのサービスクラス名を TestService とします。
_________________ 囚人のジレンマな日々 | ||||||||
|
投稿日時: 2006-03-14 18:01
作成されたプロキシクラスを参考に
作ってみたのですが、 実行すると、下記のようにエラーになってしまいまいた。 まず、
の中は以下のように書きました。
この箇所のところで、 メソッド名が有効でない(不正?)というエラーになっています。 このメソッド名は公開されているんですが‥。 | ||||||||
|
投稿日時: 2006-03-14 18:14
話が食い違っているかもしれません。
「書いた」とはどういう事でしょうか? 最初の投稿で「Web参照の追加」と出たので、プロキシクラスの生成は Visual Studio に任せていると思ったのですが。 動的に URI を設定したい動機はなんでしょうか。 動的に URI を設定し、且つそれぞれのメソッドも違うとなれば話が違ってくるのですが…。 _________________ 囚人のジレンマな日々 | ||||||||
|
投稿日時: 2006-03-14 18:16
の「メソッド」名と、
の「method1」名は、同じでないといけないのですね‥。 それで実行してみたところ、 HTTP status 401 エラーとなってしまいました。 まだ何か足りないのですね…。 |