2017-01-22 71 views
-1

使用SoapUI,我从我的webService获得正确的响应。 但是我有一个异常时,我尝试从PHPwebservice:将xml转换为php数组

这是我的代码:

$mysoap = new SoapClient($wsdlFile,array('trace' => 1)); 

$result = $mysoap->__call("Myfunction", array("parameters" => array('Entry' => $Entry,'Parm' => $data))); 

这是我的$数据,不正确的是(INFOVALUE)

$data = array('appName' => 'Globe', 
       'exitUrl' => '' , 
       'redirectError' => '', 
       'sessionId' => '' , 
       'addInfo' => array(
        'Info'=> array(
          'InfoName' => 'CLIENT_LAYOUT', 
          'InfoValue' => ' 
            <![CDATA[ 
            <cartSession xmlns:ns2="com.camel.business.xml.settingsTree-7.1.0.0" xmlns:ns4="com.camel.business.xml.cameleonTree-7.2.0.0" xmlns:ns3="com.camel.business.xml.configurationTree-7.1.0.0"> 
             <cartSessionSettings> 
              <operationType>createCart</operationType> 
              <lazyLoading>YES</lazyLoading> 
              <cartDomainId>-</cartDomainId> 
              <cartId>CATALOGUE_ON_LINE</cartId> 
              <cartRelease>1</cartRelease> 
              <modelName>Default</modelName> 
              <modelRelease>1</modelRelease> 
              <layout>cpqUI</layout> 
              <language>FR</language> 
              <currency>EUR</currency> 
              <targetURL>/cartApp.do</targetURL> 
              <redirectModeOnClose>inside</redirectModeOnClose> 
              <userGroup>SalesRep</userGroup> 
              <userId>admin</userId> 
              <admin</userName> 
              <ownerGroup>SalesRep</ownerGroup> 
              <ownerId>admin</ownerId> 
              <ownerName>admin</ownerName> 
              <applyDate>20161020 120000</applyDate> 
              <initAction name="CatalogList"> 
              <param id="catalogServiceNames" value="CATALOGUE_PRODUITS"/> 
              </initAction> 
             </cartSessionSettings> 
             <customSettings> 
             </customSettings> 
             <connectorsData> 
              <services> 
              <service id="CATALOGUE_PRODUITS" type="edgeConfigurator"> 
               <param id="CPE.Settings.Session.ModelVersion" value=""/> 
              </service> 
              </services> 
             </connectorsData> 
            </cartSession>]]>' 
        ) 
       ) 
     ); 

我怎么能转换“INFOVALUE '在PHP上。

这是INFOVALUE要求,

<ns3:Info> <ns3:InfoNom>CLIENT_LAYOUT</ns3:InfoNom> <ns3:InfoValue>&#13; &lt;![CDATA[&#13; &lt;cartSession xmlns:ns2="com.camel.business.xml.settingsTree-7.1.0.0" xmlns:ns4="com.camel.business.xml.camelTree-7.2.0.0" xmlns:ns3="com.camel.business.xml.configurationTree-7.1.0.0"&gt;&#13; &lt;cartSessionSettings&gt;&#13; &lt;operationType&gt;createCart&lt;/operationType&gt; &#13; &lt;lazyLoading&gt;YES&lt;/lazyLoading&gt;&#13; &lt;cartDomainId&gt;-&lt;/cartDomainId&gt;&#13; &lt;cartId&gt;CATALOGUE_EN_LIGNE&lt;/cartId&gt;&#13; &lt;cartRelease&gt;1&lt;/cartRelease&gt; &#13; &lt;modelName&gt;Default&lt;/modelName&gt;&#13; &lt;modelRelease&gt;1&lt;/modelRelease&gt;&#13; &lt;layout&gt;cpqUI&lt;/layout&gt; &#13; &lt;language&gt;FR&lt;/language&gt;&#13; &lt;currency&gt;EUR&lt;/currency&gt;&#13; &lt;targetURL&gt;/cartApp.do&lt;/targetURL&gt; &#13; &lt;redirectModeOnClose&gt;inside&lt;/redirectModeOnClose&gt; &#13; &lt;userGroup&gt;SalesRep&lt;/userGroup&gt; &#13; &lt;userId&gt;admin&lt;/userId&gt; &#13; &lt;userName&gt;The administrator&lt;/userName&gt; &#13; &lt;ownerGroup&gt;SalesRep&lt;/ownerGroup&gt;&#13; &lt;ownerId&gt;admin&lt;/ownerId&gt; &#13; &lt;ownerName&gt;The administrator&lt;/ownerName&gt; &#13; &lt;applyDate&gt;20161129 120000&lt;/applyDate&gt; &#13; &lt;initAction name="CatalogList"&gt;&#13; &lt;param id="catalogServiceNames" value="CATALOGUE_PRODUITS"/&gt; &#13; &lt;/initAction&gt;&#13; &lt;/cartSessionSettings&gt;&#13; &lt;customSettings&gt;&#13; &lt;/customSettings&gt;&#13; &lt;connectorsData&gt;&#13; &lt;services&gt;&#13; &lt;service id="CATALOGUE_PRODUITS" type="edgeConfigurator"&gt; &#13; &lt;param id="CPE.Settings.Session.ModelVersion" value=""/&gt;&#13; &lt;/service&gt;&#13; &lt;/services&gt;&#13; &lt;/connectorsData&gt;&#13; &lt;/cartSession&gt;]]&gt;</ns3:InfoValeur> 

INFOVALUE没有逃脱XML代码remplaced

+0

好的......现在你的问题是什么? –

+0

我的问题是如何更改或转换“infoValue”来解释为一个php数组 – WebDev

+0

你不知道。它是XML片段(CDATA部分)内的XML字符串,将其作为字符串读取并使用XML API来解析它。 – ThW

回答

0

非常感谢 最后其工作 我只是删除,用于逃脱XML。 祝你有个美好的一天