Look at your code:
WPObj.fulfillmentList = new FulfillmentWS[1];
WPObj.fulfillmentList[1].fulfillingOutletId = "1234";
You declare an array with one element, and that try to access the second element of it - C# uses zero based indexes I'm sure you remember! :laugh:
"Even if I add
WPObj.fulfillmentList[0].fulfillingOutletId = "1234";
I've "Object reference not set..." error, I'm looking for an aswer"
Well yes - you will.
Think about it: You allocated an array of one element to WPObj, but that array doesn't automatically fill itself with new objects - it's an array of null values.
You need to create the array, fill it with objects, and then access them.
WPObj.fulfillmentList = new FulfillmentWS[1];
WPObj.fulfillmentList[0] = new FulfillmentWS();
WPObj.fulfillmentList[0].fulfillingOutletId = "1234";
To be honest, I'd use a List rather than an Array, and create the collection instance inside the class, rather than leaving it up to the outside world.