-1

基本的な PHP 関数:

//SOAP CALL
function sayHello(){
    $client = new SoapClient('http://Server:8080/MyClassService/MyClass?WSDL');
    $response = $client->glassfishHello();
    return $response;   
}

(後で、sayHello() を文字列として呼び出し、それがエラーの場所です)

基本的な EJB が提供する JAX-WS:

@WebService
@Stateless
public class MyClass{
  @WebMethod(operationName="glassfishHello")
  public String glassfishHello(){
    return "Hello from GlassFish";
  }
}

非常に単純なものが欠けているに違いありませんが、グーグルやその他のオプションを使い果たした後、これを理解するために必要な単純な例を見つけることができません。

私のPHPにはエラーがあります:回復可能な致命的なエラー:クラスstdClassのオブジェクトを文字列に変換できませんでした..など.

したがって、WSDL からの応答を解析するために、PHP で何かを行う必要があります。

ありがとうございました!(WSDL またはその他のリソースを投稿できます) はい、SOAP が有効になっており、機能しています。


はい、私の問題は、返されるオブジェクトのタイプです。sayHello() 関数が文字列を返すようにします。$response = (string).. をキャストすると、エラーが発生します。


ANSWER: PHP を最後に使用してから時間が経ちすぎて、単純な PHP の間違いだとわかっていました。

//SOAP CALL
function sayHello(){
    $client = new SoapClient('http://Server:8080/MyClassService/MyClass?WSDL');
    $response = (array) $client->glassfishHello();      
    return $response['return'];
}
4

1 に答える 1

0

PHP を最後に使用してからかなり時間が経ちました。

//SOAP CALL
function sayHello(){
    $client = new SoapClient('http://Server:8080/MyClassService/MyClass?WSDL');
    $response = (array) $client->glassfishHello();      
    return $response['return'];
}
于 2012-05-14T17:26:37.120 に答える