如何将值发送到Web服务?

时间:2018-05-24 15:06:56

标签: xml web soap service client

如何使用Header创建要在以下结构中发送的参数?

我使用php将值发送到.net网络服务。我使用Boomerang扩展程序与Chrome一起工作正常;它以xml作为响应打印成功。

我使用我的localhost尝试了以下内容:

<?php
try{

$client = new SoapClient("http://test");

$auth = "<x:Header><ts><id>?</id><Idcliente>?</Idcliente><fecha>?</fecha> 
</ts><x:Header>";
$auth_block = new SoapVar( $auth, XSD_ANYXML, NULL, NULL, NULL, NULL );

class ServiceHeader{}
$serviceHeader = new ServiceHeader();
$serviceHeader->id = '?';
$serviceHeader->Idcliente = "?";
$serviceHeader->fecha = "?";

$header = new SoapHeader("http://test", "xxxx", $serviceHeader);
//$header = new SoapHeader( $ns, 'Header', $auth_block );
$client->__setSoapHeaders($header);

$params->Idcliente = '?';
$params->Idsolicitud = '?'; 
//etc   
$result = $client->AddObject($params)->AddObjectResponse;

}

catch(SoapFault $e)
{
    echo $e->getMessage();//Prints malformed petition from response
}
?>

这是Web服务期望收到的内容:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:tem="http://tempuri.org/" 
xmlns:aon="http://schemas.datacontract.org/2004/07/Aon.Policy.Model" 
xmlns:aon1=
"http://schemas.datacontract.org/2004/07/Aon.Policy.Model.Employee.Add">
<soapenv:Header>
<ts>{"id":"?TEST","IdCliente":"?TEST","fecha":"?TEST"} </ts> 
</soapenv:Header>
<soapenv:Body>
  <tem:AddObject>
     <!--Optional:-->
     <tem:request>
        <aon:IdCliente>648</aon:IdCliente>
        <aon:Fechamovimiento>2016-01-07T00:00:00-06:00</aon:Fechamovimiento>
        <aon:Fechasolicitud>2016-01-07T00:00:00-06:00</aon:Fechasolicitud>
        <aon:Idsolicitud>1</aon:Idsolicitud>
        <!--Optional:-->
        <aon1:employee>
           <aon1:TEST1/>
           <aon1:TEST2>0</aon1:TEST2>
           <aon1:TEST3/>
           <aon1:direccion>
              <aon:colonia/>
              <aon:numero/>
              <aon:codigopostal/>
              <aon:calle/>
           </aon1:direccion>
           <aon1:certificado>?</aon1:certificado>
           <aon1:TEST4>?</aon1:TEST4>
           <aon1:dependientes>
              <!--Zero or more repetitions:-->
              <aon:Dependiente>
                 <aon:certificado>?</aon:certificado>
                 <aon:Idcertificado>?</aon:Idcertificado>
                 <aon:TEST5>?</aon:TEST5>
                 <aon:genero>?</aon:genero>
                 <aon:TEST6>?</aon:TEST6>
                 <aon:apellido>?</aon:apellido>
                 <!--Optional:-->
                 <aon:segundoapellido>?</aon:segundoapellido>
                 <aon:nombre>?</aon:nombre>
              </aon:Dependiente>
           </aon1:dependientes>
           <aon1:TEST7>?</aon1:TEST7>
           <aon1:numerodearchivo>0</aon1:numerodearchivo>
           <aon1:genero>0</aon1:genero>
           <aon1:apellido>?</aon1:apellido>
           <!--Optional:-->
           <aon1:segundonombre/>
           <aon1:correo/>
           <aon1:estatusmatrimonial>?</aon1:estatusmatrimonial>
           <aon1:nombre>?</aon1:nombre>
           <aon1:Idpaquete>?</aon1:Idpaquete>
           <aon1:telefono/>
           <aon1:TEST8>?</aon1:TEST8>
        </aon1:employee>
     </tem:request>
  </tem:AddObject>
  </soapenv:Body>
  </soapenv:Envelope>

0 个答案:

没有答案