Ciao a tutti
questa mattina ho iniziato a cimentarmi con la chiamata di un web service da B4A.
Questa è la struttura del mio web service:
Come vedete lui vuole 4 parametri e mi deve tornare OK oppure KO in base a quello che gli passo nel parametro xml.
Ora creare la stringa xml non è un problema, ma non riesco a invocare il web service.
Utilizzo la HttpUtils2 e questo è il codice che stò provando a implementare:
Chiamando così il WS mi da questo return:
JobName = Job1, Success = true
<html>
<script>
window.open("../index.htm",'_top')
</script>
</html>
Quindi lui prova ad aprire una pagina.
Perchè ????
Perchè non mi torna il return OK oppure KO???
:BangHead::BangHead::BangHead:
E' corretto chiamare il link al WSDL?????
Grazie a tutti per l'aiuto
questa mattina ho iniziato a cimentarmi con la chiamata di un web service da B4A.
Questa è la struttura del mio web service:
B4X:
<definitions targetNamespace="http://ibbs_f_x0ws_sincro_device.ws.localhost/" name="SitepainterSOAPController"><types><xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://ibbs_f_x0ws_sincro_device.ws.localhost/"><xsd:element name="ibbs_f_x0ws_sincro_device_Run"><xsd:complexType><xsd:sequence><xsd:element name="m_UserName" type="xsd:string" minOccurs="1" maxOccurs="1"/><xsd:element name="m_Password" type="xsd:string" minOccurs="1" maxOccurs="1"/><xsd:element name="m_Company" type="xsd:string" minOccurs="1" maxOccurs="1"/><xsd:element name="p_XML" type="xsd:string" minOccurs="1" maxOccurs="1"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="ibbs_f_x0ws_sincro_device_RunResponse"><xsd:complexType><xsd:sequence><xsd:element name="return" type="xsd:string" minOccurs="0"/></xsd:sequence></xsd:complexType></xsd:element></xsd:schema></types><message name="ibbs_f_x0ws_sincro_device_Run"><part name="parameters" element="tns:ibbs_f_x0ws_sincro_device_Run"/></message><message name="ibbs_f_x0ws_sincro_device_RunResponse"><part name="parameters" element="tns:ibbs_f_x0ws_sincro_device_RunResponse"/></message><portType name="ibbs_f_x0ws_sincro_deviceWS"><operation name="ibbs_f_x0ws_sincro_device_Run"><input name="ibbs_f_x0ws_sincro_device_Run" message="tns:ibbs_f_x0ws_sincro_device_Run"/><output name="ibbs_f_x0ws_sincro_device_RunResponse" message="tns:ibbs_f_x0ws_sincro_device_RunResponse"/></operation></portType><binding name="ibbs_f_x0ws_sincro_deviceWSPortBinding" type="tns:ibbs_f_x0ws_sincro_deviceWS"><soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/><operation name="ibbs_f_x0ws_sincro_device_Run"><soap:operation soapAction=""/><input name="ibbs_f_x0ws_sincro_device_Run"><soap:body use="literal"/></input><output name="ibbs_f_x0ws_sincro_device_RunResponse"><soap:body use="literal"/></output></operation></binding><service name="ibbs_f_x0ws_sincro_deviceWSService"><port name="ibbs_f_x0ws_sincro_deviceWSPort" binding="tns:ibbs_f_x0ws_sincro_deviceWSPortBinding"><soap:address location="http://192.168.9.171:8080/INDIAF23/servlet/ibbs_f_x0ws_sincro_device"/></port></service></definitions>
Come vedete lui vuole 4 parametri e mi deve tornare OK oppure KO in base a quello che gli passo nel parametro xml.
Ora creare la stringa xml non è un problema, ma non riesco a invocare il web service.
Utilizzo la HttpUtils2 e questo è il codice che stò provando a implementare:
B4X:
Sub WS_invoke_syncro_device(user As String, pass As String, azienda As String, xml As String)
Dim job1, job2, job3 As HttpJob
job1.Initialize("Job1", Me)
'Send a GET request
job1.Download2("http://192.168.9.171:8080/INDIAF23/servlet/ibbs_f_x0ws_sincro_device?wsdl", _
Array As String("m_UserName", user, "m_Password", pass, "m_Company", azienda, "p_XML", xml))
'Send a POST request
' job2.Initialize("Job2", Me)
' job2.PostString("http://mioserver/servlet/ibbs_f_x0ws_sincro_device?wsdl", _
' "m_UserName=" & user & "m_Password="& pass & "m_Company="& azienda & "p_XML="& xml)
'
End Sub
Sub JobDone (Job As HttpJob)
Log("JobName = " & Job.JobName & ", Success = " & Job.Success)
If Job.Success = True Then
Select Job.JobName
Case "Job1", "Job2"
'print the result to the logs
Log(Job.GetString2("UTF8"))
Log(Job.Username)
Log(Job.Password)
Log(Job.)
End Select
Else
Log("Error: " & Job.ErrorMessage)
ToastMessageShow("Error: " & Job.ErrorMessage, True)
End If
Job.Release
End Sub
Chiamando così il WS mi da questo return:
JobName = Job1, Success = true
<html>
<script>
window.open("../index.htm",'_top')
</script>
</html>
Quindi lui prova ad aprire una pagina.
Perchè ????
Perchè non mi torna il return OK oppure KO???
:BangHead::BangHead::BangHead:
E' corretto chiamare il link al WSDL?????
Grazie a tutti per l'aiuto