Cara eu fiquei dias procurando a Solução para Conectar com WebService (C#) usando o Java
O grande macete é usar a Thread.
Segue .java de teste que criei para demostrar
O meu funcionou certinho.
Lembrando que estou usando a Ksoap 2.6 -> Propredades do Projeto, bluid path -> Adc jar -> seleciona-la
package com.appsiscomobrasonline;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.ksoap2.serialization.SoapPrimitive;
public class Testes {
public Thread threadObrasEmpresasComTipos = new Thread(){
<a class="mention" href="/u/override">@Override</a>
public void run() {
try {
// Padrao não muda nunca
String NAMESPACE = “<a href="http://tempuri.org/">http://tempuri.org/</a>”;
// Arquivo XMl do seu WebService, Chando abrir seu WebService no Browser vai aparecer um link no browser
// --> vide link The following operations are supported. For a formal definition, please review the Service Description.
// Clicke no Link e pegue o caminho do arquivo xml que abrir esse é a URL
String URL = “<a href="http://201.76.37.77/wsSincronizacaoAndroid/SincronizacaoAndroid.asmx?WSDL">http://201.76.37.77/wsSincronizacaoAndroid/SincronizacaoAndroid.asmx?WSDL</a>”;
// sempre é o NAMESPACE + Nome do Método do WebService que você quer chamar
String SOAP_ACTION = “<a href="http://tempuri.org/EnviarTabela">http://tempuri.org/EnviarTabela</a>”;
// Metodo do WebService que voce quer chamar
String METHOD_NAME = “EnviarTabela”;
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
// Parametros do Metodo, lembre-se que o C# só encherga as String do Java e Vice-Versa, logo parametros em String
request.addProperty(“codUsuarioParam”, VariavelParam1);
request.addProperty(“codEstadoParam”, VariavelParam1);
HttpTransportSE ht = new HttpTransportSE(URL);
ht.call(SOAP_ACTION, envelope);
final SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
final String retornoWs = response.toString();
// Resposta do Metodo do Web Service agora esta armazenada na variavel ‘retornoWs’
}
catch (Exception e) {
// Implementar Erro
}
}
};
private boolean ImportarDadosParaServidor()
{
try
{
threadObrasEmpresasComTipos.start();
}
catch(Exception ex)
{
threadObrasEmpresasComTipos.stop();
return false;
}
// Aguarda a resposta do WebService
while(threadObrasEmpresasComTipos.isAlive())
{
Aguardar(1000);
}
return true;
}
private void Aguardar(int ms)
{
try { Thread.sleep(ms); }
catch(Exception ex){ return; }
}
}