この質問は、JSP/サーブレット ベースの Web アプリケーションと ASP.NET MVC ベースの Web アプリケーションにわたるクロス サイト送信に関するものです。以下のように、ASP.NET Web プロジェクトから別の ASP.NET MVC プロジェクトに NameValueCollection オブジェクトを送信できます。
using (var client = new WebClient())
{
client.Credentials = CredentialCache.DefaultNetworkCredentials;
string transId = Guid.NewGuid().ToString(); //In Java we may use UUID class
var data = new NameValueCollection
{
{ "TransId", transId },
{ "Name", "Regi" },
{ "DOB", "10/17/2013" },
{ "ZIPCode", "673010" },
};
var result = client.UploadValues("http://localhost:50976/api/Trans/Trans", data);
string s = Encoding.ASCII.GetString(result); //May be Base64.encodeToString(fileData, Base64.CRLF) in Java?
if (s == "1")
{
Response.Redirect("http://localhost:50976/Product/ProductList?TransId=" + transId + "");
}
}
ASP.NET MVC プロジェクトには、以下のようにこの送信をキャッチする WebAPI があります。
public int Trans(TransViewModel transViewModel)
{
return 1;
}
以下のような私のViewModel定義
public class TransViewModel
{
public string TransId { get; set; }
public string Name { get; set; }
public DateTime DOB { get; set; }
}
したがって、ASP.NET MVC アプリケーションが呼び出している最初の WebProject を、Java ベースの Web アプリケーションに置き換える必要があります。WebClient の代わりに別の Java クラスを使用して同じ送信を行い、NameValueCollection タイプを同じ ASP.NET MVC アプリケーションに送信するにはどうすればよいですか? この送信は、ViewModel を介して上記のように ASP.NET MVC アプリケーションによって受け入れられる必要があります。