Erro WebService - Android

26/03/2013

2

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";

	}
	
	
}


Erro:
org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG <{http://schemas.xmlsoap.org/wsdl/}wsdl:definitions name='PedidoEJBService' targetNamespace='http://www.sys.com.br'>@1:390 in java.io.InputStreamReader@40dbe078)

at org.kxml2.io.KXmlParser.require(KXmlParser.java:2046)
at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:128)
at org.ksoap2.transport.Transport.parseResponse(Transport.java:116)
....



O meu WebService:

<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>
<!--Optional:-->
<arg0>?</arg0>
</ser:efetivarPedidoAndroid>
</soapenv:Body>
</soapenv:Envelope>

Alguem, saberia onde está o problema?
Atenciosamente,

Jimmy
Responder