PHP SOAP从Cisco NBR downloadNBRStorageFile API读取二进制响应,并从中创建.ARF文件

PHP SOAP从Cisco NBR downloadNBRStorageFile API读取二进制响应,并从中创建.ARF文件,php,laravel,api,soap,webex,Php,Laravel,Api,Soap,Webex,我正在尝试使用NBR API从WebEx服务器下载录音。当我运行downloadNBRStorageFile SOAP请求(使用postman)时,它以流中的webex记录进行响应 回应 当我在postman中检查API的响应时,它看起来是这样的: ------=_Part_633_1893304738.1500351436145 Content-Type: text/xml; charset=UTF-8 Content-Transfer-Encoding: binary Content-Id:

我正在尝试使用NBR API从WebEx服务器下载录音。当我运行downloadNBRStorageFile SOAP请求(使用postman)时,它以流中的webex记录进行响应

回应

当我在postman中检查API的响应时,它看起来是这样的:

------=_Part_633_1893304738.1500351436145
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: binary
Content-Id: 
<FFFA7DB08063F23702D0ECA3D281DCD3>
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <soapenv:Body>
            <ns1:downloadNBRStorageFileResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="NBRStorageService">
                <ns1:downloadNBRStorageFileReturn xsi:type="soapenc:Array" soapenc:arrayType="ns1:DataHandler[2]" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
                    <item href="cid:146662A992D4B0C9BDC471A0E338E684"/>
                    <item href="cid:0EFC5015D567DB498B49530FE4FABDD7"/>
                </ns1:downloadNBRStorageFileReturn>
            </ns1:downloadNBRStorageFileResponse>
        </soapenv:Body>
    </soapenv:Envelope>
------=_Part_633_1893304738.1500351436145
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
Content-Id:
    <146662A992D4B0C9BDC471A0E338E684>

Demo-20170424 0824-1.arf
5402
false
------=_Part_633_1893304738.1500351436145
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
Content-Id: 
        <0EFC5015D567DB498B49530FE4FABDD7>

