JDeveloper generates this WLSD:
<?binding.jca AcmeDBInsert_db_db.jca?> <wsdl:definitions name="AcmeDBInsert_db" targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/AcmePOC_Sharath/Acme_POC_Acme_WMS/AcmeDBInsert_db" xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/db/AcmePOC/Acme_POC_Acme_WMS/AcmeDBInsert_db" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:top="http://xmlns.oracle.com/pcbpel/adapter/db/top/AcmeDBInsert_db"> <plt:partnerLinkType name="AcmeDBInsert_db_plt"> <plt:role name="AcmeDBInsert_db_role"> <plt:portType name="tns:AcmeDBInsert_db_ptt"/> </plt:role> </plt:partnerLinkType> <wsdl:types> <schema xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/top/AcmeDBInsert_db" schemaLocation="xsd/AcmeDBInsert_db_table.xsd"/> </schema> </wsdl:types> <wsdl:message name="GmAcmeTrackerCollection_msg"> <wsdl:part name="GmAcmeTrackerCollection" element="top:GmAcmeTrackerCollection"/> </wsdl:message> <wsdl:portType name="AcmeDBInsert_db_ptt"> <wsdl:operation name="insert"> <wsdl:input message="tns:GmAcmeTrackerCollection_msg"/> </wsdl:operation> </wsdl:portType> </wsdl:definitions>
the "insert" operation is a one-way operation (no wlsd:output clause)
The problem is that the Service Callout expects a request-reply pattern.
So in this case you must necessarily use a Publish, with Quality of Service "Exactly Once" to execute in the same transaction and with a blocking operation.
1 comment:
Or edit the generated wsdl to make the insert a sync operation. In that case it will just return a dummy response
Post a Comment