3

Webサービスを初めて使用しています。私はVisual Web Developer 2010 Expressで新しいWebサイトを作成し、サイトの.asmxページにService Referenceを追加し、BBImportLeadという名前空間を与えました。SOAPを使用してXMLファイルの値を読み取り、Webサービスに提出する

最終的には、PICK/Universeデータベースから複数の顧客を1つのXMLファイルにロードし、ASP.NETを介してxmlファイルから各タグ(FName、LNameなど)のInnerText Stringを取得し、 SOAPを介してWebサービスに送信し、その結果をユーザーに表示します(ただし、ラベルはまだありませんが、XMLファイルが正常に送信された場合はXMLファイルを削除するなど、結果に応じてアクションが発生する可能性があります)。

私はVBとC#を使っていろいろな例を試してみましたが、うまく動作しません。 は、それは私がVBで、この例で次のように非常に近い取得することができたように見えます: http://www.asp.net/web-forms/videos/building-35-applications/an-introduction-to-soap-based-web-services-with-visual-web-developer-2008

これは、背後にある私のDefault.aspx.vbコードです。私の目標は、作成したLabelに、Webサービスからの文字列レスポンスを表示することです。

Partial Class _Default 
    Inherits System.Web.UI.Page 

    Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click 
     Dim BBImportLeadService As New BBImportLead.BBCallDataSoapClient 

     Dim doc As New System.Xml.XmlDocument 
     doc.Load("bborder.xml") 

     Dim AuthenHead = doc.GetElementsByTagName("AuthenHead") 
     Dim FName = doc.GetElementsByTagName("FName").ToString 
     Dim LName = doc.GetElementsByTagName("LName").ToString 



     Label1.Text = BBImportLeadService.ImportLead(AuthenHead:=AuthenHead, FName:=FName, LName:=LName) 


    End Sub 
End Class 

エラーは、文字列ではないため、AuthenHead変数に関するものです。これはtnsの値ですが、doc.GetElementsByTagNameの使用方法やサービスの要求に変換する方法がわかりません。

タイプの

エラー1値は「System.Xml.XmlNodeList」 に変換することはできません「BBImportLead.AuthenHead」

誰もが正しい方向に私を指すことができますか?そのtnsエラーを修正するにはどうすればいいのでしょうか?


UPDATE: 私はC#の試みのためのコードのこの新しい作品を発見しました。これはうまくいくでしょうか?それは何かを送信し、応答を得るようですが、Webサービスがユーザーの応答を得るためのユーザー名とパスワードは持っていません。また、XMLデータが入るWebサービス上の特定の関数をどこで呼び出すのかもわかりません。

string data = "bborder.xml"; 
     string url = "urltakenoutforexample"; 
     string servresponse = "the response from the server"; 

     // build request objects to pass the data/xml to the server 
     byte[] buffer = Encoding.ASCII.GetBytes(data); 
     HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; 
     request.Method = "POST"; 
     request.ContentType = "application/soap+xml"; 
     request.ContentLength = buffer.Length; 
     Stream post = request.GetRequestStream(); 

     // post data and close connection 
     post.Write(buffer, 0, buffer.Length); 
     post.Close(); 

     // build response object 
     HttpWebResponse response = request.GetResponse() as HttpWebResponse; 
     Stream responsedata = response.GetResponseStream(); 
     StreamReader responsereader = new StreamReader(responsedata); 
     servresponse = responsereader.ReadToEnd(); 

     lbNodes.Items.Add(servresponse); 
+0

タイトルに「ASP.NET 4.0 VS Web Dev 2010 Express VBを使用したWebサービスクライアント」というプレフィックスを付けないでください。それがタグのためのものです。 –

+0

ええ、私は将来それをしないことを確認します! – Erin

+0

いいえ、しないでください。あなたはする必要はありません。あなたはWCFを使うべきです。 [Webサービスを使用する方法](http://johnwsaunders3.wordpress.com/2009/05/17/how-to-consume-a-web-service/)を参照してください。 –

答えて

0

まず、ウェブサイト「プロジェクト」を使用することを強くお勧めします。これは単純なサイトにのみ適しています。 Webサービスを使用している場合、私はあなたのサイトを「シンプル」と呼んでいません。

第2に、ASMXサービスをまったく使用しないでください。これは新しい開発に使用すべきではない従来の技術です。あなたは、すべての新しい開発にWCFを使用する必要があります。

http://asp.netにコメントを残して、その古いビデオを削除してください。間違った道であなたを送ってきました。

関連する問題