[解決]OpenOffice3.3のポート番号変更方法を教えて下さい

セットアップやインストールについて(スペルチェッカーやランゲージパックも)

[解決]OpenOffice3.3のポート番号変更方法を教えて下さい

投稿記事by age_sdk » 4月 28th, 2011, 3:18 pm

ポート番号を変更する方法を教えてください。

JavaからOpenOfficeを呼び出して操作しようとしており、ポート番号が8100(デフォルト)だとつながる状態になりました。
ポート番号を外部ファイルから読み込んで処理できるように、ポート番号を固定ではなく変動可能にしたいと考えています。

【環境】
 WindowsXP SP3

【インストールバージョン】
 OpenOffice3.3
最後に編集したユーザー age_sdk [ 5月 10th, 2011, 11:26 am ], 累計 1 回
OpenOffice3.3
WindowsXP
age_sdk
 
記事: 3
登録日時: 4月 28th, 2011, 2:54 pm

Re: OpenOffice3.3のポート番号変更方法を教えて下さい

投稿記事by MoIshihara » 4月 28th, 2011, 11:40 pm

age_sdk さん こんにちは

・Bridge は使っていないので詳しいことは解りませんが、起動オプションの -accept で指定する port= のことだろうと思います。
・詳しい説明は開発者ガイド( http://dlc.sun.com/pdf/819-1324/819-1324.pdf )を見て下さい...と言いたい所ですが、リンク切れの様です...
・英語のDeveloper's Guide wiki ならこちらです http://wiki.services.openoffice.org/wik ... pers_Guide

↓これで解りますか?(既に起動中の場合は -accept オプションは無視されます、クイックスタートは終了させて下さい)
soffice -accept=socket,host=localhost,port=8100;urp
MoIshihara
 
記事: 337
登録日時: 6月 21st, 2010, 6:52 am

Re: OpenOffice3.3のポート番号変更方法を教えて下さい

投稿記事by age_sdk » 5月 2nd, 2011, 12:32 pm

MoIshiharaさん こんにちわ

回答頂き、ありがとうございます。

以下のコマンドプロンプトで実行した場合、どちらのポートでも接続できました。
・・・どちらでも接続できたということはポートは自由に変更可能ということですよね?
soffice -accept=socket,host=localhost,port=8100;urp
soffice -accept=socket,host=localhost,port=8000;urp


Javaからの接続では、unoを使用しています。
Javaを使用して接続する場合と、sofficeコマンドを使用して接続する場合とでは、何か決まりが違うのでしょうか。

下記の接続文字列を使用して、calcファイルを開くJavaプログラムを実装しているのですが、
port=8100にしてJavaを実行した場合、正常に起動されるのですが、
port=8000に変更して実行すると以下のようなエラーが出てしまいます。

【接続文字列】
uno:socket,host=localhost,port=8100;urp;StarOffice.NamingService
uno:socket,host=localhost,port=8000;urp;StarOffice.NamingService

【エラー】
com.sun.star.connection.NoConnectException: java.net.ConnectException: Connection refused: connect
at com.sun.star.lib.connections.socket.socketConnector.connect(socketConnector.java:163)
at com.sun.star.comp.connections.Connector.connect(Connector.java:138)
at com.sun.star.comp.urlresolver.UrlResolver$_UrlResolver.resolve(UrlResolver.java:120)
at jp.co.openoffice.calc.apitest.ApiTestOpenOffice.connect(ApiTestOpenOffice.java:99)
at jp.co.openoffice.calc.apitest.ApiTestReadMain.main(ApiTestReadMain.java:37)
OpenOffice3.3
WindowsXP
age_sdk
 
記事: 3
登録日時: 4月 28th, 2011, 2:54 pm

Re: OpenOffice3.3のポート番号変更方法を教えて下さい

投稿記事by MoIshihara » 5月 4th, 2011, 1:40 am

age_sdk さん こんにちは

・こちらのトピックをよく読んで下さい viewtopic.php?f=25&t=2#p11
・ソースリストも見ずに、バグを特定する事は不可能です。

・Java SDK をインストールして確認してみましたが、8000 でも 8100 でも接続出来ました。
・こちらのサンプルで確認しました。( http://www.okapiproject.com/java/java_t ... am1.htm#a2 )
MoIshihara
 
記事: 337
登録日時: 6月 21st, 2010, 6:52 am

Re: OpenOffice3.3のポート番号変更方法を教えて下さい

投稿記事by 久保宏志 » 5月 4th, 2011, 3:12 pm

age_sdkさん,

はじめまして。WriterフォーラムでMoIshiharaさんにお世話になっている者です。
OpenOffice.orgのプログラミングインタフェースに明るい訳ではありませんが,
通りがかりに読んだ記事がちょっと気になりました。

>以下のコマンドプロンプトで実行した場合、どちらのポートでも接続できました。
>・・・どちらでも接続できたということはポートは自由に変更可能ということですよね?
>soffice -accept=socket,host=localhost,port=8100;urp
>soffice -accept=socket,host=localhost,port=8000;urp

コマンドの意味はたぶん,
OpenOffice.orgを接続要求待機モード(Listening Mode)で立ち上げ,
localhostの8100番ソケット,あるいは8000番ソケットで,
urpプロトコルによる接続要求を待ち受けさせる,
ということだと思います。

>下記の接続文字列を使用して、calcファイルを開くJavaプログラムを実装しているのですが、
>port=8100にしてJavaを実行した場合、正常に起動されるのですが、
>port=8000に変更して実行すると以下のようなエラーが出てしまいます。

>【接続文字列】
>uno:socket,host=localhost,port=8000;urp;StarOffice.NamingService

Javaプログラムがこの接続文字列で表現していることはたぶん,
OpenOffice.orgがlocalhostに接続要求待機モードで立ち上がっていることを期待し,
8000番ソケットにurpプロトコルで接続するから,
"StarOffice.NamingService"サービスのインスタンスをつくり,
それを教えてくれ,
ということだと思います。

>【エラー】
>com.sun.star.connection.NoConnectException: java.net.ConnectException: Connection refused: connect

$netstat -a コマンドの結果にたぶん

TCP <hostName>:8000 <hostName>:0 LISTENING

の行が含まれていないのではないでしょうか。この状態ですと8000番のソケットに接続することはできません。
エラーはそれを伝えている可能性が大のような気がします。

参考になれば幸いです。
AOO401m5(Build:9714) - Rev. 1524958 2013-09-20 11:41 - Linux i686 on Ubuntu 13.04
久保宏志
 
記事: 54
登録日時: 9月 20th, 2010, 10:59 am

Re: OpenOffice3.3のポート番号変更方法を教えて下さい

投稿記事by age_sdk » 5月 9th, 2011, 2:33 pm

MoIshiharaさん、久保さん

回答ありがとうございます。

お二人の回答を参考にさせていただき、試行錯誤したところ、
Javaから8000番のポートを呼び出すことができました!!

エラーが発生していた原因としては、
JavaからOpenOfficeのプロセスを立ち上げるため、BootstrapSocketConnectorというクラスを使っております。
そのプロセスがデフォルト値のport:8100で生成されており、
プロセスと実際に接続する際のポート(port:8000)が異なっていたために、エラーが発生していました。


あいまいな質問に対して丁寧な対応をしていただき、ありがとうございます。
OpenOffice3.3
WindowsXP
age_sdk
 
記事: 3
登録日時: 4月 28th, 2011, 2:54 pm


Return to セットアップとトラブルシューティング

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[1人]