java - 通过将 XML 文件解析为 SOAPMessage,使用 javax.xml.soap API 构建更大的 SOAP 请求

标签 java xml soap request

我有一个带有 SOAP 请求的 XML 文件,其中包含大约 150 多个句子,我想通过 javax.xml.soap API 在我的 JavaProject 中发送此 SOAP 请求。因此,通常您可以使用以下过程构建 SOAP 请求:

SOAPBody soapBody = envelope.getBody();
        SOAPElement soapServiceElem = soapBody.addChildElement("SomeRandomServiceName", "int");
        SOAPElement soapInputMetaDataElem = soapServiceElem.addChildElement("inputMetaData");
        SOAPElement soapVersionElem = soapInputMetaDataElem.addChildElement("version");
        SOAPElement soapVersionText = soapVersionElem.addTextNode("V_1");
        ...

等等..但是如果我想构建更大的 SOAP 请求,这似乎有点太多了。是否有另一种“更好”的方法来构建 SOAP 请求?是否可以选择将 XML 文件作为 String 并将其解析为 SOAPMessage ?是否有类似内置函数的东西可以将 String 解析为 SOAPMessage 或者我必须编写自己的函数?

或者甚至更好:是否可以将请求 XML 文件放在我的项目目录中,然后将其作为 SOAP 请求发送?如果是这样,怎么办?

最佳答案

假设您的请求位于 request.xml 中。您可以执行以下操作:

org.w3c.Document document = //read dom from request.xml
soapBody.addDocument(document);

有关更多详细信息,请参阅SoapBody#addDocument(Document)

关于java - 通过将 XML 文件解析为 SOAPMessage,使用 javax.xml.soap API 构建更大的 SOAP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31693750/

相关文章:

node.js - Nodejs 中范围的组合复杂过滤器

java - 如何加载 N-Triples 模型并从 RDF 文件中获取 namespace ?(新手)

python - odoo TreeView 默认不显示所有记录

java - 计算 vector int[]中 "0"位置之间的 "1"位置总数

java - Java中char数组的和

c# - 有没有办法删除*仅* xmlns :xsd namespace when serializing a XML?

java - Grails 和消费 SOAP 网络服务

Java:简单的 SOAP 客户端

java - 使用 Apple (Netty) 的 ServiceTalk 作为 RESTful API 与 Jersey 和 Let's Encrypt HTTPS

java - org.apache.maven.InternalErrorException : Internal error: java. lang.IllegalArgumentException:MAC 格式错误\uxxxx 编码