This project has moved and is read-only. For the latest updates, please go here.

JSON Source component with input http parameters does not work

Topics: Bug / Problems
Aug 8 at 11:59 AM
Hi,

I updated the component to get the error handling feature but now I have a problem when trying to read id's from table and then querying JSON with those ID's in HTTP parameter and loading the info to another table.

So 3 components: OLEDB Source > JSON Source Component > OLEDB Destination.

I tried this with another computer and network and I got the same errors.

The OLEDB source just loads list of ID's and that list is added to the JSON Source components HTTP Parameters list as InputField and value is the ID column. Then there is just the JSON url and mapped columns.

If I change the JSON Source Component InputField to CustomValue and just hard write one ID there it works just fine (well I get the same info to every row but still) so the other parts of the Data Flow work.

The actual error is:
[JSON Source Component] Error: An error has occurred: BindParams was invoked with null inputbuffer and one column mapped to input. This is a logic error. Please contact the developer..
at com.webkingsoft.JSONSource_Common.JSONSourceComponent.ResolveParametersBinding(IEnumerable`1 parameters, PipelineBuffer inputBuffer)
at com.webkingsoft.JSONSource_Common.JSONSourceComponent.ProcessInput(Int32 inputID, PipelineBuffer inputbuffer)

I'm running out of ideas what to do.. I tried to use the input lane and to compile the whole url for every line but it's does not work. I get this error:
[JSON Source Component] Error: An error has occurred: Error HRESULT E_FAIL has been returned from a call to a COM component..
at Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSBufferManager100.FindColumnByLineageID(Int32 hBufferType, Int32 nLineageID)
at com.webkingsoft.JSONSource_Common.JSONSourceComponent.ResolveUri(ParamBinding bindingType, String value, PipelineBuffer inputBuffer)
at com.webkingsoft.JSONSource_Common.JSONSourceComponent.ProcessInput(Int32 inputID, PipelineBuffer inputbuffer)

Funny thing is that when I add Data Viewer just before the JSON Source Component it runs ok.

And thanks for your awesome component!

-Janne
Aug 11 at 11:28 AM
Edited Aug 11 at 11:29 AM
I have been trying to find out what's wrong and I seriously think that the JSON component is not updating the url with new data at all.

I made a test where I try to read multi page JSON with simple loop container and when I read the output I only get first pages ID's but the page number variable changes.

Like this: (ID's should run to 15, not loop the first 5 3 times)
ID Page number
001 1
002 1
003 1
004 1
005 1
001 2
002 2
003 2
004 2
005 2
001 3
002 3
003 3
004 3
005 3

So the looping works but the JSON component is only sending the variables first value every time instead of the updated value.

Am I the only one getting this behavior with the latest version of the component?