2012-07-31 2 views
0

의 하위 기능을 얻을, 나는 $shippingAddress->AddressLine1()어떻게 vtiger 통합에 아마존 작업입니다 PHP

같은 하위 기능 항목에 액세스 할

if ($order->isSetShippingAddress()) { 
    echo("      ShippingAddress\n"); 
    $shippingAddress = $order->getShippingAddress(); 
    if ($shippingAddress->isSetName()) { 
     echo("       Name\n"); 
     echo("        " . $shippingAddress->getName() . "\n"); 
    } 
    if ($shippingAddress->isSetAddressLine1()) { 
     echo("       AddressLine1\n"); 
     echo("        " . $shippingAddress->getAddressLine1() . "\n"); 
    } 

처럼 아마존 MWS 클라이언트 라이브러리에서 코드 조각 외모 내 코드는 내가이 때
$module   = 'Invoice'; 
$shippingAddress = $order->getShippingAddress(); 
$orderTotal  = $order->getOrderTotal(); 
$record   = $client->doCreate($module,Array(

                'subject' => $order->getAmazonOrderId(), 
                'customerno'=> $order->getAmazonOrderId(), 
                bill_city' => $shippingAddress->getAddressLine1(), 
                'bill_state'=> $shippingAddress->getStateOrRegion(), 
                'bill_code' => $shippingAddress->getPostalCode(), 

처럼, 내가 얻을 보이는 오류

치명적 오류 : 비 객체에서 getAddressLine1() 멤버 함수를 호출하십시오.

이 범위 오류입니까 ?? $ shippingAddress의 subfunction을 어떻게 사용할 수 있습니까 ?? 여기 RAW_DUMP 의

도움 제발

전체 코드

function invokeListOrders(MarketplaceWebServiceOrders_Interface $service, $request) 
    { 
     try { 
       $response = $service->listOrders($request); 

       if ($response->isSetListOrdersResult()) { 
        echo("   ListOrdersResult\n"); 
        $listOrdersResult = $response->getListOrdersResult(); 

        if ($listOrdersResult->isSetOrders()) { 
         echo("    Orders\n"); 
         $orders = $listOrdersResult->getOrders(); 
         $orderList = $orders->getOrder(); 
         foreach ($orderList as $order) { 
          $shippingAddress = $order->getShippingAddress(); 
    include_once('vtwsclib/Vtiger/WSClient.php');      
$url = 'http://vijayholdings.com/admin'; 
$client = new Vtiger_WSClient($url); 
$login = $client->doLogin('admin', 'MYSECRETKEY'); 
if(!$login) echo 'Login Failed';        
      else{ 
        $module = 'Invoice'; 
        $shippingAddress = $order->getShippingAddress(); 
        $orderTotal = $order->getOrderTotal(); 
        $record = $client->doCreate($module,Array(

      'subject'=>$order->getAmazonOrderId(), 
      'customerno'=>$order->getAmazonOrderId(), 
      'invoicestatus'=>'Credit Invoice',/* 
      'assigned_user_id'=>'spatel', 
      'currency_id'=>'1', 
      'conversion_rate'=>'1', not working*/ 
      'bill_street'=>$order->getShippingAddress(),/* 
      'bill_city'=>$shippingAddress->getCity(), 
      'bill_state'=>$shippingAddress->getStateOrRegion(), 
      'bill_code'=>$shippingAddress->getPostalCode(), 
      'bill_country'=>$order->$shippingAddress->getCounty(), */ 
      'cf_652'=>'Deepdiscounts.co Amazon FBA',/* 
      'cf_653'=>$shippingAddress->getPhone(), 
      'cf_656'=>$shippingAddress->getAddressLine2(), */ 
      'cf_660'=>$order->getShipServiceLevel(), 
      'cf_658'=>$order->getSalesChannel(), 
      'cf_661'=>$order->getFulfillmentChannel(), 
      'cf_663'=>$order->getBuyerName(),  
      'cf_659'=>$order->getBuyerEmail(), 
      'cf_662'=>$order->getPaymentMethod() 
     )); 
      } 
    if($record) { 
     $recordid = $client->getRecordId($record['id']); 
    echo "The id is ".$recordid; 
    } 


       } 
       } 
       } 

    } catch (MarketplaceWebServiceOrders_Exception $ex) { 
     echo("Caught Exception: " . $ex->getMessage() . "\n"); 
     echo("Response Status Code: " . $ex->getStatusCode() . "\n"); 
     echo("Error Code: " . $ex->getErrorCode() . "\n"); 
     echo("Error Type: " . $ex->getErrorType() . "\n"); 
     echo("Request ID: " . $ex->getRequestId() . "\n"); 
     echo("XML: " . $ex->getXML() . "\n"); 
     echo("ResponseHeaderMetadata: " . $ex->getResponseHeaderMetadata() . "\n"); 
    } 

출력은 ONE 판매 주문하는 내가

(1) { ["_fields:protected"]=> array(11) { ["Name"]=> array(2) { ["FieldValue"]=> string(16) "Jason A. Stewart" ["FieldType"]=> string(6) "string" } ["AddressLine1"]=> array(2) { ["FieldValue"]=> string(15) "101 Young Drive" ["FieldType"]=> string(6) "string" } ["AddressLine2"]=> array(2) { ["FieldValue"]=> NULL ["FieldType"]=> string(6) "string" } ["AddressLine3"]=> array(2) { ["FieldValue"]=> NULL ["FieldType"]=> string(6) "string" } ["City"]=> array(2) { ["FieldValue"]=> string(6) "Smyrna" ["FieldType"]=> string(6) "string" } ["County"]=> array(2) { ["FieldValue"]=> NULL ["FieldType"]=> string(6) "string" } ["District"]=> array(2) { ["FieldValue"]=> NULL ["FieldType"]=> string(6) "string" } ["StateOrRegion"]=> array(2) { ["FieldValue"]=> string(2) "TN" ["FieldType"]=> string(6) "string" } ["PostalCode"]=> array(2) { ["FieldValue"]=> string(5) "37167" ["FieldType"]=> string(6) "string" } ["CountryCode"]=> array(2) { ["FieldValue"]=> string(2) "US" ["FieldType"]=> string(6) "string" } ["Phone"]=> array(2) { ["FieldValue"]=> string(10) "6152231070" ["FieldType"]=> string(6) "string" } } }

+0

음, 난 확실하지 오전하지만 난 당신이 여기 견적을 누락 생각 : [여기] bill_city ' –

+0

내가 –

답변

0

모든이 일하고 LIST를 형성 의미는 귀하의 $shippingAddress var에 그 안에있는 물건. getShippingAddress()에 대한 전화가 실패했을 수 있습니다.

여기에있는 내용을 보려면 var_dump($shippingAddress)을 참조하십시오.

bill_city' => $shippingAddress->getAddressLine1(), 

'bill_city' => $shippingAddress->getAddressLine1(), 

괜찮은 IDE를 얻을 수 있어야 당신은 구문 오류가

+0

위해서 var_dump를 작동하지 않는 부분을 댓글을 달았은, 주소 –

+0

@NewBee 있다는 것을 보여줍니다 그게 배열이 아니라 객체라는 것이 확실합니까? 나는 당신이 약간의 논평에서 이것을 끔찍하게 포맷 했으므로 말할 수 없습니다. 귀하의 질문에'var_dump()'의 원시 출력을 게시하십시오. – Brad

+0

붙여 넣기 var_dump 결과가 –

2

는 광산은 몇 초에서 그것을 집어 들었다.

IDE Picking up syntax error

+0

입니다. 죄송합니다. –

+0

이이 phpstorm입니까? – joschua011

+0

@ joschua011 : 그렇습니다. –