2009-08-27 48 views
3

所以我想包括我的SOAP請求以下XML:傳遞一個PHP數組中的SOAP調用

<Responses> 
    <Response> 
     <QuestionAnswerID>someint</QuestionAnswerID> 
     <QuestionID>someint</QuestionID> 
    </Response> 
    <Response> 
     <QuestionAnswerID>someint</QuestionAnswerID> 
     <QuestionID>someint</QuestionID> 
    </Response> 
</Responses> 

我看着this發佈,這是隱約在同一個話題,但它產生的輸出像這樣:

object(stdClass)#1 (1) { 
    ["Responses"]=> 
    object(stdClass)#2 (1) { 
     ["Response"]=> 
     array(2) { 
      [0]=> 
      object(stdClass)#3 (2) { 
       ["QuestionAnswerID"]=> 
       int(someint) 
       ["QuestionID"]=> 
       int(someint) 
      } 
      [1]=> 
      object(stdClass)#4 (2) { 
       ["QuestionAnswerID"]=> 
       int(someint) 
       ["SurveyQuestionID"]=> 
       int(someint) 
      } 
     } 
    } 
} 

問題是,數組現在有索引,我呼叫的Web服務似乎不喜歡。任何方式我可以生成像上面的XML?

TIA。

+0

有人剛剛發佈了這對我的問題之一.. http://meta.stackexchange.com/questions/686/...;) –

+0

快樂? :-)對不起... – benjy

+0

謝謝..我沒有這樣做過。猜猜我現在就開始。 –

回答

9

如果沒有帶WSDL的SOAP服務器進行測試,很難對其進行測試。您應該能夠創建關聯數組,像這樣:

$responses = array(); 
$responses[] = array("QuestionAnswerID" => someint, "QuestionID" => someint); 
$responses[] = array("QuestionAnswerID" => someint, "QuestionID" => someint); 

$response = array("Response" => $responses); 

$soapData = array("Responses" => $response);