2012-06-24 3 views
1

ksoap2-android lib에서 SoapSerializationEnvelope를 사용하여 만든 봉투 문제가 있습니다. 내가해야 할 일은ksoap2-android envelop의 사용자 정의

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 

     PropertyInfo id = new PropertyInfo(); 
     id.setName("id"); 
     id.setValue(5); 
     id.setType(int.class); 
     request.addProperty(id); 

     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
     envelope.setOutputSoapObject(request);  

     HttpTransportSE httpTransport = new HttpTransportSE(URL); 
     httpTransport.debug = true; 

     try { 
      httpTransport.call(request.getNamespace() + "/" + request.getName(), envelope); 
     } catch (Exception e) 
     { 
      System.out.println(httpTransport.requestDump); 
      System.out.println(httpTransport.responseDump); 
      System.out.println(e.getMessage()); 
     } 

:

<v:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:d="http://www.w3.org/2001/XMLSchema" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/"> 
<v:Header /> 
<v:Body> 
    <n0:getCompanyById id="o0" c:root="1" xmlns:n0="http://agh.edu.pl/soa"> 
     <id i:type="d:int">5</id> 
    </n0:getCompanyById> 
</v:Body> 
</v:Envelope> 

내 자바 코드 :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soa="http://agh.edu.pl/soa"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <soa:getCompanyById> 
     <id>1</id> 
     </soa:getCompanyById> 
    </soapenv:Body> 
</soapenv:Envelope> 

은 내가 실제로 얻을 것은 즉 : 내가 (무엇을 기대하고 서버) 얻을 필요하기 때문이다 모든 v를 뭔가를 soapenv로 바꾸고 있습니다 : something과 n0 : getCompanyById soa : getCompanyById. 어떤 생각? 미리 감사드립니다. Cya

답변

1

이 봉투는 대부분 동일합니다. 서로 다른 접두사를 사용합니다. 제가 제안하는 것은 SoapUI와 같은 것을 사용하는 것입니다 : 단계별로, 코드에서 얻은 것까지 작업 범위를 변경하십시오. 상황이 악화되는 순간 문제의 원인을 알 수 있습니다.

i : type = "d : int" 또한 문제가 발생할 수 있습니다.

+3

당신이 말했듯이 문제는 i : type = "d : int"입니다. 솔루션은 값을 long으로 변환하는 것입니다 : "id.setValue ((long) value)". 비누는 매우 지체가 있습니다. 나는 그것을 만든 사람들이 지옥에서 타 오르기를 바랍니다. Thx, 너는 내 신이다. – pawelo

관련 문제