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