我是PHP和Web服务的新手。我需要将文件发送到Web服务,但我找不到正确的方法。 WS现在将文件作为变量(dh)从这样的java代码中获取:
QName qnameAttachment = new QName("xsd:ASCII");
call.registerTypeMapping(DataHandler.class, qnameAttachment, JAFDataHandlerSerializerFactory.class, JAFDataHandlerDeserializerFactory.class);
DataHandler dh = new DataHandler(new FileDataSource(this.idh));
然后将dh变量发送到WS(SOAP调用),WS生成此XML标记:
<dh href="cid:2643CE40EEF7B2F167ED283AE8BC6326" xsi:type="xsd:ASCII"/>
我现在正在尝试用PHP编写代码,但是我找不到正确的解决方案。我尝试通过“base64_encode”函数对文件进行编码:
$dh = base64_encode($tarfile);
$ dh假设一个类似于“cnwicubnweiv87723re2”的值。 然后我尝试将$ dh变量作为普通字符串传递给WS,但这是结果:
<dh> cnwicubnweiv87723re2 </dh>
WS不会将变量识别为标记的属性。 我明确错误地发送$ dh作为普通字符串,我不知道如何传递它让WS知道将它用作属性。
有人能帮助我吗?