C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[16]: 異なるシステム間のWebサービスの呼び出し [1]


(過去ログ 157 を表示中)

[トピック内 32 記事 (21 - 32 表示)]  << 0 | 1 >>

■90965 / inTopicNo.21)  Re[7]: 異なるシステム間のWebサービスの呼び出し
  
□投稿者/ せば (16回)-(2019/05/15(Wed) 11:16:08)
> わけ分からなくなった。
> 何らかの事情でMP4ファイルを公開サーバに置くとして、
> 「画像を見ます」のページを公開サーバに置く理由はなんでしょうか?

画像を見ますは社内サーバーなのでは?
とりあえず、ネットワーク構成が良くわからないので、どう答えるべきか迷う所ですが。。

とりま、JSONPはブラウザからのアクセスになるので、社内サーバーは公開されないようでしょうし、実現は不可能なのではと思います。
ブラウザ(サーバーB)→アップロード→サーバーA

No.90936
No.90943

に書いてあるように
ブラウザ(サーバーB)→アップロード→サーバーB→サーバーA
とするのが一番楽かと、、

ただ、前スレッドでは、サーバーAとサーバーBが同一セグメントに居ないと書いてあったのが不安を煽ります。
社内にインフラ屋さんが居るなら一度相談してみては?

passopさんへ
クロスドメインを考える際にはブラウザがどのサーバーからのレスポンスを表示して、どこに対してリクエストするのかを意識しないと
混乱すると思いますよ。

引用返信 編集キー/
■90967 / inTopicNo.22)  Re[7]: 異なるシステム間のWebサービスの呼び出し
□投稿者/ passop (13回)-(2019/05/15(Wed) 11:35:41)
No90963 (PANG2 さん) に返信

>何らかの事情でMP4ファイルを公開サーバに置くとして、
>「画像を見ます」のページを公開サーバに置く理由はなんでしょうか?

今回のトピックと前回のトピックでシステムAとシステムBが入れ替わっていて、
混乱させてしまい、申し訳ありません。

「画像を見ます」のページは公開サーバでなく、社内サーバーのシステムです。

・システムAは社内サーバーでWebカメラでとった静止画を確認するシステム
・システムBは公開サーバーでWebRTCを利用したWebカメラのシステム

サンプルはMP4ファイルになっていましたが、
ソースが複雑になるため、簡略化するために
MP4を使用してJavaScriptサンプルを作成しました。

実際はMPファイルはサーバーには置かずに静止画のみ置くことを
想定しています。

反対にシステムBを公開サーバーに置く理由は
WebRTCがSSL(httpsのアドレス)しか対応していないためです。

「画像を見ます」のページを社内サーバに置く理由は
システムBで商品画像の静止画をとって、
システムAで商品名を指定して静止画を表示して、
社内の人が商品が間違いないか確認するためです。
(間違い防止)
引用返信 編集キー/
■90968 / inTopicNo.23)  Re[8]: 異なるシステム間のWebサービスの呼び出し
□投稿者/ passop (14回)-(2019/05/15(Wed) 11:41:36)
No90965 (せば さん) に返信
>>わけ分からなくなった。
>>何らかの事情でMP4ファイルを公開サーバに置くとして、
>>「画像を見ます」のページを公開サーバに置く理由はなんでしょうか?
>
> 画像を見ますは社内サーバーなのでは?
> とりあえず、ネットワーク構成が良くわからないので、どう答えるべきか迷う所ですが。。
>
> とりま、JSONPはブラウザからのアクセスになるので、社内サーバーは公開されないようでしょうし、実現は不可能なのではと思います。
> ブラウザ(サーバーB)→アップロード→サーバーA
>
> No.90936
> No.90943
>
> に書いてあるように
> ブラウザ(サーバーB)→アップロード→サーバーB→サーバーA
> とするのが一番楽かと、、
>
> ただ、前スレッドでは、サーバーAとサーバーBが同一セグメントに居ないと書いてあったのが不安を煽ります。
> 社内にインフラ屋さんが居るなら一度相談してみては?
>
> passopさんへ
> クロスドメインを考える際にはブラウザがどのサーバーからのレスポンスを表示して、どこに対してリクエストするのかを意識しないと
> 混乱すると思いますよ。
>

