# system.net.httpClient POST method

**URL:** <https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [March 14, 2022, 4:44pm UTC](https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167 "2022-03-14T16:44:40Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![houfa\_zhu](https://avatars.discourse-cdn.com/v4/letter/h/50afbb/32.png) [@houfa\_zhu](https://forum.inductiveautomation.com/u/houfa_zhu)\
**Post date:** [March 14, 2022, 4:44pm UTC](https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167/1 "2022-03-14T16:44:41Z")

</div>

Hi @paul-griffith,

we have an application which requires Ignition to report a batch to IFS using web service when production has completed a batch.

we have successfully used web service to fetch data from IFS:  
url = “https://\*\*\*.\*\*\*[ofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/GetTotalReportedBatches”](http://ofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/GetTotalReportedBatches%E2%80%9D)  
url += “(OrderNo=%s,ReleaseNo=%s,SequenceNo=%s)” %( OrderNo, ReleaseNo, SequenceNo )  
client = system.net.httpClient(username=user, password=passwd, bypass\_cert\_validation = True, cookie\_policy = “ACCEPT\_ALL”,redirect\_policy = “ALWAYS” )  
Response = client.get(url)

but we have problem to report a batch to IFS with the POST method (Response: ODP\_DESERIALIZATION\_ERROR, Error while de-serializing contents.):  
url = “https://\*\*\*.\*_[ofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/ReportBatch”](http://ofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/ReportBatch%E2%80%9D)  
parameter = {“OrderNo”: “2586”,“ReleaseNo”:"", “SequenceNo”:"_", “Batches”:“1”}  
client = system.net.httpClient(username=user, password=passwd, bypass\_cert\_validation = True, cookie\_policy = “ACCEPT\_ALL”,redirect\_policy = “ALWAYS” )  
Response = client.post(url,parameter)

Can you please advise a proper format in using system.net.httpClient POST method?

IFS - ReportBatch  
|Method | Type| Body |  
|ReportBatch|POST|JSON: {

```
                                     "OrderNo": "2586",

                                     "ReleaseNo":"*",

                                     "SequenceNo":"*",

                                     "Batches":"1" (optional, default 1)
                                   }

```

Thanks.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [March 14, 2022, 4:48pm UTC](https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167/2 "2022-03-14T16:48:54Z")

</div>

> [@houfa\_zhu](#):
>
> (Response: ODP\_DESERIALIZATION\_ERROR, Error while de-serializing contents.):

That looks like an error coming back from the server, though it's somewhat hard to tell.

Can you post the script you're using to send the data here in a preformatted text block? Use this icon: ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/4/4/44f38bf58bb3b352b3afcefaa1fb4f7dea2568d2.png) or wrap it in triple backtick/grave characters:

```auto
`​``
content
`​``

```

---

<div class="post-metadata">

**Author:** ![martinel3746](https://avatars.discourse-cdn.com/v4/letter/m/e0b2c6/32.png) [@martinel3746](https://forum.inductiveautomation.com/u/martinel3746)\
**Post date:** [March 14, 2022, 4:51pm UTC](https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167/3 "2022-03-14T16:51:27Z")

</div>

We have an API service that would never respond to httpPost so we import the urllib and urllib2 and use those functions for posting to that particular API service.  
One thing that we found necessary, after running for a while, is that we needed to explicitly .close() the request to prevent overrunning the max connections.  
.close() is hardly documented and some say it is not necessary  
Here’s a snip from our code:

```auto
	try:
		apiRequest = urllib2.Request(endPoint, data, header)
		apiResponse	= urllib2.urlopen(apiRequest)
		qctResponse	= apiResponse.read()
		apiResponse.close() # close the connection JIRA Issue: QCT-1678

```

---

<div class="post-metadata">

**Author:** ![houfa\_zhu](https://avatars.discourse-cdn.com/v4/letter/h/50afbb/32.png) [@houfa\_zhu](https://forum.inductiveautomation.com/u/houfa_zhu)\
**Post date:** [March 14, 2022, 5:25pm UTC](https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167/4 "2022-03-14T17:25:29Z")

</div>

user = “**"  
passwd = "**”

OrderNo = ‘’’ + “2586” + ‘’’  
ReleaseNo = ‘’’ +"_" + ‘’’  
SequenceNo = ‘’’ + "_" + ‘’’   
Batches = ‘’’ + ‘1’ + ‘’’  
parameter = {“OrderNo”: OrderNo,“ReleaseNo”:ReleaseNo, “SequenceNo”:SequenceNo, “Batches”:Batches}  
url = “https://\*\*\*\*[ofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/ReportBatch](http://ofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/ReportBatch)”   
client = system.net.httpClient(username=user, password=passwd, bypass\_cert\_validation = True, cookie\_policy = “ACCEPT\_ALL”,redirect\_policy = “ALWAYS” )  
Response = client.post(url,parameter)

try:  
print Response.json[‘value’]  
except:  
a = “[” + Response.text + “]”  
b = system.util.jsonDecode( a )  
print b

---

<div class="post-metadata">

**Author:** ![houfa\_zhu](https://avatars.discourse-cdn.com/v4/letter/h/50afbb/32.png) [@houfa\_zhu](https://forum.inductiveautomation.com/u/houfa_zhu)\
**Post date:** [March 14, 2022, 5:27pm UTC](https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167/5 "2022-03-14T17:27:51Z")

</div>

thanks [martinel3746](https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167/3) for the information. i will try if we can apply it to solve the problem.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [March 14, 2022, 5:49pm UTC](https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167/6 "2022-03-14T17:49:36Z")

</div>

Instead of decoding the response in a try/except, what if you just print the exact response you’re getting?

```auto
Response = client.post(url,parameter)
print response.text

```

See if that has any more useful information. If you’re getting any actual error from `httpClient`, please post the full stacktrace here (again, inside a preformatted text block).

---

<div class="post-metadata">

**Author:** ![houfa\_zhu](https://avatars.discourse-cdn.com/v4/letter/h/50afbb/32.png) [@houfa\_zhu](https://forum.inductiveautomation.com/u/houfa_zhu)\
**Post date:** [March 14, 2022, 6:15pm UTC](https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167/7 "2022-03-14T18:15:42Z")

</div>

```auto
14:12:05.528 [Browser Thread: 63858] INFO Perspective.Designer.Workspace - https://aoa-ifs-tapp.corp.airbossofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/GetReportedBatches(OrderNo='2586',ReleaseNo='*',SequenceNo='*')
14:12:13.429 [Browser Thread: 63858] INFO Perspective.Designer.Workspace - https://aoa-ifs-tapp.corp.airbossofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/GetTotalReportedBatches(OrderNo='2586',ReleaseNo='*',SequenceNo='*')
14:12:15.718 [AWT-EventQueue-0] ERROR com.inductiveautomation.ignition.client.util.gui.ErrorUtil - Error running action 'dom.onClick' on HTTP/Floor (1)@D/root/Button_Orders: Traceback (most recent call last):
  File "<function:runAction>", line 38, in runAction
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.send(JythonHttpClient.java:103)
	at com.inductiveautomation.ignition.common.script.builtin.http.InsecureJythonHttpClient.send(InsecureJythonHttpClient.java:37)
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.get(JythonHttpClient.java:305)
	at jdk.internal.reflect.GeneratedMethodAccessor1549.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
java.io.IOException: java.io.IOException: Unable to GET https://aoa-ifs-tapp.corp.airbossofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/GetReportedBatches(OrderNo='2586',ReleaseNo='*',SequenceNo='*')

com.inductiveautomation.ignition.common.GenericTransferrableException: Traceback (most recent call last):
  File "<function:runAction>", line 38, in runAction
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.send(JythonHttpClient.java:103)
	at com.inductiveautomation.ignition.common.script.builtin.http.InsecureJythonHttpClient.send(InsecureJythonHttpClient.java:37)
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.get(JythonHttpClient.java:305)
	at jdk.internal.reflect.GeneratedMethodAccessor1549.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
java.io.IOException: java.io.IOException: Unable to GET https://aoa-ifs-tapp.corp.airbossofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/GetReportedBatches(OrderNo='2586',ReleaseNo='*',SequenceNo='*')

	at org.python.core.Py.JavaError(Py.java:552)
	at org.python.core.Py.JavaError(Py.java:543)
	at org.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:190)
	at org.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:206)
	at org.python.core.PyObject. __call__ (PyObject.java:497)
	at org.python.core.PyObject. __call__ (PyObject.java:501)
	at org.python.core.PyMethod. __call__ (PyMethod.java:141)
	at org.python.pycode._pyx5275.runAction$1(<function:runAction>:66)
	at org.python.pycode._pyx5275.call_function(<function:runAction>)
	at org.python.core.PyTableCode.call(PyTableCode.java:171)
	at org.python.core.PyBaseCode.call(PyBaseCode.java:308)
	at org.python.core.PyFunction.function ___call__ (PyFunction.java:471)
	at org.python.core.PyFunction. __call__ (PyFunction.java:466)
	at org.python.core.PyFunction. __call__ (PyFunction.java:461)
	at com.inductiveautomation.ignition.common.script.ScriptManager.runFunction(ScriptManager.java:842)
	at com.inductiveautomation.ignition.common.script.ScriptManager.runFunction(ScriptManager.java:824)
	at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$TrackingProjectScriptManager.runFunction(ProjectScriptLifecycle.java:681)
	at com.inductiveautomation.ignition.common.script.ScriptManager$ScriptFunctionImpl.invoke(ScriptManager.java:993)
	at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$AutoRecompilingScriptFunction.invoke(ProjectScriptLifecycle.java:746)
	at com.inductiveautomation.perspective.gateway.script.ScriptFunctionHelper.invoke(ScriptFunctionHelper.java:133)
	at com.inductiveautomation.perspective.gateway.action.ScriptAction.runAction(ScriptAction.java:71)
	at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.lambda$call$0(ActionCollection.java:263)
	at com.inductiveautomation.perspective.gateway.api.LoggingContext.mdc(LoggingContext.java:54)
	at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.call(ActionCollection.java:252)
	at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.call(ActionCollection.java:221)
	at com.inductiveautomation.perspective.gateway.threading.BlockingTaskQueue$TaskWrapper.run(BlockingTaskQueue.java:154)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: com.inductiveautomation.ignition.common.GenericTransferrableException: Traceback (most recent call last):
  File "<function:runAction>", line 38, in runAction
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.send(JythonHttpClient.java:103)
	at com.inductiveautomation.ignition.common.script.builtin.http.InsecureJythonHttpClient.send(InsecureJythonHttpClient.java:37)
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.get(JythonHttpClient.java:305)
	at jdk.internal.reflect.GeneratedMethodAccessor1549.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
java.io.IOException: java.io.IOException: Unable to GET https://aoa-ifs-tapp.corp.airbossofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/GetReportedBatches(OrderNo='2586',ReleaseNo='*',SequenceNo='*')

	... 31 common frames omitted
Caused by: com.inductiveautomation.ignition.common.GenericTransferrableException: Unable to GET https://aoa-ifs-tapp.corp.airbossofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/GetReportedBatches(OrderNo='2586',ReleaseNo='*',SequenceNo='*')
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.send(JythonHttpClient.java:103)
	at com.inductiveautomation.ignition.common.script.builtin.http.InsecureJythonHttpClient.send(InsecureJythonHttpClient.java:37)
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.get(JythonHttpClient.java:305)
	at jdk.internal.reflect.GeneratedMethodAccessor1549.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:188)
	... 28 common frames omitted
Caused by: com.inductiveautomation.ignition.common.GenericTransferrableException: HTTP connect timed out
	at java.net.http/jdk.internal.net.http.HttpClientImpl.send(Unknown Source)
	at java.net.http/jdk.internal.net.http.HttpClientFacade.send(Unknown Source)
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.send(JythonHttpClient.java:101)
	... 34 common frames omitted
Caused by: com.inductiveautomation.ignition.common.GenericTransferrableException: HTTP connect timed out
	at java.net.http/jdk.internal.net.http.MultiExchange.toTimeoutException(Unknown Source)
	at java.net.http/jdk.internal.net.http.MultiExchange.getExceptionalCF(Unknown Source)
	at java.net.http/jdk.internal.net.http.MultiExchange.lambda$responseAsyncImpl$7(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture.uniHandle(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(Unknown Source)
	at java.net.http/jdk.internal.net.http.Exchange.checkCancelled(Unknown Source)
	at java.net.http/jdk.internal.net.http.Exchange.cancel(Unknown Source)
	at java.net.http/jdk.internal.net.http.MultiExchange.cancel(Unknown Source)
	at java.net.http/jdk.internal.net.http.PlainHttpConnection$ConnectTimerEvent.handle(Unknown Source)
	at java.net.http/jdk.internal.net.http.HttpClientImpl.purgeTimeoutsAndReturnNextDeadline(Unknown Source)
	at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.run(Unknown Source)
Caused by: com.inductiveautomation.ignition.common.GenericTransferrableException: HTTP connect timed out
	... 13 common frames omitted
14:12:15.928 [Browser Thread: 63858] INFO Perspective.Designer.Workspace - https://aoa-ifs-tapp.corp.airbossofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/ReportBatch
14:12:23.606 [AWT-EventQueue-0] ERROR com.inductiveautomation.ignition.client.util.gui.ErrorUtil - Error running action 'dom.onClick' on HTTP/Floor (1)@D/root/Button_Reported_Batches_0: Traceback (most recent call last):
  File "<function:runAction>", line 38, in runAction
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.send(JythonHttpClient.java:103)
	at com.inductiveautomation.ignition.common.script.builtin.http.InsecureJythonHttpClient.send(InsecureJythonHttpClient.java:37)
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.get(JythonHttpClient.java:305)
	at jdk.internal.reflect.GeneratedMethodAccessor1549.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
java.io.IOException: java.io.IOException: Unable to GET https://aoa-ifs-tapp.corp.airbossofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/GetTotalReportedBatches(OrderNo='2586',ReleaseNo='*',SequenceNo='*')

com.inductiveautomation.ignition.common.GenericTransferrableException: Traceback (most recent call last):
  File "<function:runAction>", line 38, in runAction
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.send(JythonHttpClient.java:103)
	at com.inductiveautomation.ignition.common.script.builtin.http.InsecureJythonHttpClient.send(InsecureJythonHttpClient.java:37)
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.get(JythonHttpClient.java:305)
	at jdk.internal.reflect.GeneratedMethodAccessor1549.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
java.io.IOException: java.io.IOException: Unable to GET https://aoa-ifs-tapp.corp.airbossofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/GetTotalReportedBatches(OrderNo='2586',ReleaseNo='*',SequenceNo='*')

	at org.python.core.Py.JavaError(Py.java:552)
	at org.python.core.Py.JavaError(Py.java:543)
	at org.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:190)
	at org.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:206)
	at org.python.core.PyObject. __call__ (PyObject.java:497)
	at org.python.core.PyObject. __call__ (PyObject.java:501)
	at org.python.core.PyMethod. __call__ (PyMethod.java:141)
	at org.python.pycode._pyx5276.runAction$1(<function:runAction>:46)
	at org.python.pycode._pyx5276.call_function(<function:runAction>)
	at org.python.core.PyTableCode.call(PyTableCode.java:171)
	at org.python.core.PyBaseCode.call(PyBaseCode.java:308)
	at org.python.core.PyFunction.function ___call__ (PyFunction.java:471)
	at org.python.core.PyFunction. __call__ (PyFunction.java:466)
	at org.python.core.PyFunction. __call__ (PyFunction.java:461)
	at com.inductiveautomation.ignition.common.script.ScriptManager.runFunction(ScriptManager.java:842)
	at com.inductiveautomation.ignition.common.script.ScriptManager.runFunction(ScriptManager.java:824)
	at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$TrackingProjectScriptManager.runFunction(ProjectScriptLifecycle.java:681)
	at com.inductiveautomation.ignition.common.script.ScriptManager$ScriptFunctionImpl.invoke(ScriptManager.java:993)
	at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$AutoRecompilingScriptFunction.invoke(ProjectScriptLifecycle.java:746)
	at com.inductiveautomation.perspective.gateway.script.ScriptFunctionHelper.invoke(ScriptFunctionHelper.java:133)
	at com.inductiveautomation.perspective.gateway.action.ScriptAction.runAction(ScriptAction.java:71)
	at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.lambda$call$0(ActionCollection.java:263)
	at com.inductiveautomation.perspective.gateway.api.LoggingContext.mdc(LoggingContext.java:54)
	at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.call(ActionCollection.java:252)
	at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.call(ActionCollection.java:221)
	at com.inductiveautomation.perspective.gateway.threading.BlockingTaskQueue$TaskWrapper.run(BlockingTaskQueue.java:154)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: com.inductiveautomation.ignition.common.GenericTransferrableException: Traceback (most recent call last):
  File "<function:runAction>", line 38, in runAction
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.send(JythonHttpClient.java:103)
	at com.inductiveautomation.ignition.common.script.builtin.http.InsecureJythonHttpClient.send(InsecureJythonHttpClient.java:37)
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.get(JythonHttpClient.java:305)
	at jdk.internal.reflect.GeneratedMethodAccessor1549.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
java.io.IOException: java.io.IOException: Unable to GET https://aoa-ifs-tapp.corp.airbossofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/GetTotalReportedBatches(OrderNo='2586',ReleaseNo='*',SequenceNo='*')

	... 31 common frames omitted
Caused by: com.inductiveautomation.ignition.common.GenericTransferrableException: Unable to GET https://aoa-ifs-tapp.corp.airbossofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/GetTotalReportedBatches(OrderNo='2586',ReleaseNo='*',SequenceNo='*')
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.send(JythonHttpClient.java:103)
	at com.inductiveautomation.ignition.common.script.builtin.http.InsecureJythonHttpClient.send(InsecureJythonHttpClient.java:37)
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.get(JythonHttpClient.java:305)
	at jdk.internal.reflect.GeneratedMethodAccessor1549.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:188)
	... 28 common frames omitted
Caused by: com.inductiveautomation.ignition.common.GenericTransferrableException: HTTP connect timed out
	at java.net.http/jdk.internal.net.http.HttpClientImpl.send(Unknown Source)
	at java.net.http/jdk.internal.net.http.HttpClientFacade.send(Unknown Source)
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.send(JythonHttpClient.java:101)
	... 34 common frames omitted
Caused by: com.inductiveautomation.ignition.common.GenericTransferrableException: HTTP connect timed out
	at java.net.http/jdk.internal.net.http.MultiExchange.toTimeoutException(Unknown Source)
	at java.net.http/jdk.internal.net.http.MultiExchange.getExceptionalCF(Unknown Source)
	at java.net.http/jdk.internal.net.http.MultiExchange.lambda$responseAsyncImpl$7(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture.uniHandle(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(Unknown Source)
	at java.net.http/jdk.internal.net.http.Exchange.checkCancelled(Unknown Source)
	at java.net.http/jdk.internal.net.http.Exchange.cancel(Unknown Source)
	at java.net.http/jdk.internal.net.http.MultiExchange.cancel(Unknown Source)
	at java.net.http/jdk.internal.net.http.PlainHttpConnection$ConnectTimerEvent.handle(Unknown Source)
	at java.net.http/jdk.internal.net.http.HttpClientImpl.purgeTimeoutsAndReturnNextDeadline(Unknown Source)
	at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.run(Unknown Source)
Caused by: com.inductiveautomation.ignition.common.GenericTransferrableException: HTTP connect timed out
	... 13 common frames omitted
14:12:25.961 [AWT-EventQueue-0] ERROR com.inductiveautomation.ignition.client.util.gui.ErrorUtil - Error running action 'dom.onClick' on HTTP/Floor (1)@D/root/Button_Report_A_Batch: Traceback (most recent call last):
  File "<function:runAction>", line 53, in runAction
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.send(JythonHttpClient.java:103)
	at com.inductiveautomation.ignition.common.script.builtin.http.InsecureJythonHttpClient.send(InsecureJythonHttpClient.java:37)
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.post(JythonHttpClient.java:317)
	at jdk.internal.reflect.GeneratedMethodAccessor1560.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
java.io.IOException: java.io.IOException: Unable to POST https://aoa-ifs-tapp.corp.airbossofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/ReportBatch?ReleaseNo=*&SequenceNo=*&OrderNo=2586

com.inductiveautomation.ignition.common.GenericTransferrableException: Traceback (most recent call last):
  File "<function:runAction>", line 53, in runAction
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.send(JythonHttpClient.java:103)
	at com.inductiveautomation.ignition.common.script.builtin.http.InsecureJythonHttpClient.send(InsecureJythonHttpClient.java:37)
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.post(JythonHttpClient.java:317)
	at jdk.internal.reflect.GeneratedMethodAccessor1560.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
java.io.IOException: java.io.IOException: Unable to POST https://aoa-ifs-tapp.corp.airbossofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/ReportBatch?ReleaseNo=*&SequenceNo=*&OrderNo=2586

	at org.python.core.Py.JavaError(Py.java:552)
	at org.python.core.Py.JavaError(Py.java:543)
	at org.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:190)
	at org.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:206)
	at org.python.core.PyObject. __call__ (PyObject.java:515)
	at org.python.core.PyObject. __call__ (PyObject.java:519)
	at org.python.core.PyMethod. __call__ (PyMethod.java:156)
	at org.python.pycode._pyx5277.runAction$1(<function:runAction>:60)
	at org.python.pycode._pyx5277.call_function(<function:runAction>)
	at org.python.core.PyTableCode.call(PyTableCode.java:171)
	at org.python.core.PyBaseCode.call(PyBaseCode.java:308)
	at org.python.core.PyFunction.function ___call__ (PyFunction.java:471)
	at org.python.core.PyFunction. __call__ (PyFunction.java:466)
	at org.python.core.PyFunction. __call__ (PyFunction.java:461)
	at com.inductiveautomation.ignition.common.script.ScriptManager.runFunction(ScriptManager.java:842)
	at com.inductiveautomation.ignition.common.script.ScriptManager.runFunction(ScriptManager.java:824)
	at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$TrackingProjectScriptManager.runFunction(ProjectScriptLifecycle.java:681)
	at com.inductiveautomation.ignition.common.script.ScriptManager$ScriptFunctionImpl.invoke(ScriptManager.java:993)
	at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$AutoRecompilingScriptFunction.invoke(ProjectScriptLifecycle.java:746)
	at com.inductiveautomation.perspective.gateway.script.ScriptFunctionHelper.invoke(ScriptFunctionHelper.java:133)
	at com.inductiveautomation.perspective.gateway.action.ScriptAction.runAction(ScriptAction.java:71)
	at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.lambda$call$0(ActionCollection.java:263)
	at com.inductiveautomation.perspective.gateway.api.LoggingContext.mdc(LoggingContext.java:54)
	at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.call(ActionCollection.java:252)
	at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.call(ActionCollection.java:221)
	at com.inductiveautomation.perspective.gateway.threading.BlockingTaskQueue$TaskWrapper.run(BlockingTaskQueue.java:154)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: com.inductiveautomation.ignition.common.GenericTransferrableException: Traceback (most recent call last):
  File "<function:runAction>", line 53, in runAction
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.send(JythonHttpClient.java:103)
	at com.inductiveautomation.ignition.common.script.builtin.http.InsecureJythonHttpClient.send(InsecureJythonHttpClient.java:37)
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.post(JythonHttpClient.java:317)
	at jdk.internal.reflect.GeneratedMethodAccessor1560.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
java.io.IOException: java.io.IOException: Unable to POST https://aoa-ifs-tapp.corp.airbossofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/ReportBatch?ReleaseNo=*&SequenceNo=*&OrderNo=2586

	... 31 common frames omitted
Caused by: com.inductiveautomation.ignition.common.GenericTransferrableException: Unable to POST https://aoa-ifs-tapp.corp.airbossofamerica.com:48080/int/ifsapplications/projection/v1/AbaShopFloorUtil.svc/ReportBatch?ReleaseNo=*&SequenceNo=*&OrderNo=2586
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.send(JythonHttpClient.java:103)
	at com.inductiveautomation.ignition.common.script.builtin.http.InsecureJythonHttpClient.send(InsecureJythonHttpClient.java:37)
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.post(JythonHttpClient.java:317)
	at jdk.internal.reflect.GeneratedMethodAccessor1560.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:188)
	... 28 common frames omitted
Caused by: com.inductiveautomation.ignition.common.GenericTransferrableException: HTTP connect timed out
	at java.net.http/jdk.internal.net.http.HttpClientImpl.send(Unknown Source)
	at java.net.http/jdk.internal.net.http.HttpClientFacade.send(Unknown Source)
	at com.inductiveautomation.ignition.common.script.builtin.http.JythonHttpClient.send(JythonHttpClient.java:101)
	... 34 common frames omitted
Caused by: com.inductiveautomation.ignition.common.GenericTransferrableException: HTTP connect timed out
	at java.net.http/jdk.internal.net.http.MultiExchange.toTimeoutException(Unknown Source)
	at java.net.http/jdk.internal.net.http.MultiExchange.getExceptionalCF(Unknown Source)
	at java.net.http/jdk.internal.net.http.MultiExchange.lambda$responseAsyncImpl$7(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture.uniHandle(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(Unknown Source)
	at java.net.http/jdk.internal.net.http.Exchange.checkCancelled(Unknown Source)
	at java.net.http/jdk.internal.net.http.Exchange.cancel(Unknown Source)
	at java.net.http/jdk.internal.net.http.MultiExchange.cancel(Unknown Source)
	at java.net.http/jdk.internal.net.http.PlainHttpConnection$ConnectTimerEvent.handle(Unknown Source)
	at java.net.http/jdk.internal.net.http.HttpClientImpl.purgeTimeoutsAndReturnNextDeadline(Unknown Source)
	at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.run(Unknown Source)
Caused by: com.inductiveautomation.ignition.common.GenericTransferrableException: HTTP connect timed out
	... 13 common frames omitted

```

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [March 14, 2022, 6:27pm UTC](https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167/8 "2022-03-14T18:27:27Z")

</div>

```auto
Caused by: com.inductiveautomation.ignition.common.GenericTransferrableException: HTTP connect timed out

```

That’s a straightforward network connectivity issue, unrelated to the script you’re running.

---

<div class="post-metadata">

**Author:** ![martinel3746](https://avatars.discourse-cdn.com/v4/letter/m/e0b2c6/32.png) [@martinel3746](https://forum.inductiveautomation.com/u/martinel3746)\
**Post date:** [March 14, 2022, 6:44pm UTC](https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167/9 "2022-03-14T18:44:25Z")

</div>

Error handling is one of my weak points but I’m using the exceptions to record success/fail info and populate missing details into a JSON document as a return value:

```auto
		jsonResponse = system.util.jsonDecode(xxxResponse)
		# Rev 1.7: if nothing was returned from xxx API, return null response stop condition instead of default general exception.
		if jsonResponse == None:
			jsonResponse = {}
			jsonResponse['handshakeTag'] = -1
			jsonResponse['openDispatch'] = True
			# other stuff here...
			logger.error( 'NULL Response: "%s"' str(jsonResponse))
		else:
			jsonResponse['openDispatch'] = False
			# other stuff here...

	except HTTPError, he:
		if jsonResponse == None:
			jsonResponse = {}
		jsonResponse['handshakeTag'] = -2
		jsonResponse['openDispatch'] = True
		# other stuff here
		logger.error( 'Failed Response HTTPError: %s "%s"' %(str(jsonResponse), str(he)) )

	except URLError, ue:	# next version of Jython recommends using "URLError as <alias>"
		if jsonResponse == None:
			jsonResponse = {}
		jsonResponse['handshakeTag'] = -3
		jsonResponse['openDispatch'] = True
		# other stuff here
		logger.error( 'Failed Response URLError: %s "%s"' %(str(jsonResponse),str(ue)) )

	except IOError, ioe:
		if jsonResponse == None:
			jsonResponse = {}
		jsonResponse['handshakeTag'] = -4
		jsonResponse['openDispatch'] = True
		# other stuff here
		logger.error( 'Failed Response IOERrror: %s "%s"' %(str(jsonResponse), str(ioe)) )
	except:
		if jsonResponse == None:
			jsonResponse = {}
		jsonResponse['handshakeTag'] = -5
		jsonResponse['openDispatch'] = True
		# other stuff here
		logger.error( 'Failed Response GeneralError: %s' %str(jsonResponse) )

	return jsonResponse

```

The calling event is responsible to take appropriate action based on the values of ‘handshakeTag’ and ‘openDispatch’.

---

<div class="post-metadata">

**Author:** ![houfa\_zhu](https://avatars.discourse-cdn.com/v4/letter/h/50afbb/32.png) [@houfa\_zhu](https://forum.inductiveautomation.com/u/houfa_zhu)\
**Post date:** [March 14, 2022, 7:00pm UTC](https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167/10 "2022-03-14T19:00:38Z")

</div>

My apologies for some mistakes in trying this and now it's fixed for running:

```auto
Response = client.post(url,parameter)
print response.text

```

the result is the same without any more useful information:

> > >

{"error":{"code":"ODP\_DESERIALIZATION\_ERROR","message":"Error while de-serializing contents."}}

> > >

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [March 14, 2022, 7:19pm UTC](https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167/11 "2022-03-14T19:19:35Z")

</div>

Okay, so it’s definitely a server error.

Do you have something locally (e.g. a tool like Postman) that you can show correctly sends the data you’re trying to send?  
Trying to figure out what’s different between the two should be helpful. Wireshark would be helpful if the endpoint were insecure, but probably won’t help you here.

---

<div class="post-metadata">

**Author:** ![houfa\_zhu](https://avatars.discourse-cdn.com/v4/letter/h/50afbb/32.png) [@houfa\_zhu](https://forum.inductiveautomation.com/u/houfa_zhu)\
**Post date:** [March 14, 2022, 7:38pm UTC](https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167/12 "2022-03-14T19:38:47Z")

</div>

> [@houfa\_zhu](#):
>
> `Response = client.post(url,parameter)`

i will try to get some tool to troubleshoot. in the meantime, is the above a proper form to call the httpclient POST web service? we know url is correct and likely just the parameter is somehow now quite right yet...

---

<div class="post-metadata">

**Author:** ![houfa\_zhu](https://avatars.discourse-cdn.com/v4/letter/h/50afbb/32.png) [@houfa\_zhu](https://forum.inductiveautomation.com/u/houfa_zhu)\
**Post date:** [March 14, 2022, 7:39pm UTC](https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167/13 "2022-03-14T19:39:42Z")

</div>

> [@houfa\_zhu](#):
>
> somehow now quite right yet…

somehow not quite right yet…

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [March 14, 2022, 8:23pm UTC](https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167/14 "2022-03-14T20:23:40Z")

</div>

Try specifying that the data you’re sending should be the POST body, not parameters:  
`Response = client.post(url, data=parameter)`

---

<div class="post-metadata">

**Author:** ![houfa\_zhu](https://avatars.discourse-cdn.com/v4/letter/h/50afbb/32.png) [@houfa\_zhu](https://forum.inductiveautomation.com/u/houfa_zhu)\
**Post date:** [March 14, 2022, 8:34pm UTC](https://forum.inductiveautomation.com/t/system-net-httpclient-post-method/57167/15 "2022-03-14T20:34:02Z")

</div>

will try that. thanks .
