0

以下の構造のようなwsdlファイルがあります

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:not="http://notification.ws.api.com/">
   <soapenv:Header/>
    <soapenv:Body>
      <not:getNotificationWS>
        <!--Optional:-->
        <notification>
          <!--Zero or more repetitions:-->
          <notificationList>
             <!--Optional:-->
             <email>?</email>
             <!--Optional:-->
             <phone>?</phone>
             <userId>?</userId>
          </notificationList>
        </notification>
      </not:getNotificationWS>
    </soapenv:Body>
 </soapenv:Envelope>

上記のwsdlをphpでsoap経由で呼び出しています。以下は、上記のwsdlを呼び出そうとしているsoapcallです。

 $response = new SoapClient("http://127.0.0.1:8080/API/ws/TESTWS?wsdl");
  try{
     $soapstr = $response->__soapCall("getNotificationWS",array("parameters" => array(  'email'       => "google@gmail.com",
         'phone'       => "1111111",
         'userId'       => "100"
               )));
     echo print_r($soapstr);

  }catch (Exception $e){
      echo $e->getMessage();
  }

出力やエラーが発生しません。私は最後のリクエストを印刷し、以下のxmlを返します

 <?xml version="1.0" encoding="UTF-8"?>
 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://notification.ws.api.easymed.com/">
     <SOAP-ENV:Body>
        <ns1:getNotificationWS />
     </SOAP-ENV:Body>
 </SOAP-ENV:Envelope>

PHP で SOAP リクエスト内でデータを送信する方法を教えてください。

4

1 に答える 1