2012-06-12 219 views
0

我試圖創建一個SOAP請求,將在部分具備以下條件:PHP SOAP客戶端的請求元素

<com:locale language="?" country="?"> 
        <com:descriptions> 

         <com:description type="?">This is a description</com:description> 
        </com:descriptions> 
        <com:marketingDescription>This is a marketing des</com:marketingDescription> 

我能夠就好使用以下添加的屬性:

function buildTask($db, $id=1) { 
$task = array(
    'id' => $id++, 
    'insertCustomProduct' => array(
            'manufacturerId' => "1234567", 
            'manufacturerPartNo' => "ABC12345", 

            'categoryId' => 10000000, 
            'categoryType' => 'default', 
            'skus' => array(
                'sku' => array(
                    'type' => 'Internal', 
                    'number' => "123456ff", 
                    ), 
                ), 
            'locales' => array(
                'locale' => array(
                    'language' => 'EN', 
                    'country' => 'US', 
                    'descriptions' => array(
                          'description' => array("type"=>1, 
                                "CustomDescription"=>"This is a test") 
                        ), 
      'marketingDescription' => "This is the test Marketing Text", 
     ), 
    ), 
    ) 
); 

我遇到了傳遞非屬性值(如實際說明和營銷文本)的問題

我將不勝感激任何幫助

回答

0

少量記錄的「_」數組鍵可以爲您提供部分XML的價值(可在here的評論中找到,並在SO here上提及)。在你的榜樣東西沿着這些路線 - 未經測試的課程:

function buildTask($db, $id=1) { 
$task = array(
    'id' => $id++, 
    'insertCustomProduct' => array(
     'manufacturerId' => "1234567", 
     'manufacturerPartNo' => "ABC12345", 
     'categoryId' => 10000000, 
     'categoryType' => 'default', 
     'skus' => array(
      'sku' => array(
       'type' => 'Internal', 
       'number' => "123456ff", 
       ), 
      ), 
     'locales' => array(
       'locale' => array(
       'language' => 'EN', 
       'country' => 'US', 
       'descriptions' => array(
        'description' => array("type"=>1, 
            "_"=>"This is a test") 
              ), 
       'marketingDescription' => array("_" => "This is the test Marketing Text"), 
      ), 
     ), 
    ) 
); 
+0

我已經試過這一點 - 但它似乎並沒有在所有 '「描述」 =>陣列( 「描述」 =>陣列工作( '_'=>'test Desc', 'type'=>'11') ), 'marketingDescription'=> array('_'=>「這是測試營銷文本」)' –

+0

也許一些更多有關如何構建SOAP請求的信息將有所幫助?你在使用SoapClient嗎?是否有WSDL? –

+0

是的我正在使用SOAP客戶端以及wsdl - 除了這一點,我能夠讓其他所有工作都能夠正常工作 - XML屬性生成良好 - 這只是我遇到問題時的非屬性值 –