I was wondering how to invoke a soap webservice for which i have only WSDL ?
Hi Vikceo,
I am not sure what you exactly mean with “invoke a SOPE web service”. However, if you create your graphs in commercial CloverETL Designer, you may use one of its components called WebServiceClient. Besides WSDL URL you also need to set up Operation name and Request body structure. For more information about this component, refer to our online documentation (http://doc.cloveretl.com/documentation/UserGuide/index.jsp?topic=/com.cloveretl.gui.docs/docs/webserviceclient.html).
If you do not have commercial version of CloverETL Designer, you may use HTTPConnector component. For more information about this component and its settings, refer to: http://doc.cloveretl.com/documentation/UserGuide/index.jsp?topic=/com.cloveretl.gui.docs/docs/webserviceclient.html.
You might also take into consideration reviewing one of our RealWorldExamples (graphWebServices.grf) that demonstrates the power of this tool. In JobflowExamples there also is another example demonstrating usage of WebServiceClient in cooperation with Jobflows (06-ExternalInteraction-SalesforceWebServices.jbf). Please keep in mind that using Jobflows requires running CloverETL Server license.
i am using full product with trial of 45 days.
Ok so i followed your suggestions and could find a webServiceClient component. I provided wsdl location and then selected operation.
however on clicking the Request Body Structure tool throws exception as:
WSDL analysis exception
Reason: java.lang.reflect.invocationTargetException
Caused by: Schema name conflict in collection. Namespace:
Please note that I am able to invoke the same webservice through jdeveloper so it confirms that the wsdl is correct
Please advise.
Hi Vik,
From the information you have provided above, it seems the issue is caused by incorrect order of references in your schema. Could you please provide us with the WSDL you use? Since you are evaluating the software, you are eligible to contact evaluation customer support (eval- eval-support@cloveretl.com). Therefore if you do not want to share the file here, you can send it via email.
<wsdl:definitions
name=“DisputeManagementService”
targetNamespace=“http://xmlns.oracle.com/apps/incentiveCompensation/cn/disputeManagement/model/”
xmlns:errors=“http://xmlns.oracle.com/adf/svc/errors/”
xmlns:tns=“http://xmlns.oracle.com/apps/incentiveCompensation/cn/disputeManagement/model/”
xmlns:wsdl=“http://schemas.xmlsoap.org/wsdl/”
xmlns:soap=“http://schemas.xmlsoap.org/wsdl/soap/”
xmlns:types=“http://xmlns.oracle.com/apps/incentiveCompensation/cn/disputeManagement/model/types/”
>
wsdl:documentation
Incentive Compensation Dispute
Other
</wsdl:documentation>
<wsdl:import namespace=“http://xmlns.oracle.com/adf/svc/errors/” location=“http://slcac686.us.oracle.com:6070/icCnDisputeManagementTop/DisputeManagementService?WSDL=/META-INF/wsdl/ServiceException.wsdl"/>
wsdl:types
<import namespace=“http://xmlns.oracle.com/apps/incentiveCompensation/cn/disputeManagement/model/types/”
schemaLocation=“http://slcac686.us.oracle.com:6070/icCnDisputeManagementTop/DisputeManagementService?XSD=/oracle/apps/incentiveCompensation/cn/disputeManagement/model/DisputeManagementService.xsd"/>
</wsdl:types>
<wsdl:message name=“DisputeManagementService_getDispute1”>
<wsdl:part name=“parameters” element=“types:getDispute1”/>
</wsdl:message>
<wsdl:message name=“DisputeManagementService_getDispute1Response”>
<wsdl:part name=“parameters” element=“types:getDispute1Response”/>
</wsdl:message>
<wsdl:message name=“DisputeManagementService_findDispute1”>
<wsdl:part name=“parameters” element=“types:findDispute1”/>
</wsdl:message>
<wsdl:message name=“DisputeManagementService_findDispute1Response”>
<wsdl:part name=“parameters” element=“types:findDispute1Response”/>
</wsdl:message>
<wsdl:message name=“DisputeManagementService_updateDispute1”>
<wsdl:part name=“parameters” element=“types:updateDispute1”/>
</wsdl:message>
<wsdl:message name=“DisputeManagementService_updateDispute1Response”>
<wsdl:part name=“parameters” element=“types:updateDispute1Response”/>
</wsdl:message>
<wsdl:portType name=“DisputeManagementService”>
wsdl:documentation
</wsdl:documentation>
<wsdl:operation name=“getDispute1”>
<wsdl:input message=“tns:DisputeManagementService_getDispute1”/>
<wsdl:output message=“tns:DisputeManagementService_getDispute1Response”/>
<wsdl:fault name=“ServiceException” message=“errors:ServiceException”/>
</wsdl:operation>
<wsdl:operation name=“findDispute1”>
<wsdl:input message=“tns:DisputeManagementService_findDispute1”/>
<wsdl:output message=“tns:DisputeManagementService_findDispute1Response”/>
<wsdl:fault name=“ServiceException” message=“errors:ServiceException”/>
</wsdl:operation>
<wsdl:operation name=“updateDispute1”>
<wsdl:input message=“tns:DisputeManagementService_updateDispute1”/>
<wsdl:output message=“tns:DisputeManagementService_updateDispute1Response”/>
<wsdl:fault name=“ServiceException” message=“errors:ServiceException”/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name=“DisputeManagementServiceSoapHttp” type=“tns:DisputeManagementService”>
<soap:binding style=“document” transport=“http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name=“getDispute1”>
<soap:operation soapAction=“http://xmlns.oracle.com/apps/incentiveCompensation/cn/disputeManagement/model/getDispute1"/>
wsdl:input
<soap:body use=“literal”/>
</wsdl:input>
wsdl:output
<soap:body use=“literal”/>
</wsdl:output>
<wsdl:fault name=“ServiceException”>
<soap:fault name=“ServiceException” use=“literal” encodingStyle=””/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name=“findDispute1”>
<soap:operation soapAction=“http://xmlns.oracle.com/apps/incentiveCompensation/cn/disputeManagement/model/findDispute1"/>
wsdl:input
<soap:body use=“literal”/>
</wsdl:input>
wsdl:output
<soap:body use=“literal”/>
</wsdl:output>
<wsdl:fault name=“ServiceException”>
<soap:fault name=“ServiceException” use=“literal” encodingStyle=””/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name=“updateDispute1”>
<soap:operation soapAction=“http://xmlns.oracle.com/apps/incentiveCompensation/cn/disputeManagement/model/updateDispute1"/>
wsdl:input
<soap:body use=“literal”/>
</wsdl:input>
wsdl:output
<soap:body use=“literal”/>
</wsdl:output>
<wsdl:fault name=“ServiceException”>
<soap:fault name=“ServiceException” use=“literal” encodingStyle=””/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name=“DisputeManagementService”>
<wsdl:port name=“DisputeManagementServiceSoapHttpPort” binding=“tns:DisputeManagementServiceSoapHttp”>
<soap:address location="http://slcac686.us.oracle.com:6070/icCnDisputeManagementTop/DisputeManagementService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Hi Vik,
It seems those links to XSD and WSDL files do not work. Could you please make sure these files are available? We need more information to be able to analyze this issue. It would be helpful to see files referenced in the WSDL (in import tags). Also, if you still get the same exception, could you please navigate to “Error log” in CloverETL Designer and find that message (if the Error log tab is not visible, go to Window → Show view → Other and find it the list). When double-clicking the message you should get more information about the exception. Could you also please send this information to us as well? You may use eval-support@cloveretl.com to send us aforementioned files.