I'm trying to call WSO2 DSS in WSO2 EI 6.4.0. There is REST Resource added in DSS to execute TRUNCATE query to delete all Data in Table
WSO2 DSS Code:
<data name="WSO2_ZCloud_test_DSS" transports="http https local">
<config enableOData="false" id="Test_DataSource">
<property name="driverClassName">org.postgresql.Driver</property>
<property name="url">jdbc:postgresql://hostname:5432/db_schema</property>
<property name="username">user</property>
<property name="password">password</property>
</config>
<query id="dev_truncate_Q" useConfig="Test_DataSource">
<sql>TRUNCATE TABLE test_db.dev_test</sql>
</query>
<resource method="GET" path="dev_env_truncate">
<call-query href="dev_truncate_Q"/>
</resource>
</data>
There is one Task Scheduler which calls below mentioned Sequence
Sequence - Updated:
<sequence name="testBQ" xmlns="http://ws.apache.org/ns/synapse">
<log level="custom">
<property name="*********testBQ: B4 Truncate" value="**********"/>
</log>
<call>
<endpoint>
<http method="GET" uri-template="http://localhost:8280/devcontainer/services/WSO2_ZCloud_test_DSS/dev_env_truncate">
<timeout>
<duration>60000</duration>
</timeout>
<suspendOnFailure>
<errorCodes>-1</errorCodes>
<initialDuration>0</initialDuration>
<progressionFactor>1.0</progressionFactor>
<maximumDuration>0</maximumDuration>
</suspendOnFailure>
</http>
</endpoint>
</call>
<log level="custom">
<property name="*********after Truncate" value=" **********"/>
</log>
</sequence>
After this DSS Call, got below EXCEPTION
ERROR {org.apache.axis2.engine.AxisEngi
ne} - The endpoint reference (EPR) for the Operation not found is /devcontainer/services/WSO2_ZCloud_test_DSS/
dev_env_truncate and the WSA Action = null. If this EPR was previously reachable, please contact the
server administrator.
ERROR-LOG:
[2023-03-21 09:42:39,470] [-1234] [] [PassThroughMessageProcessor-93] ERROR {org.apache.axis2.engine.AxisEngi
ne} - The endpoint reference (EPR) for the Operation not found is /devcontainer/services/WSO2_ZCloud_test_DSS/
dev_env_truncate and the WSA Action = null. If this EPR was previously reachable, please contact the
server administrator.
org.apache.axis2.AxisFault: The endpoint reference (EPR) for the Operation not found is /devcontainer/services/
WSO2_ZCloud_test_DSS/dev_env_truncate and the WSA Action = null. If this EPR was previously reachabl
e, please contact the server administrator.
at org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:102)
at org.apache.axis2.engine.Phase.invoke(Phase.java:329)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:261)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:167)
at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWork
er.java:337)
at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:158)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
[2023-03-21 09:42:39,470] [-1234] [] [PassThroughMessageProcessor-93] ERROR {org.apache.synapse.transport.pas
sthru.ServerWorker} - Error processing GET request for : /devcontainer/services/WSO2_ZCloud_test_DSS/device_in
ventory_truncate
org.apache.axis2.AxisFault: The endpoint reference (EPR) for the Operation not found is /devcontainer/services/
WSO2_ZCloud_test_DSS/dev_env_truncate and the WSA Action = null. If this EPR was previously reachabl
e, please contact the server administrator.
at org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:102)
at org.apache.axis2.engine.Phase.invoke(Phase.java:329)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:261)
Ref Link:
Note: This REST Resource Operation is not shown in tryit tool.
- Tried via
DBReportMediator which took min 6 mins to finish it's execution(2 record deletion). So chosenDSSrather thanDBReport. I need toDELETEall record before Inserting data to Target Table.
PS: Lot of similar issue questions available, None of them are helping even after tried multiple ways.
Can anyone help me out to fix this issue?
The problem seems to be you are trying to do a SOAP call to a Restful service. Try removing the following two properties.
I just observed an additional context path in the service.
/devcontainer/services/WSO2_ZCloud_test_DSS/device_in ventory_truncate. Obviously WSO2 doesn't understanddevcontainer(Unless ou have added custom root context) so the correct URL should behttp://localhost:8280/services/WSO2_ZCloud_test_DSS/dev_env_truncate