Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us to spark ideas for how to put the latest capabilities into action. Register here!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

cCXF component with payload mode

Is there an example that shows how to make a SOAP call in a Route with cCXF component with PAYLOAD mode selected?

Labels (3)
15 Replies
Anonymous
Not applicable
Author

I accidently clikced accept as a solution.

 

My exchange body now looks like this

    <upload>
      <arg0>
        <credentials>
          <password>...</password>
          <username>...</username>
        </credentials>
        <document>
          <content>j</content>
          <name>1.xml</name>
        </document>
        <documentType>12</documentType>
        <formatType>19</formatType>
      </arg0>
    </upload>

And now I get this error:

org.apache.cxf.binding.soap.SoapFault: Cannot find dispatch method for {}upload
	at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:86)
	at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:52)
	at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:41)
Loko
Creator II
Creator II

again, if you want help, give people as many data as you can. We still haven't see your WSDL.

Just be sure your CXF is correctly parameterized with the url, the wdsl, the button to choose en operation and to automatically parameter the other cxf parameters.

 

There are many samples on internet for using Talend cxf

Anonymous
Not applicable
Author

Why do you need to see the WSDL?

When I put SOAP bellow into the exchange body and switch the component to RAW, I get ok response from the service:

 <S:Body xmlns:ns2="....">
    <ns2:upload>
      <arg0>
        <credentials>
          <password>...</password>
          <username>...</username>
        </credentials>
        <document>
          <content>j</content>
          <name>1.xml</name>
        </document>
        <documentType>12</documentType>
        <formatType>19</formatType>
      </arg0>
    </ns2:upload>
  </S:Body>
Anonymous
Not applicable
Author

Anonymous
Not applicable
Author

Hi,

 

I did a test with:

<?xml version="1.0" ?>
<tns:upload xmlns:tns="http://upload.service.ws.findxnet.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<arg0>
<aaLookupName>A</aaLookupName>
<aaLookupValue>A</aaLookupValue>
<document>
<content>A</content>
<name>A</name>
</document>
<documentType/>
<formatType/>
<userAccount xsi:type="tns:userAccountVO"/>
</arg0>
</tns:upload>

 

It looks fine. I get this reply:

<ns2:uploadResponse xmlns:ns2="http://upload.service.ws.findxnet.com/" xmlns0683p000009M9p6.png="http://schemas.xmlsoap.org/soap/envelope/"><return><code>-2</code><details>User is not authorized to perform this operation. Check if documentType, formatType or probably lookup are incorrect. A:A</details></return></ns2:uploadResponse>

 

Eric

Anonymous
Not applicable
Author

This setup worked for me:

 

    <ns2:upload xmlns:ns2="http://upload.service.ws.findxnet.com/">
      <arg0>
        <credentials>
          <password>...</password>
          <username>...</username>
        </credentials>
        <document>
          <content>j</content>
          <name>1.xml</name>
        </document>
        <documentType>12</documentType>
        <formatType>19</formatType>
      </arg0>
    </ns2:upload>