• ベストアンサー

C# と JAVA の値渡しについて

C#(画面) から JAVA (ビジネスロジック) に (SAOPで連携…今回の質問には関係ないかも) 値を渡しているんですが、 文字列はJAVA側に来ると空文字になりました。 しかし、int や、オブジェクト とかは どうなるんでしょう? どなたか経験した事のある方教えてくださいませ。

質問者が選んだベストアンサー

  • ベストアンサー
  • t4t
  • ベストアンサー率55% (47/84)
回答No.2

設定ファイルもあります。 C#では文法(属性)やフレームワークでWebServiceのクライアントをサポートしていますから、普通のメソッド呼び出しのようにビジネスロジックのプロキシを呼び出せばビジネスロジックが呼ばれるでしょう。 内部的には、指定によりますが普通はxsdスキーマというスキーマファイル(このオブジェクトはこういうデータをXMLでこういう風に記述する、というのが提起されているファイル)にしたがって、オブジェクトインスタンス内部のデータをXMLドキュメントにします。 それをSOAPでビジネスロジックに渡します。 Java側では、同じくスキーマファイルを参照して、XMLからJavaのオブジェクトに値を代入してインスタンス化します。 Java側のファイルに関してですが、 おそらくXML WebServiceを直組みしているわけではなく、J2EEをサポートするアプリケーションサーバ(WebSphere, WebLogicなど)上で動作していると思いますので、アプリケーションサーバ側のドキュメントを参照するとよいと思います。 原理を検索なさるなら xml web service soap あたりで検索するとよいでしょう。

taka-yuki
質問者

お礼

遅くなりました。 キーワードの方でいろいろ検索してみました。 SOAPなどの事はみていて、 あぁなるほど!と思うこともしばしばでした。 ただ、やはりプログラム間の連携についての 情報って少ないですね。 t4tさんみたいな技術者って貴重ですよ。 ありがとうございました。

その他の回答 (1)

  • t4t
  • ベストアンサー率55% (47/84)
回答No.1

SAOPではなくSOAPでしょうか? ビジネスロジックはXML WebServiceとしてサーブされているのでしょうか。 その場合、C#からJavaへのXML/SOAP経由の値渡しは、それぞれの実装に依存します。 うまくすれば文字列は文字列のまま再現されます。 intもintとして再現されます。 オブジェクトも、そのインスタンスをSOAPで通信するためのXMLにする際の取り決めがしっかりしているなら、Javaでも意味論的に同じオブジェクトのインスタンスとして再現されます。 そうでない場合はエラーとなって例外がthrowされたり、不定値となってJavaに渡されたりします…。

taka-yuki
質問者

お礼

回答ありがとうございます! ありがとうポイントってどうやって渡すんだろう…。

taka-yuki
質問者

補足

t4t さんへ 早い回答ありがとうございます。 確認したところXML WebServiceの利用を していました。 (あと文字ミスSOAPスイマセン) 具体的に設定が乗っているWEBページなどが あるのなら教えていただけませんか? 他、設定ファイルなど存在しているんでしょうか? できれば、検索キーワードを教えていただきたいです。 「そんなに聞くな!」と言うくらい 聞いてすみません。 あとは出来るだけ自力で調べます。

関連するQ&A