このトピックスを混乱させている原因になっているようで
反省しております。

引用返信 編集キー/
■90982 / inTopicNo.24)  Re[8]: 異なるシステム間のWebサービスの呼び出し
□投稿者/ キングダム (27回)-(2019/05/15(Wed) 20:54:23)
No90967 (passop さん) に返信

なるほど社内サーバで画像を見る
公開サーバで画像を作る

社内サーバから公開サーバにリクエストを送るのはOK
社内サーバ -> 公開サーバ

公開サーバから社内サーバにリクエストを送るのはNG
公開サーバ -> 社内サーバ

ということで
社内サーバから公開サーバにJSONPでリクエスト投げようと
してるってわけですね、良さそうな気がしますけどね

JSONで画像をやりとするのはどうするんですかね
Base64でエンコードしちゃえばテキストになるんで
そのへんはできそうな気がしますね

やってみたらいんじゃないですかね
社内サーバで画像を見るごとに公開サーバにリクエスト投げるのは
時間がかかるから嫌なのよということであればバッチを作って
まとめて取得しておく的なこともできそうですね

いろいろ言って話を爆発させたらいけないので
JSONPでやってみるということで良いと思いますよ
できなかったらまた考えれば良いですしあたって砕けろです
引用返信 編集キー/
■90996 / inTopicNo.25)  Re[9]: 異なるシステム間のWebサービスの呼び出し
□投稿者/ PANG2 (286回)-(2019/05/16(Thu) 14:37:22)
2019/05/16(Thu) 14:38:23 編集(投稿者)

アップロードボタンを押したとき別窓を開くのはどうですか?


隠しフィールドに必要な値を代入して、隠しformをsubmitする。
<form method="post" action="社内サーバー/画像を登録します頁" target="_blank"> //別窓にクロスドメインポスト
<input type="hidden" name="title">
<input type="hidden" name="base64string">
</form>

画像を登録します頁では、
タイトルとBASE64文字列を受け取り、

画像を登録しました。
閉じるボタン

を応答。
引用返信 編集キー/
■90997 / inTopicNo.26)  Re[10]: 異なるシステム間のWebサービスの呼び出し
□投稿者/ passop (15回)-(2019/05/16(Thu) 14:56:05)
No90996 (PANG2 さん) に返信

> 2019/05/16(Thu) 14:38:23 編集(投稿者)
>
> アップロードボタンを押したとき別窓を開くのはどうですか?
>

以下のような前提でよろしいのでしょうか?

(前提)
・システムAで画像を見ます。
・システムBで画像を作ります。
・システムAとシステムBで画像を連携したいです。

システムA・・・社内サーバー
システムB・・・公開サーバー

(1) システムAには静止画像をアップロードするWebサービスがあります。
(2) システムBにはシステムAのWebサービスを呼び出すWebサービスがあります。
(3) ユーザーは画像を作るため、ブラウザでシステムBの Web サーバーにアクセスする
(4) 画像作成後、アップロードボタンを押したら、必要な値がセットされた隠しformをsubmitする

上記の通りの場合に何故、クロスドメイン問題を解決できるのですか?

引用返信 編集キー/
■90999 / inTopicNo.27)  Re[11]: 異なるシステム間のWebサービスの呼び出し
□投稿者/ PANG2 (287回)-(2019/05/16(Thu) 15:12:14)
2019/05/16(Thu) 15:43:35 編集(投稿者)

Webサービスは関係ありません。
<form>によるPOSTだけで実装します。

■システムA

以下のページがあります。

画像を登録します.html

<form method="post">
タイトル<input type="text" name="title"><br>
画像文字列<input type="text" name="base64string">
<input type="submit" value="登録します">
</form>

submitしたら

画像を登録しました。
閉じるボタン

を応答。

■システムB

アップロードボタンを押したら、必要な値がセットし

システムA/画像を登録します.html

に向けた隠しフォームをsubmitします。

> 何故、クロスドメイン問題を解決できるのですか?

