System.Web.HttpUtility.ParseQueryString - NullReferenceException

Hi, I have the following piece of code:

System.Console.WriteLine("Start")
Dim uri, queryString As String
Dim queryDictionary As New System.Collections.Specialized.NameValueCollection
uri ="http://www.example.com?param1=good&param2=bad"
queryString = New System.Uri(uri).Query
queryDictionary = System.Web.HttpUtility.ParseQueryString(queryString)

But for some reason I receive such error:

05/24/2023 10:44:00 => [Debug] Debug started for file: test
05/24/2023 10:44:02 => [Info] I01_MachineMaintenance execution started
05/24/2023 10:44:12 => [Error] Try Catch: Object reference not set to an instance of an object.
05/24/2023 10:44:12 => [Error] test: Object reference not set to an instance of an object.
05/24/2023 10:44:12 => [Error] Write Line: Object reference not set to an instance of an object.
05/24/2023 10:44:12 => [Info] I01_MachineMaintenance execution ended in: 00:00:10
05/24/2023 10:44:13 => [Error] System.NullReferenceException: Object reference not set to an instance of an object.   at Namespace_5fb8.test_Expressions.test_Expressions_TypedDataContext2_ForReadOnly.__Expr0Get()
   at Namespace_5fb8.test_Expressions.test_Expressions_TypedDataContext2_ForReadOnly.ValueType___Expr0Get()
   at Namespace_5fb8.test_Expressions.InvokeExpression(Int32 expressionId, IList`1 locations, ActivityContext activityContext)
   at System.Activities.Expressions.CompiledExpressionInvoker.InvokeExpression(ActivityContext activityContext)
   at Microsoft.VisualBasic.Activities.VisualBasicValue`1.Execute(CodeActivityContext context)
   at System.Activities.CodeActivity`1.InternalExecuteInResolutionContext(CodeActivityContext context)
   at System.Activities.Runtime.ActivityExecutor.ExecuteInResolutionContext[T](ActivityInstance parentInstance, Activity`1 expressionActivity)
   at System.Activities.InArgument`1.TryPopulateValue(LocationEnvironment targetEnvironment, ActivityInstance activityInstance, ActivityExecutor executor)
   at System.Activities.RuntimeArgument.TryPopulateValue(LocationEnvironment targetEnvironment, ActivityInstance targetActivityInstance, ActivityExecutor executor, Object argumentValueOverride, Location resultLocation, Boolean skipFastPath)
   at System.Activities.ActivityInstance.InternalTryPopulateArgumentValueOrScheduleExpression(RuntimeArgument argument, Int32 nextArgumentIndex, ActivityExecutor executor, IDictionary`2 argumentValueOverrides, Location resultLocation, Boolean isDynamicUpdate)
   at System.Activities.ActivityInstance.ResolveArguments(ActivityExecutor executor, IDictionary`2 argumentValueOverrides, Location resultLocation, Int32 startIndex)
   at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)

When I remove queryDictionary = System.Web.HttpUtility.ParseQueryString(queryString) then everything works. Weird part is that, as you can see in the output, execution of invoke code is not even started as System.Console.WriteLine("Start") is not executed.

I added namespace System.Web and AssemblyReference System.Web and System.Web.HttpUtility. I am using 23.4 studio and Windows project. Also attaching the .xaml.
test.xaml (6.9 KB)

Hi @loxyms

Is the uri you mentioned is it working manually and checked it in postman

Thanks
Ashwin.W

It is irrelevant if this uri is working or not. This method is only parsing query string into a NameValueCollection using UTF8 encoding.