PlayにURLがあります!URLで渡される拡張子に応じてHTMLまたはXLSXのいずれかにルーティングするアプリで、次のようなルート行があります:-
# Calls
GET /calls.{format} Call.index
したがって、calls.htmlはページをレンダリングし、calls.xlsxはExcelファイルをダウンロードします(Play Excelモジュールを使用)。ブラウザ、cURLリクエストなどからすべて正常に動作します。
メールを作成してExcelを添付できるようにしたいのですが、添付ファイルをプルできません。これが私が最初に試したものの基本バージョンです:-
public static void sendReport(List<Object[]> invoicelines, String emailaddress) throws MalformedURLException, URISyntaxException
{
setFrom("Telco Analysis <test@test.com>");
addRecipient(emailaddress);
setSubject("Telco Analysis report");
EmailAttachment emailAttachment = new EmailAttachment();
URL url = new URL("http://localhost:9001/calls.xlsx");
emailAttachment.setURL(url);
emailAttachment.setName(url.getFile());
emailAttachment.setDescription("Test file");
addAttachment(emailAttachment);
send(invoicelines);
}
ただし、URLコンテンツをプルするのではなく、エラーメッセージなしでそのまま表示され、Chromeのページスピナーが実行されてWebサーバーが拘束されます(別のブラウザー/マシンからのリクエストが処理されていないように見えるまで) 。添付ファイルなしでメールを送信すると、すべて問題ないので、問題のように見えるのはファイルのプルだけです。
これまで、上記の方法、PlayのWS Webサービスライブラリ、手動で作成したHttpRequestsなどを試しました。別のURL(http://www.google.comなど)を指定すると機能します。大丈夫です。
誰か助けてくれますか?