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>

これが渡される Web サービスは、要素「item」の値が

私は、envelope.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を削除すると、修正されました。

また、SAPABAPスタックでWebサービスを呼び出していたときも言及しておく必要があります。

于 2012-11-23T19:23:38.370 に答える