1

我是 PHP 和 Web 服务的新手。我需要将文件发送到 Web 服务,但我找不到正确的方法。WS 现在将文件作为来自 java 代码的变量 (dh),如下所示:

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 知道将其用作属性。

有人能帮助我吗?

4

0 回答 0