1

私はワークライトを初めて使用し、Webサービスにxmlを投稿して結果を取得できるようにするためにhttpアダプターを使用していますが、エラーが発生していることを行うことができません。私のコードはadapter.jsにあります

function getStories(interest) {
    path = getPath(interest);

    var input = {
        method : 'post',
        returnedContentType : 'xml',
        path : path
        parameters : '<HOME><REQUEST><USERID>701692</USERID><SECURE_KEY>B6F86B1B11E9EAFC</SECURE_KEY><EMPLOYEE_ID>000000000000035B</REQUEST></HOME>'
    };


    return WL.Server.invokeHttp(input);
}

このような出力を提供しています

{ "errors": [ "ファイルの終わりが早すぎます。", "バックエンドからのペイロードの解析に失敗しました (手順: HttpRequest)" ], "info": [ ], "isSuccessful": false,
"responseHeaders": { "キャッシュ-Control": "private", "Content-Length": "0", "Date": "Mon, 15 Oct 2012 10:29:01 GMT", "Server": "Microsoft-IIS/6.0", "X -AspNet-Version": "2.0.50727", "X-Powered-By": "ASP.NET" }, "statusCode": 200, "statusReason": "OK", "warnings": [ ] }

このコード (以下に示す) を worklight に実装したいのですが、どうすればそれを行うことができますか?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<form name="f1" id="fi" action="http://mydoman.aspx" method="post">
<input TYPE="hidden" name="xml" value="<HOME><REQUEST><USERID>701692</USERID><SECURE_KEY>B6F86B1B11E9EAFC17F5844EE9B16669</SECURE_KEY></REQUEST></HOME>"/>

<input type="submit" value="submit"/>


</form>
</BODY>
</HTML>
4

3 に答える 3

1

ステップがありません。バックエンドにXMLを送信しようとしています。モジュール5.3-SOAPサービスでのHTTPアダプターの使用(https://www.ibm.com/developerworks/mobile/worklight/getting-started/index.html )をお読みください。

あなたの質問に対する答えは次のとおりです。

var request = <HOME><REQUEST><USERID>701692</USERID><SECURE_KEY>B6F86B1B11E9EAFC</SECURE_KEY><EMPLOYEE_ID>000000000000035B</EMPLOYEE_ID></REQUEST></HOME>;

function getStories(interest) {
    var input = {
        method : 'post',
        returnedContentType : 'xml',
        path : '',
        body : {
            content: request.toString(),
            contentType: 'text/xml; charset=utf-8'
        }
    };
    return WL.Server.invokeHttp(input);
}
于 2012-10-16T07:39:17.367 に答える
0

returnedContentType : 'xml' は、Worklight がバックエンドから取得した応答を解析しようとすることを意味します。エラー メッセージを見ると、"Content-Length": "0" が表示されます。これは、応答本文が空であるため、XML に解析できないことを意味します。returnedContentType を「プレーン」に変更してみてください。

于 2012-10-15T12:06:09.317 に答える