2

ここで事実上助けを求めて申し訳ありませんが、私は上記の作業を任されており、私を助けるのに十分なリソースが見つかりません. 詳細は次のとおりです。

  1. 会社には、ユーザー エンティティへの変更の SPML (SOAP) 'フィード' を提供する ID 管理ソフトウェアがあります。

  2. (これが正しい場合)SPMLドライバーはサーバー上のURLにPOSTリクエストを作成し、それらの変更を送信します

  3. その URL の下にあるものはすべて、投稿された情報 (XML) を処理する必要があります。

ポイント3は私のビットです。何を書けばいいのかわからない。アスム?Aspx? アッシュ?コモドール64のカセットテープ?どうやら SPML ドライバーには 200 応答が必要なようです。私が得ていないことは他にありますか?

あきらめて新しい趣味を手に入れるための助け、指針、ガイダンス、またはアドバイスをいただければ幸いです。

ありがとう。

編集..............

xml を aspx ページに投稿する (テスト目的で) シンプルな SOAP ドライバーを用意しました。J Benjamin (以下) とhttp://www.eggheadcafe.com/articles/20011103.aspのキックスタートに感謝します。

SOAP DRIVER (ページ読み込み時に動作)

protected void Page_Load(object sender, EventArgs e)
{    
    XmlDocument doc = new XmlDocument();
    doc.Load(MySite.FileRoot + "testing\\testxml.xml");
    HttpWebRequest req = 
    (HttpWebRequest)WebRequest.Create("http://localhost/mysite/testing/reader.aspx");
    req.ContentType = "text/xml; charset=\"utf-8\"";
    req.Method = "POST";
    req.Headers.Add("SOAPAction", "\"\"");
    Stream stm = req.GetRequestStream();
    doc.Save(stm);
    stm.Close();
    WebResponse resp = req.GetResponse();
    stm = resp.GetResponseStream();
    StreamReader r = new StreamReader(stm);
    Response.Write(r.ReadToEnd());
}

SOAP READER (呼び出されたときに投稿された xml を読み取ります)

protected void Page_Load(object sender, EventArgs e)
{
    String Folderpath = "c:\\TestSOAP\\";
    if (!Directory.Exists(Folderpath))
    {
        Directory.CreateDirectory(Folderpath);
    }
    Response.ContentType = "text/xml";
    StreamReader reader = new StreamReader(Request.InputStream);
    String xmlData = reader.ReadToEnd();
    String FilePath = Folderpath + DateTime.Now.ToFileTimeUtc() + ".xml";
    File.WriteAllText(FilePath, xmlData);

}

次のステップは、SPML サービス (Java 駆動の Novell タイプのもの) を使用することです。問題があれば、ここに投稿します!!

皆さんありがとう.. :)

4

1 に答える 1

1

誤解しているかもしれませんが、これは Web サービスで URL を処理する方法に似ています。URL に基づいてロジックを処理し、ロジックを実行して XML にラップし、XML オブジェクトで応答します。簡単な例を次に示します (簡単とは、認証を必要としない数少ない例の 1 つを意味します)。

以下のコードは、AppSetting を含む XML オブジェクトを返すだけです。XML 応答も以下に示します (一部の識別値は削除されています)。

        [OperationContract]
    [WebInvoke(Method = "POST", UriTemplate = "External/Application/{ApplicationGUID}/APIHost/")]
    public Response GetAPIHostName(Request request, string ApplicationGUID)
    {
        Response response = new Response();
        try
        {
            APIHost apiHost = new APIHost
                                          {
                                              APIHostname = System.Configuration.ConfigurationManager.AppSettings["PlayerAPIHostname"]
                                          };
            response.ResponseBody.APIHost = apiHost;
            response.ResponseHeader.UMResponseCode = (int) UMResponseCodes.OK;
        }
        catch (GUIDNotFoundException guidEx)
        {
            response.ResponseHeader.UMResponseCode = (int)UMResponseCodes.NotFound;
            response.ResponseHeader.UMResponseCodeDetail = guidEx.Message;
        }
        catch (Exception ex)
        {
            UMMessageManager.SetExceptionDetails(request, response, ex);
            if (request != null)
                Logger.Log(HttpContext.Current, request.ToString(), ex);
            else
                Logger.Log(HttpContext.Current, "No Request!", ex);
        }
        response.ResponseHeader.HTTPResponseCode = HttpContext.Current.Response.StatusCode;
        return response;
    }

/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 200 200 localhost

于 2010-11-03T17:03:01.260 に答える