Ajaxによるクロスドメインポストではなく
formのsubmitによるクロスドメインポスト
引用返信 編集キー/
■91000 / inTopicNo.28)  Re[12]: 異なるシステム間のWebサービスの呼び出し
□投稿者/ passop (16回)-(2019/05/16(Thu) 16:26:52)
No90999 (PANG2 さん) に返信
> 2019/05/16(Thu) 15:43:35 編集(投稿者)
>
> Webサービスは関係ありません。
> <form>によるPOSTだけで実装します。
>

javascript クロスドメインpostで検索したら、
以下の2つのページを見つけました。

A.Javascriptで外部URLにPOSTするには?
https://teratail.com/questions/13612

B.JavaScript だけでクロスドメインで POST メソッドを送る方法
http://www.otchy.net/20090923/send-post-method-to-cross-domain-only-use-javascript/

システムBからシステムAの呼び出し方法はB.を参考にすればいいのですか?

引用返信 編集キー/
■91002 / inTopicNo.29)  Re[13]: 異なるシステム間のWebサービスの呼び出し
□投稿者/ PANG2 (288回)-(2019/05/16(Thu) 18:55:44)
No91000 (passop さん) に返信
> B.JavaScript だけでクロスドメインで POST メソッドを送る方法
> http://www.otchy.net/20090923/send-post-method-to-cross-domain-only-use-javascript/
>
> システムBからシステムAの呼び出し方法はB.を参考にすればいいのですか?

私が提示したのは、別窓(form target="_blank")にクロスドメインポストする方法です。
iframeを使った方法を検討するのであれば、ご自由にどうぞ。
引用返信 編集キー/
■91003 / inTopicNo.30)  Re[14]: 異なるシステム間のWebサービスの呼び出し
□投稿者/ passop (17回)-(2019/05/17(Fri) 08:57:00)
No91002 (PANG2 さん) に返信
>
> 私が提示したのは、別窓(form target="_blank")にクロスドメインポストする方法です。
> iframeを使った方法を検討するのであれば、ご自由にどうぞ。

いえ、iframeでの呼び出し方法を使いたいわけではなくて、
余りJavaScriptから別窓を使って呼出ししたことがなかったため、
PANG2さんが考えるイメージを確認したかったのです。

「javascript クロスドメインpost」で検索で見つけた
A.の呼び出し方法にもB.を参考するリンクがあったので、
B.の呼び出し方法と思ったわけです。

再度、「javascript url別窓」で検索して、見つけたのですが、
システムBからシステムAの呼び出し方法は以下のページを
参考にすればいいのですか?

https://clouds.tokyo/blog/js_post_open/

引用返信 編集キー/
■91007 / inTopicNo.31)  Re[15]: 異なるシステム間のWebサービスの呼び出し
□投稿者/ PANG2 (289回)-(2019/05/17(Fri) 10:04:45)
2019/05/17(Fri) 10:06:41 編集(投稿者)

No91003 (passop さん) に返信
> 再度、「javascript url別窓」で検索して、見つけたのですが、
> システムBからシステムAの呼び出し方法は以下のページを
> 参考にすればいいのですか?
>
> https://clouds.tokyo/blog/js_post_open/

なるほど!
window.openで別窓のサイズ指定とかできるので、私よりよい方法ですよ。
引用返信 編集キー/
■91009 / inTopicNo.32)  Re[16]: 異なるシステム間のWebサービスの呼び出し
□投稿者/ passop (18回)-(2019/05/17(Fri) 10:46:56)
No91007 (PANG2 さん) に返信
>
> なるほど!
> window.openで別窓のサイズ指定とかできるので、私よりよい方法ですよ。

また、わからないことがありましたら、別のトピックスで挙げさせて頂きます。
PANG2さんの「formによるクロスドメインpost」で検討を進めていきます。

キングダム さん
PANG2さんのアイデアがシンプルでかつわかりやすかったので
先に検討を進めさせて頂きました。
JSONPなどのレスに回答せずに申し訳ありませんでした。

他の皆様もたくさんのアイデアをどうもありがとうございました。


解決済み
引用返信 編集キー/

<前の20件
トピック内ページ移動 / << 0 | 1 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -