Java ksoap2android信封的定制
我对使用ksoap2 android库中的SoapSerializationEnvelope创建的信封有一个问题。我需要得到(服务器期望的)是:Java ksoap2android信封的定制,java,android,soap,android-ksoap2,envelope,Java,Android,Soap,Android Ksoap2,Envelope,我对使用ksoap2 android库中的SoapSerializationEnvelope创建的信封有一个问题。我需要得到(服务器期望的)是: 我需要做的是将每个v:something更改为soapenv:something,将n0:getcompanybyd更改为soa:getcompanybyd。有什么想法吗?提前谢谢。Cya这些信封基本上是一样的——它们只是使用不同的前缀。我建议使用类似SoapUI的东西:一步一步地,将工作信封更改为您从代码中获得的内容。一旦情况恶化,你就会知道是什么导
我需要做的是将每个v:something更改为soapenv:something,将n0:getcompanybyd更改为soa:getcompanybyd。有什么想法吗?提前谢谢。Cya这些信封基本上是一样的——它们只是使用不同的前缀。我建议使用类似SoapUI的东西:一步一步地,将工作信封更改为您从代码中获得的内容。一旦情况恶化,你就会知道是什么导致了问题 根据我的经验 i:type=“d:int”
也可能会导致问题。这些信封基本相同,只是使用了不同的前缀。我建议使用类似SoapUI的东西:一步一步地,将工作信封更改为您从代码中获得的内容。一旦情况恶化,你就会知道是什么导致了问题 根据我的经验 i:type=“d:int”
也可能导致问题。正如您所说,问题是i:type=“d:int”。解决方案是将值转换为long:“id.setValue((long)value)”。肥皂太迟钝了。我希望创造它的人会在地狱里燃烧。Thx,你是我的上帝正如你所说,问题是我:type=“d:int”。解决方案是将值转换为long:“id.setValue((long)value)”。肥皂太迟钝了。我希望创造它的人会在地狱里燃烧。Thx,你是我的上帝
<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: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>
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());
}