SUNAT bill服务与PHP集成的问题

时间:2015-04-17 18:51:42

标签: php service

我尝试使用SUNAT BillService" beta"网络服务,以测试我的应用程序。我发送虚拟账单/发票。 SUNAT指南在以下URL中给出: http://orientacion.sunat.gob.pe/index.php?option=com_content&view=article&id=1899:informacion-de-interes&catid=259:factura-electronica-desde-sistemas-contribuyente&Itemid=468

" beta"服务是: https://www.sunat.gob.pe/ol-ti-itcpgem-beta/billService

此服务需要发送虚拟凭据和以ZIP格式打包的XML文件。我做了但有一些问题,收到错误" 0101":"不正确的安全标题"

我使用SoapUI,其中包含billService的以下信息:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.sunat.gob.pe" xmlns:wsse="http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<soapenv:Header>
    <wsse:Security>
        <wsse:UsernameToken>
            <wsse:Username>20505819340MODDATOS</wsse:Username>
            <wsse:Password>moddatos</wsse:Password>
        </wsse:UsernameToken>
    </wsse:Security>
</soapenv:Header>
<soapenv:Body>
    <ser:sendBill>
        <fileName>20505819340-01-F001-1.zip</fileName>
        <contentFile>cid:20505819340-01-F001-1.zip</contentFile>
    </ser:sendBill>
</soapenv:Body>

其中:MODDATOS是服务的虚拟凭据。

提前致谢。

2 个答案:

答案 0 :(得分:0)

我采取了不同的方式解决了这一事件。 首先,服务无法使用SOAP工具进行测试,例如SoapUI。 其次,使用Php,字节数组中的zip文件无法发送,因为一些罕见的原因(可能是Php对SOAP协议附件的支持不足)。

所以我将语言改为C#,现在我可以测试一个虚拟文件到soap服务,我有一些(已解决的)问题,但我从服务中收到了成功的响应。

答案 1 :(得分:0)

这进入SOAP标头:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header>
        <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" SOAP-ENV:mustUnderstand="1">
            <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="XWSSGID-14736896964491689917771">
                <wsse:Username>[RUC]MODDATOS</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">MODDATOS</wsse:Password>
            </wsse:UsernameToken>
        </wsse:Security>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        ...
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>