データベースに新しい請求書を作成するWebサービスを作成しましたが、WindowsクライアントからこのWSにline itensを渡す際に問題があります。 MY WSは:ASMX WebServiceに配列を送信する際にエラーが発生しました
namespace InvoicesTest
{
/// <summary>
/// Summary description for Invoices
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class Invoices : System.Web.Services.WebService
{
[Serializable]
public struct InvoiceItem
{
public string Product {get; set;}
public string PartNumber {get; set;}
}
[WebMethod(Description = "Create Document Type")]
public string newDocType(string docTypeName, List<InvoiceItem> lstInvoiceItem)
{
for (int i = 0; i < lstInvoiceItem.Count; i++)
{
...
return "ok";
}
}
}
ここまではOKです。私の問題は、このWSにWindowsフォームから値を渡すことです。
private void button4_Click(object sender, EventArgs e)
{
InvoiceItem[] dt = new InvoiceItem[listView1.Items.Count];
int j = 0;
foreach (ListViewItem listItem in listView1.Items)
{
dt[j].Product = listItem.SubItems[0].Text;
dt[j].PartNumber = listItem.SubItems[1].Text;
j++;
}
textBox1.Text = InvoicesTest.newDocType("teste", dt.ToArray());
}
でも作業インデックスが配列の境界外です: まず私は、私はSystem.IndexOutOfRangeExceptionのようなエラーを取得しています、今、私は、配列の代わりにリストを送信する必要がありますエラー...
を得ましたList<>
で動作しません。 私はどんな助けにも感謝します...
こんにちは@omalukinho - あなたの元の質問について投稿するより多くの情報があれば、それを編集して改訂してみてください。ここに投稿した内容は回答ではないため、削除される可能性があります。 –
カーク、クライアントからWebサービスに配列(List)を渡すのに問題がありました。 私がここに投稿したコードで探していたものを得ました...データベースへの接続はこのケースでは必要ありません(私は推測します)... – omalukinho
これで問題が解決したら、答えとして。私はあなたの問題への答えを知らない、私はちょうどサイトを使用してあなたを助けることを試みている:) –