Php 解决SoapClient错误:";对象引用未设置为对象的实例。”;
我尝试在soap web服务中使用CreateOrder方法创建订单: 使用以下简单代码:Php 解决SoapClient错误:";对象引用未设置为对象的实例。”;,php,web-services,soap,wsdl,Php,Web Services,Soap,Wsdl,我尝试在soap web服务中使用CreateOrder方法创建订单: 使用以下简单代码: $soap = new SoapClient(MW_SOAP_URL, array( "trace" => 1, "exceptions" => 1 )); //set headers $headerbody = array( 'Database' => MW_DATABASE, 'Use
$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' => 'test@test.com',
'Delivery' => array(
'Name' => 'Peter',
'City' => 'LA',
'Post' => 1000,
'Address' => 'Test Street 1',
'Email' => 'test@test.com',
'Phone' => '12345'
),
'PaymentType' => 2,
'Items' => array(
'OrderItem' => array(
'Code' => 3479,
'Quantity' => 1,
'TotalPrice' => 2.73
)
)
);
$soap->CreateOrder($orderInfo);
但我总是犯这样的错误:
我用另一种方法createcontract
成功地创建了新的contract,但是CreateOrder
不起作用
可能是阵列数据错误?但我尝试了很多配置,但都没有效果 这不是你的错,你的web服务不起作用。这是CreatingOrder函数的结果说明:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateOrderResponse xmlns="http://tempuri.org/">
<CreateOrderResult>
<Errs>
<ErrorItem>
<ErrorCode>int</ErrorCode>
<ErrorMessage>string</ErrorMessage>
<ItemNumber>int</ItemNumber>
</ErrorItem>
<ErrorItem>
<ErrorCode>int</ErrorCode>
<ErrorMessage>string</ErrorMessage>
<ItemNumber>int</ItemNumber>
</ErrorItem>
</Errs>
<OrderID>int</OrderID>
</CreateOrderResult>
</CreateOrderResponse>
</soap:Body>
</soap:Envelope>
int
一串
int
int
一串
int
int
这不是你的错,你的web服务没有工作。这是CreatingOrder函数的结果说明:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateOrderResponse xmlns="http://tempuri.org/">
<CreateOrderResult>
<Errs>
<ErrorItem>
<ErrorCode>int</ErrorCode>
<ErrorMessage>string</ErrorMessage>
<ItemNumber>int</ItemNumber>
</ErrorItem>
<ErrorItem>
<ErrorCode>int</ErrorCode>
<ErrorMessage>string</ErrorMessage>
<ItemNumber>int</ItemNumber>
</ErrorItem>
</Errs>
<OrderID>int</OrderID>
</CreateOrderResult>
</CreateOrderResponse>
</soap:Body>
</soap:Envelope>
int
一串
int
int
一串
int
int