2011年02月01日

おしらせ

諸事情?でしばらく放置していたメモ帳ですが、久しぶりにみたら10万アクセス突破してました。
m(__)m

最近は事務職みたいな仕事が続いてまして書くネタが少ないのですが、ぼちぼち更新し始めようと思います。

posted by しげ at 13:26| Comment(6) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年07月15日

Win2003/Apache2.2.15/PHP5.2.13、犯人は?

IISでPHPって話はどこへやら。apacheでOK、ってことだそうで、普通にセットアップ作業を行ってます。


ですが、Apache2.2.15/PHP5.2.13をインストールしたところApacheが起動せず、
エラーを吐くようになりました。

Apacheをインストールした直後ではApacheは普通に起動して問題なく動作しています。
この組み合わせ、Win2008ではちゃんと動いています。

ApacheかPHPのどっちかの問題(・・・もしくはWin2003?)でしょうね。



画面に表示されるエラーメッセージは


The requessted operation has failed!


で、イベントログにはアプリケーションエラーとして


エラー発生アプリケーション httpd.exe、バージョン 2.2.15.0、エラー発生モジュール php5ts.dll、バージョン 5.2.13.13、エラー発生アドレス 0x000nnnn


と出力されてました。
あと、エラーログには


[crit] (OS 6)ハンドルが無効です。  : master_main: create child process failed. Exiting.


と。


・・・原因がさっぱりわからないです。
PHPはインストーラでインストールしていますが、PATH等を確認して見る限りで、
設定に問題はなさそうだし。


で、バージョンの組み合わせを変えてみました。


Apache2.2.15/PHP5.2.13 = ×(最初の組み合わせ)
Apache2.2.15/PHP5.2.12 = ×
Apache2.2.14/PHP5.2.12 = ×
Apache2.2.14/PHP5.2.9 = ○


SOAPのバグが改修されてるPHP5.2.9ではちゃんと動いたんで、これで動かすことにします。


なんで?という疑問は解消されていないんでキモチ悪さが残ってますけどね。

posted by しげ at 17:02| Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする

2010年07月14日

WindowsServer2003のIIS6でPHP5を動かす

うちのとあるシステムと別会社のとあるシステムを1つのサーバで動かすことになりました(※)。

うちはApache2.2/PHP5(Ethna2.3)/PostgreSQL8、別会社はIIS6,7/.NET2.0/SQLServer2005。

ApacheをIISに置き換えれば1つのサーバじゃ動かないことではないんで
IIS6でPHPを動かしてみることにしました。


セットアップ方法ですが、オフィシャルを含めていくつかサイトをチェックしても
どれが正解なのかよく判ってません。

正しい方法ではないかもしれませんが、うちの環境ではこうやれば動きました。。。
要点のみ記載します。

■PHPインストール
Web Server Setupでは IIS ISAPI module を選択。

■IISの設定
・Web サービス拡張で以下のWebサービス拡張を追加。
拡張名:PHP(←任意)
必要なファイル:php5isapi.dll

・上記のWebサービス拡張を許可。

・サイトのプロパティ、ホームディレクトリタブで構成ボタンを押下して、
 アプリケーションの拡張子マッピングを追加

実行可能ファイル:php5isapi.dll
拡張子:php
動詞:GET,POST

・Windows\system32フォルダへphp5ts.dllをコピー
 (↑これは必要かどうか未確認)

■その他の設定
・PHP、PEARなどのライブラリの実行権限をIISのユーザに付与
・Ethnaで作ったアプリのフォルダの権限を設定
・php.iniはPHPをインストールしたフォルダのphp.iniが使われている。
 変更時には再起動が必要



タグ:IIS6 php5
posted by しげ at 14:55| Comment(3) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする

2010年06月21日

またもやtcpdfにはまる

6月末に向けて最後の追い込みにかかってます。


あと一歩というとこまできてまして、実環境での動作検証を行ってます。
そこで開発してた環境とtcpdfのバージョンが違うことでトラブルが発生しました。
(開発環境は成果物の別の導入先の環境にあわせてました)


これはver4.5での出力ですがver4.8までは同様に出力されます。
v4.5.jpg


で、ver5.4.009になると、こんなふうに出力されてしまいました。
大きく下にずれてますね。
やや右にもズレてます。
v5.3.jpg


他のメンバーに調査をしてもらったところ、Text()を利用しているところでズレが
発生しているとのこと。
Cell()については問題が発生していないようです。



