SAS1986
Messages postés12Date d'inscriptionmardi 19 mai 2009StatutMembreDernière intervention23 février 2011
-
11 nov. 2009 à 21:19
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
12 nov. 2009 à 22:05
slt,
j'ai developpé un web service en utilisant vb .net.
consernant cette partie du code qui permet de recuperre des données à partir d'un fichier xml lors de debogage il n'y a pas des erreurs mais lors de l'excecution de ce service à traves le navigateur il me donne ces erreurs
{System.ArgumentException: Le paramètre n'est pas valide.
à System.Drawing.Bitmap..ctor(String filename)
à pays.setDrapeau() dans C:\Users\SALAHBENSALAH\Documents\Visual Studio 2008\WebSites\WebSite1\App_Code\pays.vb:ligne 80
à pays..ctor(String n, Int32 pop, String dev, Int32 surf) dans C:\Users\SALAHBENSALAH\Documents\Visual Studio 2008\WebSites\WebSite1\App_Code\pays.vb:ligne 72
à Service.GetPays(String country) dans C:\Users\SALAHBENSALAH\Documents\Visual Studio 2008\WebSites\WebSite1\App_Code\Service.vb:ligne 45}
svp si qq1 peut m'aider!
merci d'avance
SAS1986
Messages postés12Date d'inscriptionmardi 19 mai 2009StatutMembreDernière intervention23 février 2011 11 nov. 2009 à 22:59
Merci pour les conseils
Mais se que je veux c'est que les erreurs ne parviennent pas lors de la build
si j'execute le web service à partir du navigateur j'aurais ces erreurs
ca se qui me géne
ok
Dans mon code j'ai de fichier
pays.vb
service.vb
pays.xml
dossier flags qui contient tout les drapeaus des pays.
voila le code de pays.vb
Imports System.IO.IOException
Imports System.ArgumentException
Imports System.Drawing.Bitmap
Imports System.Drawing.Imaging
Imports System.Drawing
Imports System.IO
Public Class pays
Private Nom As String
Private Population As Integer
Private Devise As String
Private Surface As Integer
Private Drapeau As Byte()
Public Property pNom() As String
Get
Return Nom
End Get
Set(ByVal value As String)
Nom = value
End Set
End Property
Public Property pDevise() As String
Get
Return Devise
End Get
Set(ByVal value As String)
Devise = value
End Set
End Property
Public Property pPopulation() As Integer
Get
Return Population
End Get
Set(ByVal value As Integer)
Population = value
End Set
End Property
Public Property pSurface() As Integer
Get
Return Surface
End Get
Set(ByVal value As Integer)
Surface = value
End Set
End Property
Public Property pDrapeau() As Byte()
Get
Return Drapeau
End Get
Set(ByVal value As Byte())
Drapeau = value
End Set
End Property
Public Sub New()
' ----- Default constructor.
Nom = "?"
Population = 0
Devise = "?"
Surface = 0
setDrapeau()
End Sub
Public Sub New(ByVal n As String, ByVal pop As Integer, ByVal dev As String, ByVal surf As Integer)
' ----- Default constructor.
Nom = n
Population = pop
Devise = dev
Surface = surf
setDrapeau()
End Sub
Private Sub setDrapeau()
Dim MyImg As Image
Dim FlagDir As String
FlagDir = "./flags/"
If (Nom <> "?") Then
MyImg = New Bitmap(HttpContext.Current.Server.MapPath(FlagDir + Nom + ".jpg"))
Else
MyImg = New Bitmap(HttpContext.Current.Server.MapPath(FlagDir + "unknown.jpg"))
End If
Dim MemStr As New MemoryStream()
MyImg.Save(MemStr, ImageFormat.Jpeg)
<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class Service
Inherits System.Web.Services.WebService
<WebMethod()> _
Public Function HelloWorld() As String
Return "Hello World"
End Function
<WebMethod()> _
Public Function Somme(ByVal a As Integer, ByVal b As Integer) As Integer
Return a + b
End Function
<WebMethod()> _
Public Function GetPays(ByVal country As String) As pays
Dim DataDir As String
DataDir = "./App_Data/"
Dim myDs As New DataSet("dbpays")
Dim myDt As DataTable = myDs.Tables.Add("pays")
myDt.Columns.Add("NOM", System.Type.GetType("System.String"))
myDt.Columns.Add("POPULATION", System.Type.GetType("System.String"))
myDt.Columns.Add("DEVISE", System.Type.GetType("System.String"))
myDt.Columns.Add("SURFACE", System.Type.GetType("System.String"))
myDt.Clear()
' Make the NOM column the primary key column.
Dim PrimaryKeyColumns(0) As DataColumn
PrimaryKeyColumns(0) = myDt.Columns("NOM")
myDt.PrimaryKey = PrimaryKeyColumns
myDs.ReadXml(HttpContext.Current.Server.MapPath(DataDir + "pays.xml"))
Dim myrow As DataRow = myDt.Rows.Find(country)
Dim p As pays
If myrow IsNot Nothing Then
p = New pays(country, Integer.Parse(myrow("POPULATION").ToString), myrow("DEVISE").ToString(), Integer.Parse(myrow("SURFACE").ToString))
Else
p = New pays()
End If
myDt.Clear()
Return p
End Function
End Class