我正在尝试使用SoapWithAttachments方法调用Web服务。我的客户端软件是JAVA,它使用Apache CXF从WSDL生成类。
运行它时,我在日志中打印SOAP请求,并发现缺少用于引用附件的CID前缀(“ cid:”)。附件有正确的content-id,但是缺少前缀。最后,服务器向我返回“空附件”错误。
有一个我的软件打印的SOAP请求示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Danish Shakeel</title>
<link rel="stylesheet" href="stylesheet.css">
</head>
<!--Progress Bar-->
<div class="header">
<div class="progress-container">
<div class="progress-bar" id="myBar"></div>
</div>
<script>
// When the user scrolls the page,execute myFunction
window.onscroll = function() {
myFunction()
};
function myFunction() {
var winScroll = document.body.scrollTop || document.documentElement.scrollTop;
var height = document.documentElement.scrollHeight - document.documentElement.clientHeight;
var scrolled = (winScroll / height) * 100;
document.getElementById("myBar").style.width = scrolled + "%";
}
</script>
<body>
<div class="lev1">
Level1
</div>
<div class="lev2">
Level2
</div>
</body>
</html>
请注意,附件确实存在,并且具有正确的Content-id(我认为),并且SOAP请求以明显正确的名称引用了该附件。但是“ cid:”前缀仍然丢失,我不知道如何添加它。
另一方面,如果我从此处将SOAP请求复制并粘贴到SOAP-UI,并添加“ cid:”前缀,并添加具有相同Content-id的附件,则请求将正确运行。