change-logを追っかけてみると、ver4.9.010で

Text() method was extended to include all Cell() parameters.

とあります。
ver4.9.000に発生した

Vertical alignment of font inside cell was fixed

が、ver4.9.010でText()にも反映されて、$calignのデフォルト値が
変わってしまったことが原因のようです。


じゃ、どうすればいいか、ってことですが、$calignの値を変えてみました。
デフォルトは$calign="T"(T : cell top)なので、

$calign="D"(D : font bottom)の場合。
v5.3_fontbottom.jpg

$calign="L"(L : font baseline)の場合。
V5.3_fontbaseline.jpg


ver4.8までのText()の挙動に近いのは、$calign="L"ですね。
右によってるけど。


Text()の$calignの初期値を変えることでなんとかすることにします。



さて、ちなみにtcpdfの現時点の最新バージョンv5.4.003ですが、


  Windows XP + XAMPP1.6.8(apache2.2.9/PHP5.2.6)


の環境では、CPU使用率が100%に貼り付けたままで数十分経過することがあります。


  Windows Server 2008 + apache 2.2.15/PHP5.2.13


の環境では、なんの問題なく出力されるのですが。。。


PHPの何かのバグ、ですかね???
かなりはまりこんだんですが。。。。

タグ:TCPDF
posted by しげ at 22:17| Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする

2010年06月18日

MS-IME2010

MS-IME2010が公開されたので、ちょっとだけ試してみました<ヒマなんか?


私が使うPCでは、IMEに最初に覚えさせる言葉はこの2つ。

自分の名字



「採番」

です。

私の名字は電話帳掲載名字による全国ランキングで「21,979位/100,000件」と
たぶん珍しい部類の名字です。
私が住む人口100万を超える某K市内で同じ名字の人は、私とうちの家族と
私の親、計6人しかいないはずです。たぶん。

そんな少数派なので、どのIMEでも一発変換不可能でも仕方ないと思ってます。
ハナからあきらめてます。


で、IME2010ですが。


結果)
一発変換はできん。
でも人名地名辞書を参照すると表示。


辞書に載っただけでも大きな進歩、ですね。
わざわざユーザー辞書に登録する必要もなくて、2回目以降は一発変換
してくれますからね。



さて、もう1つの「採番」。

これは仕事でよく使います。

システムの設計書ではよく使うのですが、意外と辞書に登録されてません。
現場では一般用語なのですが、世間一般じゃ使わないんですね。
MSの社内でも使うとおもうんですけど・・・。


で、IME2010。


結果)
変換候補にあるじゃんっっっ



これだけでもだいぶましになりました>IME2010


最近知ったんですが、IME2007から予測変換機能があるんですね。
というわけでMS-IME2010にもその機能がついてるようです。

ただ、予測変換は常に出てくるわけではなくて、1回変換したものが候補として
利用できるだけのようです。使えば使うほど味がでてくるのか。

それなら、少々笑える候補がでてきてもGoogle日本語入力のほうが
ましかなぁ・・・。



余談ですが、Excelで図形を一括選択するための矢印、オブジェクト選択の
矢印アイコンがExcel2007では見えるところからいなくなりました。
Excel2003だと図形描画ツールバーにあったヤツです。


半泣きになって探し回ってようやく発見しました。


ヤツは、リボンの[ホーム]−[編集]−[検索と選択]に潜んでました。


