如何在 PHP - CodeIgniter 中使用带有 XML 接口的 Web 服务?

问题描述

我尝试使用 CodeIgniter 3 使用 Web 服务,但找不到使用该服务的正确方法

使用 SOAP UI,输入的 XML 是这样的:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ext="http://www.servisoft.com.co/Mercurio/Servicios/Schema/ExternoV1">
   <soapenv:Header/>
   <soapenv:Body>
      <ext:RadicarExternoTipodocRequest>
         <ext:RadicExternoV1Request>
            <ext:idDestinatarioEntidad>526917048</ext:idDestinatarioEntidad>
            <ext:idTipoEntidadDestinatario>TE01</ext:idTipoEntidadDestinatario>
            <ext:idRemitente>TESTER</ext:idRemitente>
            <ext:idAsunto>017</ext:idAsunto>
            <ext:descripcionSolicitud>Description tester</ext:descripcionSolicitud>
         </ext:RadicExternoV1Request>
         <ext:idTipodocumento>017</ext:idTipodocumento>
         <!--Optional:-->
         <ext:campoDiferenciador>702</ext:campoDiferenciador>
      </ext:RadicarExternoTipodocRequest>
   </soapenv:Body>
</soapenv:Envelope>

代码 PHP 中,我使用了这个:

$this->load->library("Nusoap_lib");

$client = new nusoap_client('mi_url?wsdl','wsdl');
$err = $client->getError();
if ($err) {
    die( '<h2>Constructor error</h2><pre>' . $err . '</pre>');
}

    $params = [
                    "idDestinatarioEntidad" => '526917048',"idTipoEntidadDestinatario" => 'TE01',"idRemitente" => 'TESTER',"idAsunto" => '017',"descripcionSolicitud" => 'Descriptión TESTER',"idTipodocumento" => '017'

        ];

    $result = $client->call('radicExternoV2',$params);

    echo "<pre>";
    var_dump($result);
    echo "</pre>";

这次回归

["faultcode"]=>
  string(8) "S:Server"
  ["faultstring"]=>
  string(30) "java.lang.NullPointerException"

那么,知道 RadicExternoV1Request 在另一个上层标签内,我应该如何发送方法参数?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)