肥皂+;XML+;PHP集成导致不兼容类型错误
我正在尝试SOAP集成SOAP,但我的XML不起作用 我尝试使用我的xml,如:肥皂+;XML+;PHP集成导致不兼容类型错误,php,xml,soap,Php,Xml,Soap,我正在尝试SOAP集成SOAP,但我的XML不起作用 我尝试使用我的xml,如: $xml = '<![CDATA[<EduPSInscricaoUsuarioArea > <SPSINSCRICAOAREAOFERTADA> <CODCOLIGADA>1</CODCOLIGADA> <IDPS>2</IDPS> <CODUSUARIOPS>0</CODUSUARIOPS> &l
$xml = '<![CDATA[<EduPSInscricaoUsuarioArea >
<SPSINSCRICAOAREAOFERTADA>
<CODCOLIGADA>1</CODCOLIGADA>
<IDPS>2</IDPS>
<CODUSUARIOPS>0</CODUSUARIOPS>
<NUMEROINSCRICAO>-1</NUMEROINSCRICAO>
<IDFORMAINSCRICAO>3</IDFORMAINSCRICAO>
<DATAINSCRICAO>2020-09-30T14:16:34</DATAINSCRICAO>
<NUMEROCARTAORESPOSTA></NUMEROCARTAORESPOSTA>
<CODMUNICIPIO>01108</CODMUNICIPIO>
<CODETDMUNICIPIO>GO</CODETDMUNICIPIO>
<STATUS>0</STATUS>...
就像这样:
$xml2 = [
'EduPSInscricaoUsuarioArea' => [
'DataServerName'=>'EduPSInscricaoUsuarioAreaData',
'SPSINSCRICAOAREAOFERTADA' => [
'CODCOLIGADA' => '1',
'IDPS' => '2',
'CODUSUARIOPS' => '0',
'NUMEROINSCRICAO' => '-1',
'IDFORMAINSCRICAO' => '3',
'DATAINSCRICAO' => '2020-09-30T14:16:34',
'NUMEROCARTAORESPOSTA' => '',...
以下是我的集成代码:
// Variavel para autenticar o login
$auth = array(
'login'=>'integracaoWS',
'password'=>'senhaaqui',
//'authentication'=> SOAP_AUTHENTICATION_BASIC,
'trace' => 1,
'exceptions'=>0
);
//$strxml = gettype($xml1); // Cria a variavel $strxml para verificar o tipo da variavel, certificando de que tipo é.
//$arraystring = implode("", $xml2);
try
{
//Realiza a conexão com o WSDL
$soapclient = new SoapClient('http://imec-tst-rm.totvscloud.com.br:8009/wsDataServer/MEX?wsdl',$auth);
// $params = array('DataServerName'=>'EduPSInscricaoUsuarioAreaData', 'XML'=> $xml,'Contexto'=>'CODCOLIGADA=1,CODFILIAL=1,CODUSUARIO=integracaoWS,CODSISTEMA=S');
$params = array('DataServerName'=>'EduPSInscricaoUsuarioAreaData', 'XML'=> implode($xml2),'Contexto'=>'CODCOLIGADA=1,CODFILIAL=1,CODUSUARIO=integracaoWS,CODSISTEMA=S');
// Envia o DataServerName, XML, e Contexto para o SaveRecord (Todos do tipo string)
$soapclient->SaveRecord($params);
// echo $strxml; // Essa variavel retorna o tipo da variavel $xml1, certificando que é do tipo string
//echo $arraystring;
print_r($params);
//echo $soapclient->__getTypes();
echo $soapclient->__getLastResponse(); // Mostra a Ultima Resposta
//echo $soapclient->__getLastRequest(); // Mostra o ultimo Request Enviado
}
catch (SoapFault $exception)
{
// Retorna o erro caso exista.
echo $exception->getMessage();
}
在变量$params
中,第一个和第三个参数正常,但第二个参数错误
这将返回错误:
Falha ao converver XML para Objeto DataSet, tipo incompativel.
=======================================
at RM.Con.Utils.Library.XmlToDataSet(String xmlContexto, Boolean checkRoot)
at RM.Con.Conector.ConWSDataServer.SaveRecord(String DataServerName, String XML, String UserName, String UserPassword, String contexto, String emailUsuarioContexto)
Falha ao converver XML para Objeto DataSet, tipo incompativel.
=======================================
at RM.Con.Utils.Library.XmlToDataSet(String xmlContexto, Boolean checkRoot)
at RM.Con.Conector.ConWSDataServer.SaveRecord(String DataServerName, String XML, String UserName, String UserPassword, String contexto, String emailUsuarioContexto)