X�\Y=XH���H��H�   XBW$HS��X#s3�=S��XXBW*x0Demo.3040047907   958102358�3s#O"f�P    IIMB Host
randomstrings�
            <random_strings>
                <random_string1>rIhldZZp3nPCGAwmt+L3kLKjBsgIygtgyuaBN26TN3E=</random_string1>
                <random_string2>lKxADufR/Rn3XX9djkuZqGIHmiQxaPqP2J39+bze1vY=</random_string2>
            </random_strings>lx2s    nbr_token1047388207:1493022291nbr_record_durationX��Snbr_starttime_ms�7�Sxesession_typec_session_idfc_pdvideo_idg[xe  ..  X  [xe`..�855 ?xhsession_typec_session_idi�xh`�
            <chat ver="1.0">
                <mtype>5</mtype>
                <NodeID>0</NodeID>
                <UserName>
                    <![CDATA[IIMB Host]]>
                </UserName>
                <RoleSet>3</RoleSet>
                <Visible>1</Visible>
                <UserType>0</UserType>
                <UIT>0</UIT>
                <GuestID>0</GuestID>
            </chat>gxjWBX_SESSION_USER_DATA_EUREKAsession_typec_session_idk7xj`
U33558529?xlsession_typec_session_idm/xl00Mjxl`=
            <user FG="6" KD="0" NM="IIMB Host" EM="****@**********.**" />�xnsession_typePRIVILEGE_TICKETJNEW_ENC_FORMAT_002RzH//wAAAATvfbFUoMwtWmGIzR9U5Yk2tUsgVMNFlzpXprogwKW1qw==FLASH_RSC_IDIMAGE_RSC_ID-xn`gxoWBX_SESSION_USER_DATA_EUREKAsession_typec_session_idpoxqWBX_SESSION_USER_DATA_EUREKAsession_typec_session_idrxx` IIMB Host   000.0.0.0���f�P�
            <CMgr ver="1.0">
                <UAID>37</UAID>
                <CS>6</CS>
                <FG>8288</FG>
                <PG>95055</PG>
                <EA>****@**********.**</EA>
                <UIT>0</UIT>
                <NBRCapability>1</NBRCapability>
                <CMRClientVersion>0</CMRClientVersion>
                <JMT>1493022269</JMT>
            </CMgr>x
xx!958102358,�NBR2EVERRUN4�NBR2_RECORD_VERSION2.33NBR2_Platform_FlagXp
NBR2Status2XQ

NBR2Status2Xz

NBR2Status2�R2s�XBW$HT��X#s3�HS��XXBW*XBW$HT��X#s3��S��XXBW*�H(F��
QuickStart������������������(��������������WPDFS46
�{������������������������
QuickStarteH(oW� Information�����������������((��������������H(p������������/��/�=��������U�/�=
������������������fH(pX�page 1�������������//���������ZH(pL���������������������)���������?XBW$HT��X#s3�HS��XXBW*XBW$HT��X#s3��S��XXBW*gHY
YO9{VO"�3s#,VmF7XvR8d049Hlf4302g1x7MUZEyah3G9Zw1l87U4UI=*5C$�Oj��P�h�gH�
YO9{VO"�3s#,VmF7XvR8d049Hlf4302g1x7MUZEyah3G9Zw1l87U4UI=*5C$�Oj��P�h�H
H�
H�(
H;4
H�?
H�K
XBW$HT��X#s3�HS��XXBW*XBW$HT��X#s3�S��XXBW*gH�
YDO9{VO"�3s#,VmF7XvR8d049Hlf4302g1x7MUZEyah3G9Zw1l87U4UI=*5C$�Oj��P�h�gH�
YDO9{VO"�3s#,VmF7XvR8d049Hlf4302g1x7MUZEyah3G9Zw1l87U4UI=*5C$�Oj��P�h�
------=_Part_633_1893304738.1500351436145--
----=\u零件\u 633\u 1893304738.1500351436145
内容类型:text/xml;字符集=UTF-8
内容传输编码:二进制
内容Id:
------=_零件_633_1893304738.1500351436145
内容类型:应用程序/八位字节流
内容传输编码:二进制
内容Id:
演示-201704240824-1.arf
5402
假的
------=_零件_633_1893304738.1500351436145
内容类型:应用程序/八位字节流
内容传输编码:二进制
内容Id:
X�\Y=XH���H��H�   XBW$HS��X#s3�=s��XXBW*x0Demo.3040047907 958102358�3s#O“f�IIMB主机
随机字符串�
RIHLDZP3NPCGAWMT+L3KLKJBSGIYGYUABN26TN3E=
lKxADufR/Rn3XX9djkuZqGIHmiQxaPqP2J39+bze1vY=
lx2s nbr_标记1047388207:1493022291 nbr_记录_持续时间X��开始时间�7.�Sxesession\u typec\u session\u idfc\u pdvideo\u idg[xe..X[xe`。。�855?XHU会话类型C会话idi�xh`�
5.
0
3.
1.
0
0
0
gxjWBX_会话_用户_数据_EUREKAsession_类型C_会话_idk7xj`
U33558529?xlsession_类型C_session_idm/xl00Mjxl`=
�xnsession_typePRIVILEGE_TICKETJNEW_ENC_FORMAT_002RzH//waaaatvffuomwtwmgizr9u5yk2tusgvmnflzpxprogwkw1qw==FLASH_RSC_IDIMAGE_RSC_ID-xongxowbx_SESSION_USER_EUREKAsession(typec)SESSION idrkx(用户数据(idpoxwbqwbx(SESSION uu用户(SESSION SESSION(ơ(Ƣ()40���F�P�
37
6.
8288
95055
****@**********.**
0
1.
0
1493022269
x
xx!958102358,�Nb2Verrun4�NBR2\U记录版本2.33NBR2\U平台\U标志XP
NBR2Status2XQ
Nb2Status2xZ
NBR2状态2�R2s�XBW$HT��X#s3�HS��XXBW*XBW$HT��X#s3��s��XXBW*�H(F)��
快速启动������������������(��������������WPDFS46
�{������������������������
快速入门(oW)� 问询处�����������������((��������������H(p������������/��/�=��������U�/�=
������������������fH(pX�第1页�������������//���������ZH(pL)���������������������)���������?XBW$HT��X#s3�HS��XXBW*XBW$HT��X#s3��s��XXBW*gHY
YO9{VO“�3s#,VmF7XvR8d049Hlf4302g1x7MUZEyah3G9Zw1l87U4UI=*5C$�Oj��P�H�生长激素�
YO9{VO“�3s#,VmF7XvR8d049Hlf4302g1x7MUZEyah3G9Zw1l87U4UI=*5C$�Oj��P�H�H
H�
H�(
H、 四,
H�?
H�K
XBW$HT��X#s3�HS��XXBW*XBW$HT��X#s3�s��XXBW*gH�
YDO9{VO“�3s#,VmF7XvR8d049Hlf4302g1x7MUZEyah3G9Zw1l87U4UI=*5C$�Oj��P�H�生长激素�
YDO9{VO“�3s#,VmF7XvR8d049Hlf4302g1x7MUZEyah3G9Zw1l87U4UI=*5C$�Oj��P�H�
------=_零件_633_1893304738.1500351436145--
响应标题是

Content-Type → multipart/related;
type="text/xml"; 
start="<6CD29D3FD60E4438F6DC0087CF25E12D>";
boundary="----=_Part_627_84395761.1500349931712"
Date →Tue, 18 Jul 2017 03:52:11 GMT
Transfer-Encoding →chunked
内容类型→ 多部分/相关;
type=“text/xml”;
start=“”;
boundary=“---=”零件号_627_84395761.1500349931712”
日期→2017年7月18日星期二03:52:11 GMT
传输编码→大块

如何从上述响应中创建.arf文件,并使用PHP获取上述响应中的文件名(Demo-20170424 0824-1.arf)?

使用composer安装PHP软件包,或者从中克隆。此软件包可用于连接到WebEx NBR API并从中下载录制内容

要解析WebEx中的多部分数据,请使用包


有关更多详细信息,请参阅的README.md部分。

我可以使用github.com/Riverline/multipart-parser包解析响应。您能否提供一个示例说明您是如何做到这一点的?然后我们可以标记此问题的答案。