Pessoal, boa tarde!
Estou com um problema para fazer uma chamada de Web Service utilizando a biblioteca Ksoap, o erro
ocorre no momento em que é feito a chamada do metodo de envio do envelope SOAP:
->androidHttpTransport.call(SOAP_ACTION_EFETIVAR_PEDIDO, envelope);
Abaixo o código Java:
public class PedidoWS {
private final static String NAMESPACE = "http://servicos.pedidos.com.br/";
private final static String URL = "http://192.168.0.129:9600/Pedidos/PedidoServices?wsdl";
private final static String METHOD_NAME_EFETIVAR_PEDIDO = "efetivarPedidoAndroid";
private final static String SOAP_ACTION_EFETIVAR_PEDIDO = "\"" + NAMESPACE + METHOD_NAME_EFETIVAR_PEDIDO + "\"";
public String efetivarPedidoAndroid(String pedido) {
SoapObject request = new SoapObject(NAMESPACE,
METHOD_NAME_EFETIVAR_PEDIDO);
PropertyInfo pi = new PropertyInfo();
pi.setName("arg0");
pi.setValue(pedido);
pi.setType(String.class);
request.addProperty(pi);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
androidHttpTransport.call(SOAP_ACTION_EFETIVAR_PEDIDO, envelope);
SoapObject response = (SoapObject) envelope.getResponse();
System.out.println(response.getAttribute(0).toString());
return response.getAttribute(0).toString();
} catch (Exception e) {
e.printStackTrace();
}
return "Falha";
}
}
O meu WSDL:
<wsdl:definitions xmlns:ns1="http://servicos.pedidos.com.br/" xmlns:ns2="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.sys.com.br" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="PedidoEJBService" targetNamespace="http://www.sys.com.br">
<wsdl:import location="http://192.168.0.129:9600/Pedidos/PedidoServices?wsdl=PedidoServices.wsdl" namespace="http://servicos.pedidos.com.br/"></wsdl:import>
<wsdl:binding name="PedidoEJBServiceSoapBinding" type="ns1:PedidoServices">
...
<wsdl:operation name="efetivarPedidoAndroid">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="efetivarPedidoAndroid">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="efetivarPedidoAndroidResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
O meu envelope que eu deveria enviar para a chamada do webservice:
<soapenv:Envelope xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:ser=“http://servicos.pedidos.com.br/”>
soapenv:Header/
soapenv:Body
ser:efetivarPedidoAndroid
?
</ser:efetivarPedidoAndroid>
</soapenv:Body>
</soapenv:Envelope>
Alguem, saberia onde está o problema?
Atenciosamente,
Jimmy