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

Announcements
Write Table now available in Qlik Cloud Analytics: Read Blog
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

tWebServiceInput: return errors

Hi,
I´m using tWebServiceInput but when i run the job i got the message:
"02/07/2007 14:43:27 org.apache.axis.client.Call invoke
SEVERE: Exception:
org.xml.sax.SAXException: Found character data inside an array element while deserializing"
Somebody could help me ?

tks, Regards
Zida
Labels (3)
11 Replies
Anonymous
Not applicable
Author

Hello
Your description is not really detailed.
Did you choose the good return type for your Web Service ?
Hope it helps
Michaël.
Anonymous
Not applicable
Author

Hi,
My webservice just return an "OK" or an error message. But the type is always String.
Anonymous
Not applicable
Author

I changed the return type of my webservice to Object[], and deleted the webservice's parameters.
When i run the job i got the message: "Exception in component tWebServiceInput_1
java.lang.ArrayIndexOutOfBoundsException: 0".
The line number in the message error points to this line in the source:
"results_tWebServiceInput_1 = String.valueOf(tempArray_tWebServiceInput_1);"
The webserviceinput work just with Object[] parameters and returns ?
Zida
Anonymous
Not applicable
Author

Hi,
Can you share your webservice wsdl ?
Anonymous
Not applicable
Author

Hi
I could get the return value of webservice, but i have to change the type of the return.
In my webservice i set the return with the type Object and create the return like this:
Object var = new String();
var = "OK: " ;
return var;
Now i have one more trouble. I created one parameter named cdEmpresa, type: Long, value: 101.
My webservice are like this:
@WebMethod
public Object EnviaDadosServidor(@WebParam(name = "cdEmpresa") long cdEmpresa) {......
And i´m setting the return with this parameter:
return var + " " + cdEmpresa; and the value is always 0.
How i need to set my parameters ?! If i set just one parameter with Object[], it´s doesn´t work either.
Zida
Anonymous
Not applicable
Author

mhirt, sorry about the other thread i´m very shamed...
So,
My webservice was writted in Java (netbeans).
The name of parameters are the same in talend parameter and in my webservice.
The application server is JBoss.
My WSDL is this:
<?xml version="1.0" encoding="UTF-8" ?>
- <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://maxiconsistemas.com.br/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://maxiconsistemas.com.br/" name="TransmiteDadosEmbarcadorService">
- <types>
- <xsd:schema>
<xsd:import schemaLocation="http://192.168.180.154:8080/TransmiteDadosEmbarcador/TransmiteDadosEmbarcador?xsd=1" namespace="http://maxiconsistemas.com.br/" />
</xsd:schema>
</types>
- <message name="EnviaDadosServidor">
<part element="tns:EnviaDadosServidor" name="parameters" />
</message>
- <message name="EnviaDadosServidorResponse">
<part element="tns:EnviaDadosServidorResponse" name="parameters" />
</message>
- <message name="RecebeDadosServidor">
<part element="tns:RecebeDadosServidor" name="parameters" />
</message>
- <message name="RecebeDadosServidorResponse">
<part element="tns:RecebeDadosServidorResponse" name="parameters" />
</message>
- <portType name="TransmiteDadosEmbarcador">
- <operation name="EnviaDadosServidor">
<input message="tns:EnviaDadosServidor" />
<output message="tns:EnviaDadosServidorResponse" />
</operation>
- <operation name="RecebeDadosServidor">
<input message="tns:RecebeDadosServidor" />
<output message="tns:RecebeDadosServidorResponse" />
</operation>
</portType>
- <binding name="TransmiteDadosEmbarcadorPortBinding" type="tns:TransmiteDadosEmbarcador">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="EnviaDadosServidor">
<soap 0683p000009MA5A.pngperation soapAction="" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="RecebeDadosServidor">
<soap 0683p000009MA5A.pngperation soapAction="" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
</binding>
- <service name="TransmiteDadosEmbarcadorService">
- <port name="TransmiteDadosEmbarcadorPort" binding="tns:TransmiteDadosEmbarcadorPortBinding">
<soap:address location="http://192.168.180.154:8080/TransmiteDadosEmbarcador/TransmiteDadosEmbarcador" />
</port>
</service>
</definitions>
Anonymous
Not applicable
Author

Complementing ...
On talend, field "EndPoint URI", i´m setting: " http://maxiconsistemas.com.br/"
field "WSDL" , i´m setting: " http://192.168.180.154:8080/TransmiteDadosEmbarcador/TransmiteDadosEmbarcador?wsdl"
SOAPAction URI: ""
i´m not filling the check "Need authentication"
Method Name: "EnviaDadosServidor", return class: "java.lang.String.class"
tks
rZida
Anonymous
Not applicable
Author

Great , with all the details, I finally reproduce and identify the bug with the tWebServiceInput.
I'm going to declare it, and give you news before 2.1.0 final.
Thanks for your support.
Anonymous
Not applicable
Author

Tks mhirt
I´ll wait for 2.1.0 final 0683p000009MAB6.png