Jag vill returnera ett objekt från en webbtjänst och enligt beskrivningen ska den returnera Här är koden Har fått hjälp på annat håll och så här ska det se ut (om någon får samma problem): Problem med webbtjänst
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AuthorizeUserResponse xmlns="http://localhost/MyTest/Services/">
<AuthorizeUserResult>
<UserName>string</UserName>
<Password>string</Password>
<Session>
<Key>string</Key>
<Start>string</Start>
<Expire>string</Expire>
</Session>
</AuthorizeUserResult>
</AuthorizeUserResponse>
</soap:Body>
</soap:Envelope>
Men allt jag får tillbaka är
<User xsi:nil="true"/>
Vad gör jag för fel? Sv:Problem med webbtjänst
try
{
OdbcCommand command = new OdbcCommand("sp_AuthorizeUser", connection);
command.CommandType = System.Data.CommandType.StoredProcedure;
command.Parameters.Add(new OdbcParameter("user", user.UserName));
command.Parameters.Add(new OdbcParameter("pass", user.Password));
connection.Open();
OdbcDataReader reader = command.ExecuteReader();
if (reader.HasRows)
user.IsAuthorized = true;
else
user.IsAuthorized = false;
return user;
}
catch (Exception ex)
{
user.ExceptionString = ex.ToString();
user.IsAuthorized = false;
return user;
}
finally
{
connection.Close();
}
Och här är proceduren som jag försöker köra (MySql):
PROCEDURE `sp_AuthorizeUser`(user varchar(255), pass varchar(255)) begin select * from tbluser where
username = user and password = pass; end |
Sv: Problem med webbtjänst
try
{
OdbcCommand command = new OdbcCommand("CALL sp_AuthorizeUser(?,?)", connection);
command.CommandType = System.Data.CommandType.StoredProcedure;
command.Parameters.Add(new OdbcParameter("user", user.UserName));
command.Parameters.Add(new OdbcParameter("pass", user.Password));
connection.Open();
OdbcDataReader reader = command.ExecuteReader();
if (reader.HasRows)
return true;
else
return false;
}
catch (Exception)
{
return false;
}
finally
{
connection.Close();
}