1
私は石鹸のWebサービスにCreateOrderの方法で注文を作成しよう:この単純なコードでSoapClientエラーを解決します。「オブジェクト参照がオブジェクトのインスタンスに設定されていません。
http://80.72.84.109/MW/services/bilkiservice.asmx?wsdl
:
$soap = new SoapClient(MW_SOAP_URL, array(
"trace" => 1,
"exceptions" => 1
));
//set headers
$headerbody = array(
'Database' => MW_DATABASE,
'Username' => MW_USERNAME,
'Password' => MW_PASSWORD
);
$ns = 'http://tempuri.org/';
$header = new SoapHeader($ns, 'AuthenticationHeader', $headerbody);
$this->soap->__setSoapHeaders($header);
$orderInfo = array(
'OrderNumber' => 23344,
'Email' => '[email protected]',
'Delivery' => array(
'Name' => 'Peter',
'City' => 'LA',
'Post' => 1000,
'Address' => 'Test Street 1',
'Email' => '[email protected]',
'Phone' => '12345'
),
'PaymentType' => 2,
'Items' => array(
'OrderItem' => array(
'Code' => 3479,
'Quantity' => 1,
'TotalPrice' => 2.73
)
)
);
$soap->CreateOrder($orderInfo);
しかし、私はいつもこのエラーが出る:
object(stdClass)#5 (1) { ["CreateOrderResult"]=> object(stdClass)#6 (4) { ["ErrorMessage"]=> string(53) "Object reference not set to an instance of an object." ["ErrorCode"]=> int(-1) ["Errs"]=> object(stdClass)#7 (0) { } ["OrderID"]=> int(0) } }
私は他のメソッドCreateContragent
で新しいcontragentを作成しましたが、CreateOrder
は機能しませんでした。
配列データが間違っている可能性がありますか?しかし、私は多くの構成を試して何も動作しません。