我有这个服务定义:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ven="VentaServicio" xmlns:ws="http://schemas.datacontract.org/2004/07/WS.Core" xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:def="http://schemas.datacontract.org/2004/07/Def.Erp.Venta.Business.Clases.VentaClases">
<soap:Header/>
<soap:Body>
<ven:GrabaVentaAnalisis>
<ven:sesion>
<ws:IDCliente>?</ws:IDCliente>
<ws:IDEmpresa>?</ws:IDEmpresa>
<ws:IDSesion>?</ws:IDSesion>
<ws:IDUsuario>?</ws:IDUsuario>
<ws:Token>?</ws:Token>
</ven:sesion>
<ven:venta>
<ws:DetallePago>
<!--Zero or more repetitions:-->
<ws:MedioPagado>
<ws:EmiteIngresoVenta>?</ws:EmiteIngresoVenta>
<ws:IDClasificador1>?</ws:IDClasificador1>
<ws:IDClasificador2>?</ws:IDClasificador2>
</ws:MedioPagado>
</ws:DetallePago>
<ws:Detalles>
<!--Zero or more repetitions:-->
<ws:VentaDetalle>
<ws:Cantidad>?</ws:Cantidad>
<ws:CodigoBarra>?</ws:CodigoBarra>
<ws:CodigoBarraProv>?</ws:CodigoBarraProv>
<ws:Comentario>?</ws:Comentario>
<ws:DescripcionArticulo>?</ws:DescripcionArticulo>
<ws:Descuento>?</ws:Descuento>
<ws:IDUnidadMedida>?</ws:IDUnidadMedida>
<ws:IdArticulo>?</ws:IdArticulo>
<ws:LineaDetalle>?</ws:LineaDetalle>
<ws:PrecioSinModificar>?</ws:PrecioSinModificar>
<ws:PrecioUnitario>?</ws:PrecioUnitario>
<ws:SubTotal>?</ws:SubTotal>
<ws:Tipo>?</ws:Tipo>
<ws:TipoDescuento>?</ws:TipoDescuento>
<ws:TotalImptos>?</ws:TotalImptos>
</ws:VentaDetalle>
</ws:Detalles>
<ws:Direccion>?</ws:Direccion>
<ws:Distrito>?</ws:Distrito>
<ws:DocumentID>?</ws:DocumentID>
<ws:Estado>?</ws:Estado>
<ws:Factoring>?</ws:Factoring>
<ws:Fecha>?</ws:Fecha>
<def:Detalles>
<!--Zero or more repetitions:-->
<ws:VentaDetalleAnalisis>
<ws:Cantidad>?</ws:Cantidad>
<ws:CodigoBarra>?</ws:CodigoBarra>
<ws:CodigoBarraProv>?</ws:CodigoBarraProv>
<ws:Comentario>?</ws:Comentario>
<ws:DescripcionArticulo>?</ws:DescripcionArticulo>
<ws:Descuento>?</ws:Descuento>
<ws:IDUnidadMedida>?</ws:IDUnidadMedida>
<ws:IdArticulo>?</ws:IdArticulo>
<ws:LineaDetalle>?</ws:LineaDetalle>
<ws:PrecioSinModificar>?</ws:PrecioSinModificar>
<ws:PrecioUnitario>?</ws:PrecioUnitario>
<ws:SubTotal>?</ws:SubTotal>
<ws:Tipo>?</ws:Tipo>
<ws:TipoDescuento>?</ws:TipoDescuento>
<ws:TotalImptos>?</ws:TotalImptos>
<ws:AsientoVenta>
<ws:Analisis>
<ws:DocNumero>?</ws:DocNumero>
<ws:DocSerie>?</ws:DocSerie>
<ws:DocVencimiento>?</ws:DocVencimiento>
<ws:IDCentroNegocio>?</ws:IDCentroNegocio>
<ws:IDClasificador1>?</ws:IDClasificador1>
<ws:IDClasificador2>?</ws:IDClasificador2>
<ws:IDFicha>?</ws:IDFicha>
<ws:IDTipoDocumento>?</ws:IDTipoDocumento>
</ws:Analisis>
<ws:Tipo>?</ws:Tipo>
<ws:idTipoVenta>?</ws:idTipoVenta>
</ws:AsientoVenta>
</ws:VentaDetalleAnalisis>
</def:Detalles>
<def:EsDocumentoTraspaso>?</def:EsDocumentoTraspaso>
</ven:venta>
</ven:GrabaVentaAnalisis>
</soap:Body>
</soap:Envelope>
我能够连接并正确地将数据发送到其他操作,但是该操作具有<def:Detalle>
和<ws:Detalle>
。
我无权修改此SOAP服务。
这是我的数据数组的样子:
$venta = [
'AsientoCliente' => [
'Analisis' => [
'IDFicha' => $this->invoice->customer_rut,
'IDTipoDocumento', 'XFVARSELECT'
],
'Tipo' => 'TipoCliente',
'idTipoCliente' => '02CTES_ECOMMERCE'
],
'AsientoVenta' => [
'Analisis' => [
'IDCentroNegocio' => 'BEKG01012000000',
'IDFicha' => '21.377.074-8',
'IDTipoDocumento' => 'XFVARSELECT'
],
'Tipo' => 'TipoVenta',
'idTipoVenta' => 'VENTAS'
],
'CondicionPago' => [
'CondicionPagoDoc' => [
'IdCondicionPago' => 'Contado'
]
],
'Detalles' => [
[
'VentaDetalle' => [
'Cantidad' => '1',
'CodigoBarra' => '123',
'CodigoBarraProv' => '123',
'Comentario' => 'None',
'DescripcionArticulo' => 'test',
'Descuento' => '0',
'IDUnidadMedida' => '1',
'IdArticulo' => 1,
'LineaDetalle' => 1,
'PrecioSinModificar' => 4034,
'PrecioUnitario' => 4034,
'SubTotal' => 4034,
]
]
],
'Fecha' => '2018-05-31',
'FechaVcto' => '2018-05-31',
'Folio' => 0,
'Glosa' => 'Venta Web #'.$this->invoice->number,
'IdCliente' => '15796090-3',
'IdContacto' => 0,
'IdListaPrecio' => 1,
'IdLocal' => 'ECOMMERCE',
'IdMoneda' => 'PESO',
'IdTipoDocumento' => 'XFVARSELECT', // XBOL, XFVAELECT
'IdVendedor' => 'INTERNET',
'Impuestos' => [
'ImpuestoDocumento' => [
'EsImpuestoEspecifico' => 'false',
'IdImpuesto' => 'IVA',
'Nombre' => 'IVA',
'Tipo' => 'PorcentajeFijo',
'Valor' => $this->invoice->total * env('VALOR_IVA')
]
],
'MontoExento' => 0,
'Subtotal' => $this->invoice->sub_total,
'Tasa' => 1,
'Total' => $this->invoice->total,
'TotalImpuestos' => $this->invoice->total * env('VALOR_IVA'),
'TotalRecargosDescuentosGlobal' => 0,
'TotalRecargosDescuentos' => 0,
'idTipoDocumentoSii' => $idTipoDocumentoSii,
'Detalles' => [
[
'VentaDetalleAnalisis' => [
'Cantidad' => 1,
'Descuento' => 0,
'IdArticulo' => 1,
'LineaDetalle' => 1,
'PrecioSinModificar' => 4034,
'PrecioUnitario' => 4034,
'SubTotal' => 4034,
'Tipo' => 'Articulo',
'TipoDescuento' => 'SinRd',
'AsientoVenta' => [
'Analisis' => [
'IDCentroNegocio' => 1
],
'Tipo' => 'LineaProducto',
'idTipoVenta' => 'CABASTHO'
]
]
],
]
'EsDocumentoTraspaso' => 'N'
];
显然,“详细信息”的第二项覆盖了第一项。我已经尝试了stackoverflow的一些建议,但似乎没有任何效果。
p.s:省略了XML文件的某些键,以提高阅读效果。