使用したい Web サービスに必要な正しい形式の XML ファイルを作成するのに問題があります。私はそれを行うためにnusoapクラスを使用しています。私が得ているエラー:
Array
(
[Reservation_Data] => Array
(
[Reservation_Value] => 0
[Status] => ERROR_Create_Internacional_Reservation: Object reference not set to an instance of an object. - 0
)
)
POST /Rentway_Internacional_Reservations_WS/Create_Reservation.asmx HTTP/1.0
Host: www.xxxxxxx.pt
User-Agent: NuSOAP/0.9.5 (1.123)
Content-Type: text/xml; charset=UTF-8
POST /Rentway_Internacional_Reservations_WS/Create_Reservation.asmx HTTP/1.0
Host: www.xxxxxxx.pt
User-Agent: NuSOAP/0.9.5 (1.123)
Content-Type: text/xml; charset=UTF-8
SOAPAction: http://www.xxxxxxx.pt/Rentway_Internacional_Reservations_WS/Create_Internacional_Reservation/Create_Internacional_Reservation
Content-Length: 714
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns3785="http://tempuri.org">
<SOAP-ENV:Body><Create_Internacional_Reservation xmlns="http://www.xxxxxxxxx.pt/Rentway_Internacional_Reservations_WS/Create_Internacional_Reservation">
<Reservation_Request>
<MessageType>N</MessageType>
<Group>01</Group>
..........................
</Reservation_Request>
</Create_Internacional_Reservation>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
私のコードは次のとおりです。
require_once('nu-soap/nusoap.php');
require_once('config.php');
$client = new nusoap_client('http://www.xxxxxxxxxx.pt/Rentway_Internacional_Reservations_WS/Create_Reservation.asmx?wsdl', true);
$param = array('Username'=>'xxx','Password'=>'xxx','MessageType'=>'N','Group'=>'01');
$result = $client->call('Create_Internacional_Reservation', array('Reservation_Request' => $param));
私が使用するように勧められたWebサービスのマニュアルでリクエストに関する情報を取得するとき、私が見つけることができる唯一の違いは次のとおりです。
場所:
Code (XML):
<Reservation_Request>
<MessageType>N</MessageType>
<Group>01</Group>
...........................
</Reservation_Request>
次のようにする必要があります。
<Reservation_Request xmlns="http://www.xxxxxx.pt/Rentway_Internacional_Reservations_WS/Reservation_Request.xsd" >
<MessageType>N</MessageType>
<Group>01</Group>
...........................
</Reservation_Request>
Reservation_Request 内で (xmlns="http://www.xxxxxx.pt/Rentway_Internacional_Reservations_WS/Reservation_Request.xsd" ) を送信するにはどうすればよいですか?