1

我正在使用 KSOAP,它创建了以下请求有效负载:-

<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:ZmobileExecuteReport id="o0" c:root="1" xmlns:n0="urn:sap-com:document:sap:soap:functions:mc-style">
         <Function>EXE</Function>
         <Parameters i:type="n0:Parameters">
            <n0:item>
               <Selname>P_AUART</Selname>
               <Kind>P</Kind>
               <Sign>I</Sign>
               <Option>EQ</Option>
               <Low>Z1</Low>
               <High>Z2</High>
            </n0:item>
         </Parameters>
         <Repid>ZSIMPLE_REPORT0</Repid>
      </n0:ZmobileExecuteReport>
   </v:Body>
</v:Envelope>

仅当元素“item”的值为而不是

我使用了语句信封.implicitTypes = true; 它抑制了正在定义的“类型”属性,但我仍然遇到这个问题。

有没有人以前遇到过这个问题并且能够解决它。

我正在使用 KSOAP2 2.5.8 版本。

这就是我构建请求的方式: -

SoapObject parameters = new SoapObject(NAMESPACE, "Parameters");
SoapObject item = new SoapObject("NAMESPAC", "item");

item.addProperty("Selname", "P_AUART");
item.addProperty("Kind", "P");
item.addProperty("Sign", "I");
item.addProperty("Option", "EQ");
item.addProperty("Low", "A1");
item.addProperty("High", "A2");

parameters.addSoapObject(item);

谢谢

马丁

4

1 回答 1

4

我通过这样做修复了它: -

SoapObject parameters = new SoapObject(NAMESPACE, "Parameters");
SoapObject item = new SoapObject("", "item");

从子节点中删除 NAMESPACE 修复了它。

我还应该提到它是当我在 SAP ABAP 堆栈上调用 web 服务时。

于 2012-11-23T19:23:38.370 回答