Benutzer mit den meisten Antworten
Webservice Starten

Frage
-
Ich habe bereits ein kleines Programm mit VB 2008 Express erstellt. Dieses liest aus einer Datei bestimmte Zeilen aus und schreibt diese in eine XML Datei ( die XML Datei ist allerdings noch nicht komplett, benötige da vielleicht auch noch Hilfe). Nun muss ein Webservice gestartet werden, der dise XML Datei benutzt und interpretiert. Der Webservice läuft schon, und funktioniert auch. Die Frage ist nun wie ich in meinem Code den Webservice Starten lassen kann?
PS: ich bin absoluter Neuling und habe nicht viel Ahnung vom Programieren in VB, auch mit dem Thema Webservice kenn ich mich nicht so gut aus.
Hier mein bisheriger Code:
Imports System.Xml
Public Class Form1
Private myDict As New Dictionary(Of String , List(Of String ))
Private path As String = "C:\Users\Katja\Desktop\Testordner"
Private pattern() As String = {"Test_BenchStr", "Test_StartDate", "Test_StartTime", "Test_Number", "Test_Operator", "Test_Customer", "Test_Purpose", _
"Test_Hardware", "Test_MappingStr", "Turbo_Variante", "Register_No", "Turbo_Size", "Comp_Spec", "D_S", "D_2", "Turb_Spec", _
"D_8i", "D_8a", "D_8m", "A_geo", "A_9", "n_ATL_max.", "T_nV_high", "dp_nV_high", "T_vT_high", "dp_vT_high", "T_Ol_high", _
"V_Ol_low", "T_W_high", "n_t_sel", "T_refV", "p_refV", "Phi_refV"}
Private Sub Button1_Click(ByVal sender As System.Object , ByVal e As System.EventArgs) Handles Button1.Click
'Wir holen uns erst mal alle verfügbaren Files
Dim files() As String = IO.Directory.GetFiles(path)
'Nun durchlaufen wir alle Files und lesen die Zeilen ein
For Each file As String In files
'Wir öffnen jedes File
'Neh besser jedes File mit der Endung eht
If file.EndsWith(".eht") Then
'Nun öffnen wir einen FileStream
Using fs As New IO.FileStream(file, IO.FileMode.Open)
'Legen einen Reader drauf
Dim sr As New IO.StreamReader(fs)
'Und legen uns einen List an
Dim list As New List(Of String )
While Not sr.EndOfStream
'Lesen die Zeilen und speichern sie in einer Liste zwischen
list.Add(sr.ReadLine)
End While
'Nun schieben wir das ganze in ein Dict
'Als Key nehemen wir den Filenamen komplett mit Pfad
'Der Inhalt des Files ist die der liste Liste
Me .myDict.Add(file, list)
End Using
End If
Next
'Alle Files(Keys) in eine ComboBox ausgeben
For Each s As String In Me .myDict.Keys
Me .ComboBox1.Items.Add(s)
Next
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object , ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
'Bei der Auswahl aus der Combobox
'Holen wir uns nun den Inhalt der ausgewählte Datei aus dem Dict und zeigen den in der Listbox an
'Das tun wir in dem wir mit dem Key (Auswahl der ComboBox) auf das Dict zugreifen und die List
'mit dem Inhalt des Files holen
Dim key As String = CStr (Me .ComboBox1.Items(Me .ComboBox1.SelectedIndex))
Dim inhalt As List(Of String ) = Me .myDict.Item(key)
Me .ListBox1.Items.Clear()
'Me.ListBox1.Items.AddRange(inhalt.ToArray)
Dim gesuchte As New Dictionary(Of String , String )
'Alle gesuchten pattern durchlaufen
For i As Integer = 0 To pattern.Length - 1
'Und hier schicken wir den Inhalt zur Analyse
Dim found As String = Me .FindPatter(pattern(i), inhalt)
'Also was gefunden
If found <> "" Then
gesuchte.Add(pattern(i), found)
End If
Next
'Nun geben wir die gefundenen aus
For Each k As String In gesuchte.Keys
Me .ListBox1.Items.Add(k & " <-> " & gesuchte.Item(k))
Next
End Sub
Private Function FindPatter(ByVal pattern As String , ByVal data As List(Of String )) As String
'Nun versuchen wir die Zeile aus der Liste zu holen
For Each zeile As String In data
If zeile.StartsWith(pattern) Then
'Wenn die Zeile mit dem gesuchtem Inhalt gefunden wurde
If zeile <> "" Then
'teile wir die Zeile
Dim zeilenTeile() As String = zeile.Split("="c)
'Wenn mindestens zwei Einträge im array sind
If zeilenTeile.Length >= 2 Then
'holen wir uns den zweiten Eintrag
'da sollte der gesuchte inhalt stehen
Dim gesucht As String
gesucht = zeilenTeile(1)
'Achtung der Text des Labels wird immer wieder überschrieben wenn mehr als einen Zeile das Pattern enthält
Label1.Text = ("gefundener Wert <-> " & gesucht & " <-> in Zeile <-> " & (data.IndexOf(zeile) + 1).ToString)
Return gesucht
End If
End If
End If
Next
Return ""
End Function
Private Sub MakeXML(ByVal data As Dictionary(Of String , String ))
Dim doc As New XmlDocument
Dim rootElement, childElement As XmlElement
Dim decl As XmlDeclaration = doc.CreateXmlDeclaration("1.0", "utf-8", "")
doc.AppendChild(decl)
rootElement = AppendElement(doc, "FileProperties")
For Each key As String In data.Keys
childElement = AppendElement(rootElement, "FileProperty")
childElement.SetAttribute("Name", key)
childElement.SetAttribute("Value", data.Item(key))
Next
doc.Save("C:\Users\Katja\Desktop\Testordner\test1.xml")
End Sub
Private Function AppendElement(ByVal parentNode As XmlNode, ByVal elementName As String ) As XmlElement
'XmlElement erzeugen und in parentNode einhängen, das neue XmlElement zurückgeben()
Dim doc As XmlDocument
Dim newElement As XmlElement
If parentNode.NodeType = XmlNodeType.Document Then 'parentNode ist das OwnerDocument(selbst)
doc = DirectCast (parentNode, XmlDocument)
Else
doc = parentNode.OwnerDocument
End If
newElement = doc.CreateElement(elementName)
parentNode.AppendChild(newElement)
Return newElement
End Function
End Class
Antworten
-
Hallo Jan, um einen WebService zu starten im Sinne "WebService nutzen" musst du dem Projekt eine WebRefernce hinzufügen. Damit wird ein Proxy generiert, der die alle Web-Methoden zur Verfügung stellt. In der Anwendung instanzierst du die generierte proxy-Klasse und rufst die Webmethoden auf.
--
Peter- Als Antwort vorgeschlagen Peter Fleischer Mittwoch, 13. Januar 2010 20:03
- Als Antwort markiert Robert Breitenhofer Montag, 18. Januar 2010 15:12
Alle Antworten
-
Hallo,
ich kann dir da jetzt leider nicht viel bei helfen aber vielleicht hilft dir ja das: http://social.msdn.microsoft.com/Forums/de-DE/vbasicexpresseditionde/thread/079515e7-8b86-4f93-bc61-cb66631d58bb
oder auch denke ich hilfreich:
http://social.msdn.microsoft.com/Forums/de-DE/vbasicexpresseditionde/thread/955d1ead-1709-417c-9ce7-54d0cf751477
mit den beiden Themen habe ich auch so ein ähnliches Programm geschrieben wie du.
Ich hoffe das hilft...
MFG Der-Fuchs10 -
Hallo Jan, um einen WebService zu starten im Sinne "WebService nutzen" musst du dem Projekt eine WebRefernce hinzufügen. Damit wird ein Proxy generiert, der die alle Web-Methoden zur Verfügung stellt. In der Anwendung instanzierst du die generierte proxy-Klasse und rufst die Webmethoden auf.
--
Peter- Als Antwort vorgeschlagen Peter Fleischer Mittwoch, 13. Januar 2010 20:03
- Als Antwort markiert Robert Breitenhofer Montag, 18. Januar 2010 15:12