ホームページ >バックエンド開発 >PHPチュートリアル >WebService を介して php が Java にデータを転送する際の問題
Java にデータを送信するときに、エラー メッセージ部分 {urn:bbs}myfunc が認識されませんでした (サービス WSDL に存在しますか?)。誰かこの問題の解決を手伝ってくれませんか?緊急!緊急!緊急!
メソッド myfunc は WSDL で定義されていません
しかし、私はそれを定義しており、それは $client = new SoapClient("http://127.0.0.1/bbs/home_page/ html/ hello.wsdl");
試してください {
$demo = "
$result = $client->myfunc( "< ;?xml version="1.0" encoder="GBK"?>
var_dump($result)
//echo "答えは結果です"; catch ( SOAPFAULT $ F) {
Echo "Error Message: {$ F-& GT; getMessage ()}"
} & Gt; の場合、エラーが報告されます。この Java インターフェイスのアドレスを置き換える
データを Java に転送するには、wsdl ファイルで相手のインターフェイスへのリンクを設定する必要がありますか?
PHP 呼び出しの場合は、 ?wsdl を追加する必要がありますが、Java 側で ?wsdl を追加する必要はありません。そうしないと、データを送信するときにエラーが報告されます。そうしないと、エコーまたは他の出力コンテンツも渡されたデータパケットとして扱われ、エラーが発生します
これと似たようなことをしましたが、これは php と Android の相互作用です。php は Web サービスを提供し、Android はデータをリクエストします
これで、相手に接続できるようになりましたが、エラーが報告されました: {urn:bbs}myfunc が認識されませんでした。 (サービス WSDL に存在しますか?)。私は初心者なのですが、誰か助けてくれますか?他に何を変更する必要がありますか?
WSDL を見てください
エラー メッセージには次のことが明確に示されています:
myfunc が認識されませんでした メソッド myfunc が認識されませんでした
操作>
<オペレーション名="serverTimestamp">
操作>
<オペレーション名="myfunc">
操作>
<オペレーション名="挨拶">
出力>
操作>
<オペレーション名="serverTimestamp">
出力>
操作>
<オペレーション名="myfunc">
出力>
操作>
バインディング>
<サービス名="bbs">
<ドキュメント />
ポート>
サービス>
<メッセージ 名前="greetRequest">
メッセージ>
<メッセージ 名前="greetResponse">
メッセージ>
<メッセージ名="serverTimestampRequest">
メッセージ>
<メッセージ名="serverTimestampResponse">
メッセージ>
<メッセージ 名前="myfuncRequest">
これは私の wsdl コンテンツです。myfunc は存在します。
http://127.0.0.1 を使用します。 80/bbs/home_page/html/server.php?wsdl にはアクセスできるはずですが
、http://198.162.1.111:8080/leanproc/ws/bbs?wsdl は動作しません
そうですか?