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