SAP システムで Web サービスを呼び出そうとしていますが、複雑なパラメーターを渡そうとすると問題が発生します。
Web サービスには 3 つの入力パラメーターがあります。2 文字列と、複数のフィールドを含む SAP 構造を参照する複雑なパラメーター。これら 3 つの入力パラメータは次のように呼ばれます。 -
関数パラメータ Repid
Web サービスを呼び出すと、Funtion と Repid は正常に渡されますが、Parameters という名前の入力パラメーターには何も渡されません。
複雑なパラメータ入力を設定する次のコードがあります: -
final ReportExecutionParametersDefinition exeParams = new ReportExecutionParametersDefinition();
exeParams.setSelname("P_AUART");
exeParams.setKind("P");
exeParams.setSign("I");
exeParams.setOption("EQ");
exeParams.setLow("ZA");
exeParams.setHigh(" ");
final PropertyInfo pinfo = new PropertyInfo();
pinfo.name = "Parameters";
pinfo.setValue(exeParams);
pinfo.type = exeParams.getClass();
次のコードは、Web サービスを呼び出すために使用されます: -
KSOAPFactory soapFact = new KSOAPFactory();
soapFact.initialiseSOAPEnvelope(NAMESPACE, METHOD_NAME, URL);
soapFact.addProperty("Function", "EXE");
soapFact.addProperty(pinfo);
soapFact.addProperty("Repid", reportDef.getReportHeader()
.getReport());
try {
resp = soapFact.invokeSOAP();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
SAP を見ると、for "Parameters" 入力パラメーターに値が渡されていません。
kSOAP を使用して SAP Web サービスを呼び出し、複雑な入力パラメーターを入力した人はいますか。
どんな助けでも大歓迎です。
ありがとう
マーティン