2017-01-09 6 views
0

PHPのnusoapレスポンスを実装するための助けが必要です。ここでNuSoap複雑なタイプの場合count +結果の配列

は私の関数が

Array 
(
    [total] => 8177 
    [results] => Array 
     (
      [0] => Array 
       (
        [id] => 340 
        [name] => Hamburg 
       ) 

      [1] => Array 
       (
        [id] => 344 
        [name] => Fos 
       ) 
     ) 
) 

は、今私は、XMLとしてこれを返す必要が返すものです。また<item xsi:type="xsd:">とすべての私の項目が文字列/文字列型です:あなたはSOAP-ENC:arrayType=":[1000]">(空の前に)見ることができるように関係なく、私は(基本的に推測)しようとした私は、

<total xsi:type="xsd:int">8177</total> 
    <results xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType=":[1000]"> 
     <item xsi:type="xsd:"> 
      <id xsi:type="xsd:string">340</id> 
      <name xsi:type="xsd:string">Hamburg</name> 
     </item> 

を取得していません。

ここで、私はこれまでのところコードを投稿して、うまくいけば誰かが問題を見つけることができます。

$server->register(
       "tankerPortsSearch", 
       [ 
        'name' => 'xsd:string', 
        'step' => 'xsd:int', 
        'page' => 'xsd:int', 
       ], 
       [ 
        'total' => 'xsd:int', 
        'results' => 'tns:responceArray' 
       ], 
       'urn:tankerPortsSearch', 
       'urn:tankerZonesTraffic#tankerPortsSearch', 
       'rpc', 
       'encoded', 
       'Tanker Ports Search' 
      ); 


      $server->wsdl->addComplexType('responceArrayData', 'complexType', 'struct', '', 'SOAP-ENC:Array', [ 
       'id' => array('name' => 'id', 'type' => 'xsd:int'), 
       'name' => array('name' => 'name', 'type' => 'xsd:string') 
      ]); 
      // ************************************************************************* 

      // Complex Array ++++++++++++++++++++++++++++++++++++++++++ 
      $server->wsdl->addComplexType('responceArray', 'complexType', 'array', 'squence', '', [], [ 
       [ 
        'ref'   => 'SOAP-ENC:arrayType', 
        'wsdl:arrayType' => 'tns:responceArrayData[]' 
       ] 
      ]); 
バックの時間後ので[OK]を

答えて

0

と私は右の応答を推測するために管理し転送する他の誰かがうまくいけば、私は助けるために管理nusoap複合型

$server->register("tankerPortsSearch", [ 
     'name' => 'xsd:string', 
     'step' => 'xsd:int', 
     'page' => 'xsd:int', 
    ], [ 
     'total' => 'xsd:int', 
     'results' => 'tns:responceArray' 
    ], 'urn:tankerPortsSearch', 'urn:tankerZonesTraffic#tankerPortsSearch', 'rpc', 'encoded', 'Tanker Ports Search'); 


$server->wsdl->addComplexType('responceArrayData', 'complexType', 'struct', '', '', [ 
    'id' => array('name' => 'id', 'type' => 'xsd:int'), 
    'name' => array('name' => 'name', 'type' => 'xsd:string') 
]); 
// ************************************************************************* 

// Complex Array ++++++++++++++++++++++++++++++++++++++++++ 
$server->wsdl->addComplexType('responceArray', 'complexType', 'array', '', '', [], [ 
    [ 
     'ref'   => 'SOAP-ENC:arrayType', 
     'wsdl:arrayType' => 'tns:responceArrayData[]', 
    ] 
], 'tns:responceArrayData'); 

で立ち往生している場合には、私はそれをここに掲載します誰か。

乾杯