Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web services 如何使用MTOM-XOP概念在服务器端处理OmeElement?_Web Services_Axis2_Axiom - Fatal编程技术网

Web services 如何使用MTOM-XOP概念在服务器端处理OmeElement?

Web services 如何使用MTOM-XOP概念在服务器端处理OmeElement?,web-services,axis2,axiom,Web Services,Axis2,Axiom,我可以使用MTOM-XOP by value概念上传图像。之后,我尝试使用MTOM-XOP by Reference概念上传相同的图像(XOP:Include)。我能够编写客户端程序并生成OmeElement并将其传递给服务。但我在这里进行了尝试。我不知道如何处理引用的图像并将其写入指定的文件夹。我在谷歌上搜索,但找到了许多按值概念和SWA概念的示例和解决方案。请为我提供指导或示例程序在服务器端处理OMElement OmeElement: <fd:upload xmlns:fd="htt

我可以使用MTOM-XOP by value概念上传图像。之后,我尝试使用MTOM-XOP by Reference概念上传相同的图像(XOP:Include)。我能够编写客户端程序并生成OmeElement并将其传递给服务。但我在这里进行了尝试。我不知道如何处理引用的图像并将其写入指定的文件夹。我在谷歌上搜索,但找到了许多按值概念和SWA概念的示例和解决方案。请为我提供指导或示例程序在服务器端处理OMElement

OmeElement:

<fd:upload xmlns:fd="http://mtom.sample.com"><fd:fileName>dog</fd:fileName><fd:fileType>jpg</fd:fileType><fd:fileContent><axis2ns1:Include xmlns:axis2ns1="http://www.w3.org/2004/08/xop/include" href="dc88fd5aa40a7cbdd01c18b97c1202008f2f09ebaf2cf2f3@apache.org" /></fd:fileContent></fd:upload>
dogjpg
如何处理href属性以及我在解决方案中找到的

ArrayList<OMElement> xops =AttachmentUtils.findXopElements(element);
        if (xops != null && xops.size() > 0) {
            logFile("Found XOP:Include Elements\n");
        }
        QName href = new QName("","href");
        Iterator<OMElement> itr = xops.iterator();
        while (itr.hasNext()) {
            OMElement xop = itr.next();
            String cid = xop.getAttributeValue(href);
            logFile("CID :"+cid+"\n");
        }
ArrayList xops=AttachmentUtils.findXopElements(元素);
如果(xops!=null&&xops.size()>0){
日志文件(“找到的XOP:包含元素\n”);
}
QName href=新的QName(“,”href”);
迭代器itr=xops.Iterator();
while(itr.hasNext()){
OMElement xop=itr.next();
字符串cid=xop.getAttributeValue(href);
日志文件(“CID:+CID+”\n”);
}
但这部分不是在服务器端执行的,请给我们一些指导


谢谢。

Axiom使用OMText节点表示XOP/MTOM附件,isBinary()返回true。这样的节点是为原始消息中的每个xop:Include元素创建的。在这里描述的例子中,我们将检索fd:fileContent元素的第一个子元素,将其转换为OMText,然后对该对象调用getDataHandler()。返回的DataHandler允许访问附件的内容