2012-01-15 3 views
0
private static final String NAMESPACE = "http://tempuri.org/" ; 
    private static final String URL = "http://mydomain.com/test.asmx"; 
    private static final String PingSA = "http://tempuri.org/Ping"; 
    private static final String PingMN = "Ping"; 

SoapObject request = new SoapObject(NAMESPACE, PingMN); 
     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
     envelope.dotNet = true;  
envelope.setOutputSoapObject(request); 
     HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);  
try 
     { 
      androidHttpTransport.call(PingSA, envelope); 
      Object x = envelope.getResponse();       
     } 
     catch(Exception e) 
     {     
     } 

오류를 .NET으로 : SOAPFault에 - faultCode를을 '비누 : 서버'faultString으로 'System.Web.Services.Protocols.SoapException을 : 서버가 요청을 처리 할 수 ​​없습니다. ---> System.InvalidOperationException : 입력 메시지가 Simple SOAP Binding Profile 버전 1.0을 준수하지 않습니다. 요구 사항 R1012 : 메시지는 UTF-8 또는 UTF-16 문자 인코딩을 사용하여 봉투를 직렬화해야합니다. 연결 안드로이드 응용 프로그램은이 .asmx

나는 시도 (작동하지 않았다) :

androidHttpTransport.setXmlVersionTag("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); 

답변

0

업데이트 ksoap2 2.1.2에서 2.6.0에 문제를 해결했다.

관련 문제