Bonjour amis développeur,

Toujours coincé avec mon fameux webService

Obligation de faire un webService c'est pour valider des compétence d'un examen, en plus cette examen est dans 1 mois : Stress Stress

Je vous explique mon problème :

J'ai créer une bibliothèque de classe ( classe image, utilisateur, niveau ...)

Les classes sont tout ce qui a de plus classique : Get set et constructeur.

Ensuite dans cette même solutions j'ai créer un nouveau projet web service.

je créer une méthode ajouterUtilisateur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
  <WebMethod()> _
    Public Sub AjouterUtilisateur(ByVal newUtilisateur As MonAlbumArchi.utilisateur)
Ensuite je créer une autre solution classique, j'ajoute une référence de service

Je créer une petit formulaire pour ajouter mon utilisateur :

puis j'apel ma méthode ajouterutilisateur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Imports monAlbumService
Partial Class admin_utilisateur
    Inherits System.Web.UI.Page
    Protected Sub button_ajouter_Click(sender As Object, e As System.EventArgs) Handles button_ajouter.Click
        Dim myservice As New monAlbumService.ServiceSoapClient
        Dim newUtilisateur As utilisateur = New utilisateur(Me.textBox_nom.Text, Me.textBox_prenom.Text, Me.textBox_adresse.Text, CType(Me.textBox_idNiveau.Text, Integer), Me.textBox_pseudo.Text, Me.textBox_password.Text)
        myservice.AjouterUtilisateur(newUtilisateur)
    End Sub
End Class
Première erreur : il me dit Arguments trop nombreux pour public sub new.

Vraiment bizarre puisque dans ma classe utilisateur mon contruct possède ce nombre d'argument.

Après quelque recherche je constate que le service Soap me créer une classe utilisateur avec un constructeur vide et n'utilise pas ma classe.

Voici la classe que créer le webService :




Voici la classe utilisateur que j'ai moi même créer :




Comment faire pour que le service utilise ma classe, ou bien comment modifié la classe créer par le web service ?

Merci a vous.