Excel2007とかくれんぼして遊ぶ心理的余裕はないんだけど(涙

posted by しげ at 11:54| Comment(0) | TrackBack(0) | Windows | このブログの読者になる | 更新情報をチェックする

2010年06月11日

苦難を乗り越えてデュアルモニタ化

家の中を探しましたがあったのはAGPのビデオカードが2枚。
やっぱりPCIのビデオカードはありませんでした。

LowProfileでインターフェースがPCI、かつ、Windows7に対応しているビデオカード・・・。
いまどきそんなビデオカードはほとんど売られてないですよね。
PCI-Expressばっかです。

なんでPCI-eじゃなくてPCIなんだろう?という疑問がありますが、まあ、それはそれで。
(どうしてですか>GIGABYTEさん??)


で、どうすりゃデュアルモニタ化できるか考えた結果、USBでマルチモニタが実現できる
アダプタ、バッファローのGX-DVI/U2を購入しました。


20100611-200645.jpg

Windows7に対応しているし。



・・・対応しているはずなのに、道のりは平坦ではありませんでした。


製品に添付してるCDでドライバをインストールしたあと、バッファローのHPでWindows7用の
ユーティリティをダウンロードしてインストール。
インストール後、製品自体がアップデートプログラムを見つけるのでインストール。
インストールのたびに再起動が要求されるのでめんどくさいです。


しかしながらデバイスは正常に認識出来ていますが画面は表示されず、解像度の設定もできません。


あちこちを調べてみるとバッファローのHPにあるドライバ(R5.2)では正常に動作しない
ことがあるみたいでしたので、開発元?のDisplayLinkのHPから最新のドライバ(R5.3)を
DLしてきました。

が、



 (つ_T やっぱダメです。



「ディスプレイドライバに互換性がありません」というメッセージが表示されて、グラフィックス
カードかOSとの互換性の問題を指摘されました。

念のためにハードの初期不良の有無を確認するため、Let's Note CF-R4(WinXP)で試して
みましたが、ちゃんと動いてくれました。

ハードの問題ではなさそうです。




もうそろそろ、金(=GX-DVI/U2)はどぶに捨てたと思ってあきらめようかと考えましたが、
最後にこのPCのマザーボードのメーカー、GIGABYTEのページでチップセットとVGAドライバを
最新に更新してみました。


v(T_T


ついにできました!!
ワイドな2画面、いい感じ(喜。


20100611-200615.jpg

これでようやく本格的に仕事ができます。
やれやれ。


ちなみにバッファローのHPのドライバはWinSFX形式で圧縮されてます。
WinSFXはマルチコアを使えないようで、Atom D510の4つのコアのうち、
1つしか使用してくれません。

たかだか14MB程度のファイルでしたが20分たっても解凍が終わらず、
我慢できなくなって、別PC(DELL Dimension 5150)にコピーして解凍しました。


・・・このPCの先が思い遣られる今日この頃です。

posted by しげ at 20:05| Comment(0) | TrackBack(0) | ハードウェア | このブログの読者になる | 更新情報をチェックする

2010年06月08日

新しいPCを使い始める

今日、突然、NewPCがやってきました。

付き合いのある会社さんの、その会社ブランドのPCです。
熱暴走対策で蓋を開けたままケースファン2個を回していたDimension 5150Cから
乗り換えることになりました。


とってもコンパクトで持ち運びもできそうな大きさでシンプルなPC。
静音で机の上に置いても違和感なく、ジャマにならないのでいい感じです。


20100608-192933.jpg



CPUはAtom D510なんですが、どのくらいのパフォーマンスなのか、
わかってません。
なのでCrystalMark2004R3で試してみました。
結果はこちら。

まず、5150C。
5150C.jpg

Dell Dimension 5150CのほうはRADEON X1550のビデオカードが
ささってます。

で、Atom D510。
D510.jpg


ざっと見た感じ、CPU周りは1割ほど向上してて、HDDアクセスがだいぶ
向上しているのでいまのPCよりも「使えそう」な気がします。
一方、ビデオ側はというとGDI、OpenGLのスコアがお話にならないくらい低く、
ゲームとかは厳しいのかな・・・??

というわけで、Dell Dimension 5150CのビデオカードをD510に挿して、
5150CからD510へ完全移行することにしました・・・・が。
Atom D510ってPCIなんですね。PCIeじゃなくて。

ビデオカードが挿さらないので、当面はシングルディスプレイでどうにかします。
(自宅にPCIのビデオカードってあったかなぁ・・・。捨てたかなぁ・・・。)



さて、このPCにはOSが付属していないので社内で余ってたWindows7と
Office2007をインストールすることにしました・・・・が。


もうわけわかんないです>Win7 & Office2007


XP&Office2003を使ってきてたんで、いままでの機能がどこにいったのかさっぱり
分かりません。google先生に教えてもらいながらじゃないと先に進みません(涙。


新しいものについていけないと、職業柄、まずいよなぁ。
でも、PCは道具であって目的じゃないんですけどね。

posted by しげ at 20:59| Comment(0) | TrackBack(0) | ハードウェア | このブログの読者になる | 更新情報をチェックする

2010年06月07日

google日本語入力じゃないとダメな身体に

最近外出が多くて、今日は久しぶりに事務所で仕事してます。会社PCを使うのも久しぶりです。

Let's Note CF-R4の狭い画面でなくてデュアルディスプレイで快適に仕事が
できる・・・はずなんですが、腕が痛くて仕方ないです。
7時間経過してそろそろ限界です。


腕が痛い原因は、会社PCがMS-IME2003だから。


自宅PC、ノートPCで使ってるgoogle日本語入力だとサジェスチョン機能があるので
文字全てをタイプする必要がありません。
だからキータイプの回数が少なくて済むんですが、MS-IME2003は・・・(略


タイプに関してだけでなく何事に対しても正確性が低い私なので、入力文字数が
増えれば入力ミスも増えて、もう、この記事を書くこともできないくらい。

もう耐え切れないので、google日本語入力をインストールすることにします。


ほんとgoogle依存は増す一方です。。。

タグ:google
posted by しげ at 17:25| Comment(0) | TrackBack(0) | たわごと | このブログの読者になる | 更新情報をチェックする

2010年06月05日

EthnaのAppObjectを利用する場合

EthnaでAppObjectを利用する場合、一度アクセスしたテーブルのテーブル定義は
tmpフォルダ(※)に保持されてるみたいです。


なので、テーブルの定義を変更した場合には、AppObjectが生成したテーブル定義のキャッシュを
削除しておかないと、私みたいにしばらく悩むことになります。



※ココ
./tmp/cache/default/cache_ethna_app_object

タグ:Ethna2.3 php5
posted by しげ at 00:01| Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする

2010年05月31日

LogMinerを使うためのメモ

Oracle 9iのLogMinerでOracle8のアーカイブREDOログを閲覧するためのメモ。


・Oracle8でアーカイブREDOログを出力するようにしておく。
・Oracle8で初期化パラメータでUTL_FILE_DIRを指定しておく(要再起動)。
・Oracle8iの$ORACLE_HOME/rdbms/admin/dbmslmd.sqlをOracle8で実行する(※)。
・Oracle8のディクショナリファイル作成で出力先ディレクトリをUTL_FILE_DIRで
 指定したディレクトリにする。

※の部分、Oracle8iのdbmslmd.sqlじゃないとダメです。
 Oracle9iのものだとエラーになりました。


こんな偏った情報を活用できる人がいるとは思えないけど・・・。
posted by しげ at 19:08| Comment(0) | TrackBack(0) | Oracle | このブログの読者になる | 更新情報をチェックする

メールアカウント作成時のエラー

Exchange 2007で、メールボックスを新規作成する場合に

「アドレス一覧サービスを実行中の Exchange 2007 サーバーが見つかりません」

というメッセージが表示されて、メールボックスが作成できない場合があります。

これは、「Microsoft Exchange System Attendant」サービスが停止している場合に
発生するので、これを起動してやると解決します。



・・・とTechNetに教えてもらいました。

http://social.technet.microsoft.com/Forums/en-US/exchangesvradmin/thread/bc1cef27-78ee-49d4-87eb-21f6f2e09079/


全世界ではまった人がいたみたいですね。私みたいに・・・。
タグ:Exchange 2007
posted by しげ at 18:56| Comment(0) | TrackBack(0) | Exchange | このブログの読者になる | 更新情報をチェックする

2010年05月18日

Flashから警告が。

最近、impresswatch.jpのサイトでFlashからこんな警告がでるようになりました。


20100518-001.jpg

とってもうざいです。

広告Flashのどれかが、保存されているcookieの情報を収集してds.serving-sys.comへ
送信する仕掛けがされているようで、cookieを参照するっていう行為がセキュリティ上
引っかかって警告が表示されてるようです。


impresswatch.jpの個人情報のページでこう書かれてます。


(引用)
また、当社の各ウェブサイトに掲載される広告の一部は、第三者企業の配信サーバーを利用しているものもあります。同様に、サイトのアクセス状況計測のために、第三者企業の計測サーバーを利用している部分もあります。これら第三者企業も、効率的な広告配信のためやアクセス状況の計測のため、クッキーやWebビーコンを使用しています。このクッキーやWebビーコンは、事前に調査の上、当社の使用基準を遵守していることを確認しておりますが、情報は第三者企業のサーバーに蓄積されるため、管理はこれら第三者企業のプライバシーポリシーに則って行なわれます。該当する第三者企業および、各社のプライバシーポリシーは以下のとおりです。


で、その広告主?はデジタル・アドバタイジング・コンソーシアム株式会社。
http://www.dac.co.jp/utility/rule.html

さらに、serving-sys.comは、米国アイブラスター社だそうです。


気づかないうちにPCの情報が収集されて送信されちゃってるってのもいい気がしないですね。
個人を特定しない方法でって言われてもそれを確認する術は全く無くて、相手の言い分を
信用するしか無いし。

じゃ、ってことでこのサイトへのアクセスを許可しちゃえば警告はでなくなりますが、そういう
場当たり的な対処っておかしいと思うんですよね。

警告が頻出すれば警告の意味はなくなるし、常に許可しちゃえば元も子もないし、
まあ、VistaのUACもおんなじなんですけど。


なんか、薄気味悪いカンジです。
見られて困るほどのものはないんですけど。

posted by しげ at 11:37| Comment(0) | TrackBack(0) | たわごと | このブログの読者になる | 更新情報をチェックする

2010年04月21日

今度は問題なく

今度はちょっと打診があったのでphpのSOAPClientとC#のSOAPServerでの動作検証。
これまでの逆バージョンですね。

C#側はWebServiceのプロジェクトを作成して、メソッドの戻り値たちを1つのクラスとして
作成して、そいつを戻してやります。

    [WebMethod]
    public responseData getGudaguda() {

        responseData piyopiyo = new responseData();

        piyopiyo.param1 = "hoge";
        piyopiyo.param2 = "hogehoge";

        return piyopiyo;
    }

実行すると

http://localhost:1234/hogehogeWebService/Service.asmx

みたいなURLが生成されるので、後ろに?wsdlをつけて

http://localhost:1234/hogehogeWebService/Service.asmx?wsdl

とするとWSDLが取得できます。
ここまではC#でWebServiceつくるのとなんだ違いはないのでわざわざ解説すること
でもないですね。


ちなみにWSDLはこんな感じに出来上がってます。

<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
  <s:element name="getGudaguda">
    <s:complexType />
  </s:element>
  <s:element name="getGudagudaResponse">
    <s:complexType>
      <s:sequence>
        <s:element minOccurs="0" maxOccurs="1" name="getGudagudaResult" type="tns:responseData" /> 
      </s:sequence>
    </s:complexType>
  </s:element>
  <s:complexType name="responseData">
    <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="param1" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="param2" type="s:string" /> 
    </s:sequence>
  </s:complexType>
</s:schema>
</wsdl:types>
<wsdl:message name="getGudagudaSoapIn">
  <wsdl:part name="parameters" element="tns:getGudaguda" /> 
</wsdl:message>
<wsdl:message name="getGudagudaSoapOut">
  <wsdl:part name="parameters" element="tns:getGudagudaResponse" /> 
</wsdl:message>



一方PHPのSOAP Clientも簡単です。

<?php

// オプション設定
$options = array("encoding" => "UTF-8",);

// SOAPClient生成
$client = new SoapClient("http://localhost:1234/hogehogeWebService/Service.asmx?wsdl", $options);

$res = $client->getGudaguda();

?>

でOK。

$resはstdClassで、$res->getGudagudaResult->param1, $res->getGudagudaResult->param2 で
値を取得できます。実運用ではSOAPリクエストのタイムアウトを考慮する必要があります。

C#からbyte配列のデータを戻り値で受け取るようなものを作ってみたんですが、C#, PHPそれぞれで
base64を使ってencode/decodeしてくれてるみたいで、アプリケーション側ではバイナリデータを
意識することなく受け渡しできるようですね。

ラクチンです。
PHPをSOAP Serverにしたときはあんなに苦労したのに。。。。

posted by しげ at 16:01| Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする

2010年04月19日

明日は明日。

インプレスのINTERNET WatchのやじうまWatchで取り上げられてた
出版業界のリストラ事情のブログを読んでます。


幸いなことに今のところ「オマエ、クビ」とも「いつでも辞めてくれ」とも
「どう?辞めてみたら?」とも言われたこともなくて、こんないい加減な人間ながらも
継続して会社員で居られてますが、この先どうなるんだろう?という疑問は
解決されることなくずーっと残ってます。


以前の会社であれば継続雇用の見通しがあって、出世街道ならこうで外れたらこう
という定年までの道筋が見えていましたが、今の会社は会社の規模が小さくて
道筋が見えないというか、道がありません。
そもそも前を行く人がいないし。

なので定年までカリカリとコーディングしてるかもしれないし、朝から新聞読んでるだけの人に
なってるかもしれません。もしくはストックオプション(そんな制度ないけど)で悠々自適な生活を
送ってるかも。
まあ、一番ありそうなのは「辞めてくれ」でしょうけど(震


ただ、前の会社を辞めるときに、「おいらはこの業界で生きていけるし生きてくんだ!」
と決めたので、辞めろといわれようと会社がなくなろうと前を向いて進んでいこうと
思ってます。
と言いつつ、もしも業界で生きていけなければ皿洗いでも日雇いでも。


なんせ生きることと、ローンと家族をどうにかするってことが同義語なもんで。


posted by しげ at 11:23| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年04月15日

SOAPにはまった

PHPのSOAPServerとC#.net2005のClientの連携、最終話です(歓喜の涙。


PHPのSOAPServer側で、WSDLで定義した通りに戻り値を設定できず、
かなり苦戦しましたが、実稼動時間で約24時間かけてようやく解決しました。


原因はPHP5.2.5のSOAPのバグでした。
(PHP5.2.9では解決していました)


時間返してくれぇ!!!



具体的にどんな問題があったかというと。

WSDLモードでSOAPServerを実行し、メソッドの戻り値として
WSDLで配列を含むような入れ子になる型定義(TYPE)をしている場合に、
PHPが入れ子構造を認識できない(入れ子の途中が飛ぶ?)という事象です。

少々端折ってますがWSDLはこんなかんじ。
PHPにはWSDLの生成機能がないのでC#でWebServiceを作ってそれを元に作成しました。
(SOAP-ExtensionじゃなくてNuSOAPとかだと生成できるのかな?)


<xsd:element name="もどりのデータ">
  <xsd:complexType>
    <xsd:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="でーた" type="xsd:string" />
      <s:element minOccurs="1" maxOccurs="1" name="でんわでーた" type="ns:でんわりすとがた" />
    </xsd:sequence>
  </xsd:complexType>


</xsd:element>
・・・
<xsd:complexType name="でんわリストがた">

 <xsd:sequence>
  
<xsd:element name="でんわ" type="ns:でんわがた" minOccurs="1" maxOccurs="unbounded" />
 </xsd:sequence>


</xsd:complexType>
・・・
<xsd:complexType name="でんわがた">
 <xsd:sequence>
 <xsd:element name="じたく" type="xsd:string" />
 <xsd:element name="けいたい" type="xsd:string" />
 <xsd:element name="そのた" type="xsd:string" />
 </xsd:sequence>
</xsd:complexType>



こんなかんじで「でんわでーた」データは「でんわ」配列のデータで、配列の要素の中身は
「でんわがた」で定義されてるハッシュ(連想配列)のデータ、という戻り値です。

でーた
でんわ[0].じたく
でんわ[0].けいたい
でんわ[0].そのた
でんわ[1].じたく
でんわ[1].けいたい
でんわ[1].そのた
・・・


という形が出来上がり形ですね。


定義通りにメソッド戻り値として

$はいれつ[] = array("じたく"=>"・・・", "けいたい"=>"・・・", "そのた"=>"・・・");
return ("でーた" => "・・・", "でんわでーた" => array ("でんわ"=>$はいれつ),);

としてやったんですが、PHPからは

SOAP-ERROR: Encoding: object hasn't 'じたく' property in ・・・
(意訳:"じたく"がセットされてねぇから動いてやらねぇよっ)


と怒られました。
PHPは「でんわでーた」の存在を無視してたみたいで、

でーた
じたく
けいたい
そのた

だと言い張ってくれてます。

で、これが発生してたのがPHP5.2.5の環境。
PHP5.2.9の環境で動かすとちゃんと動いてくれました。


あまりに不可解なのでWSDLの定義をチェックしたり、サンプルのWSDLをかき集めたり、
PHPのソースを見て解析しようとしてあっさり断念したり、PHP-PHP間でテストしてみたり、
かーなり苦労しました。

バージョンの差分をとって不具合の箇所を特定してその箇所を修正してPHPをビルドしなおして
みるとPHP5.2.5でも正常に動いたのでもう大丈夫・・・と思います。


ほんととっても疲れました。
何だかとても眠いんだ。
パトラッシュ。。。

そうそう、タイトルが過去形だけど、ちょっと怪しいところがあるんです。
もうやだよ、パトラッシュ。。。



タグ:C#.net2005 soap PHP
posted by しげ at 14:32| Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする

2010年04月12日

おっとあやうく

メールチェックしてたら、こんなメールが来てました。

以下引用================================================================

Yahoo! JAPAN より重要なお知らせです
返信
From    Yahoo! Mail Customer Service <mail-master@mail.yahoo.co.jp>
返信先    Yahoo! Mail Customer Service <mail-master@mail.yahoo.co.jp>
To    xxxxxxxxxxxx@xxxxxx.xx.xx
日付    2010年4月10日14:26
件名    Yahoo! JAPAN より重要なお知らせです
送信元    itm-asp.com
--------------------------------------------------------------------
Yahoo! JAPAN - ユーザーアカウント継続手続き
--------------------------------------------------------------------

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
この自動通知メールはYahoo!オークションより自動的に送信されています。
このメールに返信しないようお願いいたします。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

いつもyahoo!オークションをご利用いただきありがとうございます。
Yahoo!オークションを今後も継続してご利用いただくためには、Yahoo! JAPAN ID
ユーザーアカウント継続手続きが必要です。

詳しくはユーザーアカウント継続手続きページをご覧ください

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆


ユーザーアカウント継続手続きページはこちら
http://suport-home.lineup.jp



◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☆★☆★☆クレバリーパソコンクリニック開院!☆★☆★☆
―――パソコンのお悩み・お困りの事ありませんか?―――
当社の専門スタッフが、安心のサポートをお届けします!

↓↓パソコンクリニックはこちら↓↓
http://www.clevery.co.jp/pc-clinic/?utm_source=melma1&utm_medium=clinic
↓↓  メニュー表はこちら  ↓↓
http://www.clevery.co.jp/pc-clinic/price_list.html?utm_source=melma1&utm_medium=clinic

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
★配信の停止は下記URLにてお願いいたします。
https://www.clevery.co.jp/melma/

★このメールに返信されても、クレバリーには届きません。
ご意見・ご感想は下記のメールまでお願い致します。
y-kuma@clevery.co.jp

★最新入荷情報からスタッフの戯言まで・・・随時更新中!
「クマ出没!アキバ注意報!(クレバリーブログ)」
http://blog.livedoor.jp/y_kuma/?utm_source=melma1&utm_medium=outside

★秋葉原3店舗のイベント情報・オススメ情報を毎日お届け!
「店舗ブログ (クレナビ)」
http://clenavi.blog36.fc2.com/?utm_source=melma1&utm_medium=outside
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
※本文に掲載されている会社名・製品名は、各会社の商標または登録商標です。
※本メールマガジンに掲載されている文書および画像の著作権は、株式会社クレ
バリーに帰属します。掲載記事を無断で転載・転用・加工することを禁止します。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
配信停止はこちら
http://www.itm-asp.com/db_stop/mail_stop/stop.php?m=xxxx&mid=xxxxxxxxxxxxxxxx&num=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


以下引用おわり==========================================================



なんだ、ヤフオクのアカウントって定期更新がいるのか、とURLをクリックしたら
こんな画面が。

20100412-01.jpg


「???」と思ったものの、特に深く考えずに次の画面へ行くと

20100412-02.jpg
注意!!)魚拓


こんな感じの画面になりました。
住所、氏名、カード番号なんかの入力画面です。



「なんだめんどくせぇ、全部入れるのかよ?」
「カードの有効期限、まだ来てないハズなのに洗い替えか」
「サイフ、部屋にないから取りに行かなくちゃ、めんどくせぇ」



などとめんどくさがってるうちに、ようやく気づきました。


フィッシングサイトですね。


1つ目の警告をちゃんと読んでればもっと早く気づいてましたが、httpsの
警告かなにかと思い、読み飛ばしてました。。。


こういうサイトってどこかへ報告したほうがいいんでしょうかね?

とりあえずYahoo!へ迷惑メールとして報告しましたが。
GoogleChromeがフィッシングサイトと教えてくれるので既にどっかに
登録されているんでしょうけど。


しかし、ひっかかりそうになってしまった自分が情けないです。。。
posted by しげ at 03:50| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年04月09日

モノの値段

うちでは新聞をとってません。
あれば読むけど必要不可欠なものではないので。

4月から日経の電子版というものが始まったらしいという情報を得て、
日経のサイトに行ってみました。
良かったら購読しようかと思って。

サイトを見て回ったんですが、


■電子版 月ぎめプラン
月額4,000円
   
■日経Wプラン(宅配+電子版)
月額5,383円(セット版地域)
月額4,568円(全日版地域)
(新聞購読料*1+1,000円)


だそうです。
んで、

1週間分は閲覧できて、それ以前は検索して見れる。
検索件数が25件を超えたら175円/件。

とのこと。

情報は無料じゃないってのは判りますが、朝夕セットを配達してもらって4300円で
してもらわない電子版が4000円って????


なんだか納得できないので会員になるのは辞めました。

折り込み広告無いのに4000円って。
通信コスト負担もあるのに、物理媒体と差が無いって。

納得できないっす。
posted by しげ at 01:47| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年04月07日

SOAPにはまる2

前のエントリの続き。

本筋の作業の合間の息抜きに通信テストしてるのですが(仕事の息抜きに仕事って(涙))、
またもやはまってしまった点をメモ。



PHPのメソッドでは、連想配列をメソッドの戻り値として指定してるんですが。

 WSDLの戻り値の名前 = 連想配列のキー

でなくてもExceptionは発生しないようです。
戻り値の値がNULLになるだけ。間違えてる私が悪いんですが。。。
(WSDLの作りによってそうならないこともあり得ると思いますが)


もう一つ。


メソッドを定義したPHPで例えばPHPのソース部分の最後?>のあとに空白や改行があると、
Client側のC#.NETで「XMLが正しくねぇよ」って怒られます。
処理自体やWSDLに問題がなく、パッと見で気づかないので要注意。


当然ながら、開発中はphp.iniでSOAPのキャッシュをオフにしておきましょう。

 soap.wsdl_cache_enabled = 0



posted by しげ at 19:20| Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする

SOAPではまる

XAMPP環境のPHPをServer、C#.net2005をClientとしてSOAP通信のテスト中。

手で作成したWSDLを使って動かしてみたんですが、Serverの処理結果の受け取り時に、C#側で


クライアントは 'text/html' の応答のコンテンツ タイプを見つけましたが、'text/xml' が必要です。
要求は以下のエラーにより失敗しました。
--
<?xml version="1.0" encoding="UTF-8"?>
以下略


というInvalidOperationExceptionが発生しちゃいました。

エラー内容を見てみると、以下略の部分にSOAPのリクエストの結果がちゃんと入ってるのでサーバ側
処理は完結しているようです。


メッセージをそのまま解釈すれば、

・SOAP ServerのPHPがちゃんとtext/xmlで送るべき
・SOAP ClientのC#.net2005がtext/htmlとして受け取れ
・SOAP ClientのC#.net2005がtext/xmlとして読み取れ

のどれかを対応すれば解決できると思いました。

で、サーバ側の設定、クライアント側の設定、WSDLに問題が無いか(default値でまずい部分がないか)を
調べてみたのですが、原因不明。

結構時間をかけて情報収集したのですが、結論はでず。

投げれるものならサジを投げたくなってきました。


ふと思うところがあって、試しにCentOSで動かしているサーバにSOAPサーバ側を動かしてテストしてみたら・・・


うまく行きました。
なんでやねん



XAMPPでなく、Apache/PHPを個別にいれたWindow2003環境でテストしてみたら・・・


うまく行きました。



XAMPPのApacheか、PHPかのどちらかの設定に依存する問題と分かりました。
原因を調べる余裕が無いので、原因不明のまま動作確認を急ぎます。


あぁ、つかれた。

posted by しげ at 15:13| Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする

2010年03月03日

HDD死亡

自宅PCのHDDが1つ死亡しました(泣

不良セクタがどーとかこーとか言い出したと思ったら、あっという間に
アクセス不能に陥りました。



死亡直前に試行錯誤用のVMデータは救出できたので残りのデータは
復旧できなくても、まあ、あきらめが付くのですが、イタイことはイタイです。
大したデータはなかったはずだし。


死亡したHDDはWestern DigitalのWD10EACSというHDDですが、
メーカーによるRMAという保証があるそうです。


参考:HDD Navi−HDDメーカーの交換保証(RMA)とは!?


海外へHDDを送って交換してもらうことになるので時間がかかりますが、
「とほほ」で終わらせるのは勿体ないので、交換してもらおうと思います。


とまあ、自宅PCならともかく企業で使ってるHDDだと同じように
死亡したHDDは、中にあるデータを完全に消去できなきゃ
メーカーに送り返せないですよね。


磁力による消去装置を持ってるなら別ですが。


しかし、海外発送はめんどくさそうだなあ・・・
posted by しげ at 00:48| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。