0

こんにちは、Web サービスを呼び出すと、次のように返されます。

    <?xml version="1.0" encoding="UTF-8"?>
    -<ArrayOfAnyType xmlns="http://localhost:5669/TAWebService.asmx" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/>
 <anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/>
 <anyType xsi:nil="true"/>
 <anyType xsi:nil="true"/>
 <anyType xsi:nil="true"/>
 </ArrayOfAnyType>

何が間違っている可能性がありますか?winapp から呼び出すと、 null が返されます。しかし、私がWebサービスを開発したWebサイトでは、正しく機能し、オブジェクトを返します!

オブジェクトを取得するために使用するlinqtosqlクエリは次のとおりです。

[WebMethod]
public Object[] getPersonnel(string hashCode)
{
    Personnel personnel = new Personnel();
    Object[] objReturn = new Object[10];
    try
    {
        db = new TimeAttendanceDataBaseDataContext();
        personnel = db.Personnels.FirstOrDefault(x => x.HashRecord == hashCode.Substring(0,10));
        objReturn[0] = personnel.ID;
        objReturn[1] = personnel.UserName;
        objReturn[2] = personnel.Password;
        objReturn[3] = personnel.FirstName;
        objReturn[4] = personnel.LastName;
        objReturn[5] = personnel.Mobile;
        objReturn[6] = personnel.Email;
        objReturn[7] = personnel.HashRecord;
        objReturn[8] = personnel.AccessLevel;
        objReturn[9] = personnel.PersonnelCode;
    }
    catch
    {
        objReturn[0] = null;
        objReturn[1] = null;
        objReturn[2] = null;
        objReturn[3] = null;
        objReturn[4] = null;
        objReturn[5] = null;
        objReturn[6] = null;
        objReturn[7] = null;
        objReturn[8] = null;
        objReturn[9] = null;

    }
    return objReturn;
}
4

2 に答える 2

2

ブロック内で例外が発生していますtry。そこにブレークポイントを設定し、コードをデバッグして何が問題なのかを確認します。

nullhashcodeであるか、長さが 10 未満である可能性がありますか? またはdb.Personnels.FirstOrDefault(...)戻ってきていnullますか?

補足として、ライブ環境でより簡単にトラブルシューティングできるように、ログ ロジックを実装するとよいでしょう。Log4netはこれに適したオプションです

于 2012-08-30T12:27:36.447 に答える
0

私は答えを得ました、問題は私が私のアプリプールをiisのローカルシステムに変更しなければならなかったということでした、そして私は私の他のアプリケーションを通してウェブサービスにログインすることができました

于 2012-08-30T12:34:30.100 に答える