はじめまして。りおと申します。<br/ ><br/ >現在、メインのphpプログラムから各phpのプログラムをSOAPを用いて<br/ >処理を行うシステムの開発を行っております。<br/ ><br/ >ところが各phpのプログラムがそれぞれ時間がかかるため、マルチスレッド<br/ >を用いて処理時間を短縮したいと考えております。<br/ ><br/ >マルチスレッドを用いるにあたり、.NET(VC#)へメインプログラムを<br/ >書き換えたいのですが、、、<br/ >VisualStudio2005(言語Visual C#)からSOAPを用いてPHPプログラムを<br/ >起動する実装方法が良く分かりません。<br/ ><br/ >すいませんが、どのようにすればよいのか教えていただけますでしょうか。<br/ >宜しくお願いします。<br/ >
PHPで作成されたWebサービスが既に作成されていて
それをC#から呼びたいんですよね?
Web参照の追加で、作成したWebサービスを指定してあげればよいかな。
たけさんコメントありがとうございます。
Web参照の追加からURL欄にphpファイルの場所を入力すると
「ページが見つかりません」のページが表示され、
このURLで見つかったWebサービスの欄には下記のような
メッセージが表示されました。
-----------------------------------------------------
http://localhost/test/test.ph p' をダウンロード中にエラーが発生しました。
要求は以下のエラーにより失敗しました。
--
<?xml version=1.0 encoding=UTF-8?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV= http://schemas.xmlsoap.org/soap/envelope/>
<SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode>
<faultstring>Bad Request. Can't find HT
-----------------------------------------------------
どうやら現在はWSDLを使用しない方法(非WSDLモードです)のため、
「Webサービスは作成されていない」という状態だと思います。。
調べていると、WSDLを作ればよいのかな?とは思うのですが、
WSDLの作り方も分かりません。
どうしたら先へ進めるでしょうか…
そのままだと難しそうですね~。
WSDLを手書きで書いてしまうか。↓等を参考に。
http://www.atmarkit.co.jp/fxml/tanpatsu/21websvc/websvc04.html
あるいは、.NETで自動で作成されるプロキシクラスを解読するかですかね。
(.NETで雛形で「XML Webサービス」を選ぶと、Helloなんとかが作成されます。
これをWeb参照の追加すると、プロキシクラスができます)
たけさんありがとうございます。
WSDLの手書きか、プロキシクラスの解読を行うかのどちらかですね。
参考ページを読んで勉強します。
実装方法が分かりましたので、この質問は解決としますね。
実現するまでは時間がかかりそうですので、また分からなくなって
質問するかも知れませんが、宜しくお願いします。
ありがとうございました☆
すいません。また質問させてください。
こうして質問を続けていいのか分かりませんが・・・
http://www.phppro.jp/phptips/archives/vol33/#2
上記サイトでWSDLの自動生成が出来るような説明がありました。
-----------------------------------
PEAR::SOAPはまだベータ版なので
pear install soap-beta
でインストールすることが出来ます。
-----------------------------------
とあるのですが、PEARをインストールして、コマンドを叩いても
-----------------------------------
No releases available for package pear.php.net/soap
Cannot initialize 'channel://pear.php.net/soap-beta', invalid or missing
package file
Package channel://pear.php.net/soap-beta is not valid
install failed
-----------------------------------
というエラーになります。
どうしたらインストール出きるのでしょうか。
宜しくお願いします。