提问人:Jakub Sroka 提问时间:3/7/2023 更新时间:3/7/2023 访问量:34
具有自定义属性类型的 Ksoap2 请求
Ksoap2 request with custom attribute type
问:
我花了一整天的时间在互联网上搜索,以了解如何将自定义类型添加到属性中,我希望这里有人可以帮助我。
我只需要将属性内容的类型设置为 Base64BinaryData
我想发送什么
...
<attachment i:type=":attachment">
<fileName>photo.jpg</fileName>
<dataPresent i:type="d:boolean">true</dataPresent>
<content i:type="n0:Base64BinaryData">
<data>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNvbjpzb2FwdWktc2V0dGlu
Z3MgeG1sbnM6Y29uPSJodHRwOi8vZXZpd2FyZS5jb20vc29hcHVpL2NvbmZpZyI+PGNvbjpzZXR0
...
ZS1zb2FwdWktcHJvamVjdC54bWwiIHZhbHVlPSJLc2F2aVdGTVNlcnZpY2UiIHhtbG5zPSJodHRw
Oi8vZXZpd2FyZS5jb20vc29hcHVpL2NvbmZpZyIvPjwvY29uOnNldHRpbmc+PC9jb246c29hcHVp
LXNldHRpbmdzPg==</data>
</content>
</attachment>
...
我的代码生成以下 XML
<attachment i:type=":attachment">
<fileName i:type="d:string">photo.jpg</fileName>
<dataPresent i:type="d:boolean">true</dataPresent>
<content i:type=":content">
<data i:type="d:string">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNvbjpzb2FwdWktc2V0dGlu
Z3MgeG1sbnM6Y29uPSJodHRwOi8vZXZpd2FyZS5jb20vc29hcHVpL2NvbmZpZyI+PGNvbjpzZXR0
...
ZS1zb2FwdWktcHJvamVjdC54bWwiIHZhbHVlPSJLc2F2aVdGTVNlcnZpY2UiIHhtbG5zPSJodHRw
Oi8vZXZpd2FyZS5jb20vc29hcHVpL2NvbmZpZyIvPjwvY29uOnNldHRpbmc+PC9jb246c29hcHVp
LXNldHRpbmdzPg==</data>
</content>
</attachment>
我的代码
SoapObject xAttachment = new SoapObject(namespace, name);
parentSoap.addSoapObject(xAttachment);
writeWsString(xAttachment, "fileName", attachment.getFileName());
writeValue(xAttachment, "dataPresent", attachment.getDataPresent());
SoapObject contentForData = new SoapObject("", "content");
xAttachment.addSoapObject(contentForData);
writeWsBase64ByteArray(contentForData, "data", attachment.getDataBase64());
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request); // prepare request
MarshalDouble md = new MarshalDouble();
md.register(envelope);
allowAllSSL();
chooseProtocol();
try {
httpTransport.call(getSoapActionPrefix() + method, envelope);
T result = responseBuilder.build(envelope);
return result;
} catch (Exception e) {
}
如果您有任何想法,我将不胜感激
答: 暂无答案
评论