我尝试使用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是服务的虚拟凭据。
提前致谢。
答案 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>