$soapclient = new soapclient("http://shippingapi.ebay.cn/production/v2/orderservice.asmx?wsdl");$params = array(
'Version' => "2.0.0",
'APIDevUserID' => "sureelectronics",
'APIPassword' => "7114209N1OCBA61N83CRA0PY1F743DSGTM7GEAY581CND3BHG0POUW20111540",
'APISellerUserID' => "sureelectronics",
'MessageID' => "125625622452",
'TrackCode' => "LK042013892CN"
);
$functions = $soapclient->CancelAPACShippingPackage($params);print_r($functions);
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ship="http://shippingapi.pushauction.net/">
<soap:Header/>
<soap:Body>
<ship:CancelAPACShippingPackage>
<ship:CancelAPACShippingPackageRequest>
<ship:Version>2.0.0</ship:Version>
<ship:APIDevUserID>****</ship:APIDevUserID>
<ship:APIPassword>********</ship:APIPassword>
<ship:APISellerUserID>*******</ship:APISellerUserID>
<ship:MessageID>1234</ship:MessageID>
<ship:TrackCode>LK*********CN</ship:TrackCode>
</ship:CancelAPACShippingPackageRequest>
</ship:CancelAPACShippingPackage>
</soap:Body>
</soap:Envelope>为什么为出错啊,出错如下:
<b>Fatal error</b>: Uncaught SoapFault exception: [soap:Server] System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at WebServiceCN.OrderService.CancelAPACShippingPackage(CancelAPACShippingPackageRequest CancelAPACShippingPackageRequest)
'Version' => "2.0.0",
'APIDevUserID' => "sureelectronics",
'APIPassword' => "7114209N1OCBA61N83CRA0PY1F743DSGTM7GEAY581CND3BHG0POUW20111540",
'APISellerUserID' => "sureelectronics",
'MessageID' => "125625622452",
'TrackCode' => "LK042013892CN"
);
$functions = $soapclient->CancelAPACShippingPackage($params);print_r($functions);
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ship="http://shippingapi.pushauction.net/">
<soap:Header/>
<soap:Body>
<ship:CancelAPACShippingPackage>
<ship:CancelAPACShippingPackageRequest>
<ship:Version>2.0.0</ship:Version>
<ship:APIDevUserID>****</ship:APIDevUserID>
<ship:APIPassword>********</ship:APIPassword>
<ship:APISellerUserID>*******</ship:APISellerUserID>
<ship:MessageID>1234</ship:MessageID>
<ship:TrackCode>LK*********CN</ship:TrackCode>
</ship:CancelAPACShippingPackageRequest>
</ship:CancelAPACShippingPackage>
</soap:Body>
</soap:Envelope>为什么为出错啊,出错如下:
<b>Fatal error</b>: Uncaught SoapFault exception: [soap:Server] System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at WebServiceCN.OrderService.CancelAPACShippingPackage(CancelAPACShippingPackageRequest CancelAPACShippingPackageRequest)
而
[14] => struct CancelAPACShippingPackage {
CancelAPACShippingPackageRequest CancelAPACShippingPackageRequest;
}
[15] => struct CancelAPACShippingPackageRequest {
string TrackCode;
}在所有的参数结构里,都没有你给的那样的。
最接近的是
[2] => struct BaseRequest {
string Version;
string APIDevUserID;
string APIPassword;
string APISellerUserID;
string MessageID;
}
我调用的方法是:CancelAPACShippingPackage他所需要的参数是:
<ship:CancelAPACShippingPackageRequest>
<ship:Version>2.0.0</ship:Version>
<ship:APIDevUserID>****</ship:APIDevUserID>
<ship:APIPassword>********</ship:APIPassword>
<ship:APISellerUserID>*******</ship:APISellerUserID>
<ship:MessageID>1234</ship:MessageID>
<ship:TrackCode>LK*********CN</ship:TrackCode>
</ship:CancelAPACShippingPackageRequest>
</ship:CancelAPACShippingPackage>
请问一下,这个参数怎么传递啊,或能一个简单的样例代码么?
print_r($soapclient->CancelAPACShippingPackage(array('CancelAPACShippingPackageRequest' => array('TrackCode' => "LK042013892CN"))));stdClass Object
(
[CancelAPACShippingPackageResult] => stdClass Object
(
[Ack] => Failure
[Message] => Invalid Web Service version
[Timestamp] => 2011-04-22T18:28:50.377625+08:00
)
)
您只需传递决定单号 'TrackCode'
[Message] => Invalid Web Service version
'Version' => "2.0.0",
'APIDevUserID' => "sureelectronics",
'APIPassword' => "7114209N1OCBA61N83CRA0PY1F743DSGTM7GEAY581CND3BHG0POUW20111540",
'APISellerUserID' => "sureelectronics",
'MessageID' => "125625622452",
'TrackCode' => "LK042013892CN"
);$functions = $soapclient->CancelAPACShippingPackage(array("CancelAPACShippingPackageRequest"=>$params));
print_r( $functions);
结果:stdClass Object
(
[CancelAPACShippingPackageResult] => stdClass Object
(
[Version] => 2.0.0
[Ack] => Failure
[Message] => This eBay account must be SELLER UPLOAD in preference in order to use API.
[Timestamp] => 2011-04-22T20:07:37.83075+08:00
[InvocationID] => 125625622452
))google 出错信息This eBay account must be SELLER. UPLOAD in preference in order to use API.
表示:
用户需要在习惯设定设为“手工上传订单或API”才可以使.
stdClass Object
(
[AddAPACShippingPackageResult] => stdClass Object
(
[Ack] => Failure
[Message] => Invalid Web Service version
[Timestamp] => 2011-04-23T10:18:41.20575+08:00
)
)
我的代码:$soapclient = new soapclient("http://shippingapi.ebay.cn/production/v2/orderservice.asmx?wsdl");$params0 = array(
'Version' => "2.0.0",
'APIDevUserID' => "sureelectronics",
'APIPassword' => "7114209N1OCBA61N83CRA0PY1F743DSGTM7GEAY581CND3BHG0POUW20111540",
'APISellerUserID' => "sureelectronics",
);$params1 = array(
'Email' => "[email protected]",
'Company' => "TEST",
'Country' => "TEST",
'Province' => "TEST",
'City' => "TEST",
'District' => "TEST",
'Street' => "TEST",
'Postcode' => "231400",
'Contact' => "150456823",
'Mobile' => "1505486054",
'Phone' => "0256523652"
);
$params2 = array(
'Contact' => "[email protected]",
'Company' => "TEST",
'Street' => "TEST",
'District' => "TEST",
'City' => "TEST",
'Province' => "TEST",
'Postcode' => "TEST",
'Country' => "231400",
'Email' => "150456823",
'Mobile' => "1505486054"
);
$params3 = array(
'Email' => "[email protected]",
'Company' => "TEST",
'Contact' => "TEST",
'Phone' => "TEST",
'Street' => "TEST",
'City' => "TEST",
'Province' => "TEST",
'Postcode' => "231400",
'Country' => "United States",
'CountryCode' => "US"
);$params4 = array(
'CurrencyCode' => "[email protected]",
'EBayEmail' => "[email protected]",
'EBayBuyerID' => "TEST",
'EBayItemID' => "TEST",
'EBayItemTitle' => "TEST",
'EBayMessage' => "TEST",
'EBaySiteID' => "1",
'EBayTransactionID' => "231400",
'Note' => "United States",
'PaymentDate' => "256",
'PayPalEmail' => "256",
'PayPalMessage' => "256",
'PostedQTY' => "256",
'SalesRecordNumber' => "256",
'SoldDate' => "256",
'SoldPrice' => "256",
'SoldQTY' => "256",
'SKU' => "256"
);
$params5 = array(
'SKUID' => "256",
'Weight' => 256,
'CustomsTitleCN' => "TEST",
'CustomsTitleEN' => "TEST",
'DeclaredValue' => 11,
'OriginCountryName' => "United States",
'OriginCountryCode' => "US"
);$totalparams = array(
array("BaseRequest"=>$params0),
array("PickUpAddress"=>$params1),
array("ShipFromAddress"=>$params2),
array("ShipToAddress"=>$params3),
array("EMSPickUpType"=>1),
array("Item"=>$params4),
array("SKU"=>$params5),
);
$params = array("AddAPACShippingPackageRequest"=>$totalparams);$functions = $soapclient->AddAPACShippingPackage($params);print_r($functions);