Allegro WebApi i C#

0

Witam
Mecze sie z tym allegrowskim WebApi juz od paru dni :/
A dokladniej z jedna rzecza:

Allegro.FieldsValue[] ar = new Allegro.FieldsValue[17];
ar[0].fid = 1;
ar[0].fvaluestring = "test-tytul";

itd. ..........

Po wywolaniu tego kodu, dostaje komunikat: "Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.", ktory wskazuje na 2 linie.

O co tu chodzi?
W czym moze byc blad?
Przekopalem caly net i nie znalazlem zdanej odpowiedzi.

0

Przecież zadeklarowałeś samą tablicę, ale elementy tablicy nie zostały zainicjowane. Słusznie zatem, że zgłasza wyjątek bo ar[0] jest zapewne == null.

--
Pozdrawiam
Marcin Zamorski

0
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Collections;
using System.Reflection;

namespace allegro
{
    public partial class Form1 : Form
    {
        DataTable tabela = new DataTable();

        public Form1()
        {
            InitializeComponent();
            Dziala();

        }
        private void Dziala()
        {

            Allegro.AllegroWebApiService allegro = new Allegro.AllegroWebApiService();
            string login = "eeee";
            string pass = "qqqqq";
            long wersja = 123456;
            int hash = new int();
            long server_time = new long();

            int iduser=allegro.doGetUserID(1,login,"test@test");// pobieranie id usera


           Allegro.FieldsValue[] ar = new Allegro.FieldsValue[17];

           ar[0].fid = 1;
           ar[0].fvaluestring = "test-tytul";

           ar[1].fid = 2;
           ar[1].fvalueint = 1865;

           ar[2].fid = 3;
           ar[2].fvaluedatetime = DateTime.Now.ToBinary();

           ar[3].fid = 4;
           ar[3].fvalueint = 2;

           ar[4].fid = 5;
           ar[4].fvalueint = 1;

           ar[5].fid = 6;
           ar[5].fvaluefloat = 1;

           ar[6].fid = 7;
           ar[6].fvaluefloat = 0;

           ar[7].fid = 8;
           ar[7].fvaluefloat = 0;

           ar[8].fid = 9;
           ar[8].fvalueint = 228;

           ar[9].fid = 10;
           ar[9].fvalueint = 216;

           ar[10].fid = 11;
           ar[10].fvaluestring = "Zielona";

           ar[11].fid = 12;
           ar[11].fvaluestring = "buyer";

           ar[12].fid = 13;
           ar[12].fvalueint = 2;

           ar[13].fid = 14;
           ar[13].fvalueint = 1;

           ar[14].fid = 15;
           ar[14].fvalueint = 0;

           ar[15].fid = 24;
           ar[15].fvaluestring = "taki maly opis";

           ar[16].fid = 25;
           ar[16].fvaluefloat = 9;

            string str;
            allegro.doNewAuctionExt("ses_test",ar,0,123,out str);
        }

    }
}

oraz STACKTRACE:
w allegro.Form1.Dziala() w Form1.cs:wiersz 45
w allegro.Form1..ctor() w Form1.cs:wiersz 23
w allegro.Program.Main() wProgram.cs:wiersz 18
w System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
w System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
w Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
w System.Threading.ThreadHelper.ThreadStart_Context(Object state)
w System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
w System.Threading.ThreadHelper.ThreadStart()

0

Tak jak już napisałem, musisz zainicjować każdy element tablicy Allegro.FieldsValue[] nowym obiektem klasy FieldsValue, zanim będziesz chciał uzyskać dostęp do pól obiektów tabilcy. Utwórz te obiekty: ar[0] = new Allegro.FieldsValue(); ar[0].fid = 1 itd.

0

Nie pomyslalem o tym :)
Coz ... czlowiek cale zycie sie uczy ....

Wielkie dzieki za pomoc.

0

Kurcze, ale teraz mam nastepny problem :/

Po uruchomienu kodu, dostaje komunikat:
"Klient znalazł typ zawartości odpowiedzi „text/html; charset=UTF-8”, ale oczekiwano typu „text/xml”.
Żądanie nie powiodło się. Odpowiedź jest pusta."

Rozumiem z tego, ze dane, ktore wysylam do ida w formacie text/html a powinien isc w text/xml.
Tylko jak to teraz zrobic ?
Przeciez FieldsValue powinno wiedziec w jakim formacie ma wysylac te dane - no chyba ze sie myle :)

0

A moze chociaz ktos wie, gdzie znalezc informacje na ten temat?
Wszelkie info dotyczace Allegrowskiego webapi, jest dla PHP.
A dla .NET'a znalezc cos, to cud nad cuda :)

0

dla przyszlych poszukiwaczy odpowiedzi , kod wklejenia nowej aukcji w c#:

http://pastebin.4programmers.net/78

0

A co to jest "pl" bo mi kompilator krzyczy. Nie siedzę w temacie i z pewnością coś źle zrobiłem.
Zaciągnąłem nowego WSDL'a i uruchomiłem go w vs command prompt wsdl /o:nazwa.cs /n:nazwa.Data nazwa.wsdl
wynik cs dodałem do aplikacji
dodałem też referencje do system.web.services
a kompilator nie widzi "pl"

1 użytkowników online, w tym zalogowanych: 0, gości: 1