0

私はオブジェクトとクラスを初めて使用しますが、ジョブ番号だけでジョブのステータスを呼び出すことができるように、単純な SOAP 要求の 1 つのクラスを作成しようとしています。動作確認はできているのに、ステータス結果の使い方がわかりません。

これが私のクラスの内容です

public function validatejob() {
        $client = new SoapClient('http://server/Service.asmx?wsdl');
        $user = array("Username" => "", "Password" => "");
        $jobnumber = $this->jobnumber;
        $response1 = $client->GetSummaryJobStatus(
          array(
            "Credentials" => $user,
            "JobNumber" => $jobnumber,
            ));
        //$response1 -> GetSummaryJobStatusResult;
        echo $response1 -> GetSummaryJobStatusResult;
}

これが私のページにあるものです:

$soap = new Soap; //create a new instance of the Users class
$soap->storeFormValues( $_POST ); 
$soap->validatejob();
print_r($soap->$response1->GetSummaryJobStatusResult);

これはページに印刷されます:

HISTORY Fatal error: Cannot access empty property in /home/shawmutw/public_html/client/support.php on line 10

失敗することがわかりますが、HISTORY は私が探している結果です。HISTORY 部分を適切にエコーしたり、使用する変数に格納したりするにはどうすればよいですか?

4

2 に答える 2

1

クラスプロパティを定義し、次のようにそれに応答を割り当てる必要があります。

class A {
    public $response1;

    public function validateJob() {
        ...
        $this->response1 = $client->GetSummaryJobStatus(
        ...
    }   
}

次に、次のようにインスタンスを介してクラスプロパティにアクセスできます。

print_r($soap->response1->GetSummaryJobStatusResult);
于 2013-01-15T21:05:06.530 に答える
1

メソッド「validateJob」は何も返さず、結果をどのプロパティにも格納しないため、このメソッドの外部にアクセスする方法はありません。

return $response1; // will help inside the method

$job = $soap->validateJob(); // save result

var_dump($job); // see what you get.
于 2013-01-15T22:36:39.597 に答える