- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想通过 Apache Camel 调用 Web 服务,数据格式为 MESSAGE。我想构造以下 SOAP 消息:
<soapenv:Envelope`enter code here`
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<platformMsgs:documentInfo
xmlns:platformMsgs="urn:messages_2015_1.platform.webservices.netsuite.com">
<platformMsgs:nsId>WEBSERVICES_3479023</platformMsgs:nsId>
</platformMsgs:documentInfo>
</soapenv:Header>
<soapenv:Body>
<addListResponse
xmlns="">
<platformMsgs:writeResponseList
xmlns:platformMsgs="urn:messages_2015_1.platform.webservices.netsuite.com">
<platformCore:status isSuccess="true"
xmlns:platformCore="urn:core_2015_1.platform.webservices.netsuite.com"/>
<platformMsgs:writeResponse>
<platformCore:status isSuccess="false"
xmlns:platformCore="urn:core_2015_1.platform.webservices.netsuite.com">
<platformCore:statusDetail type="ERROR">
<platformCore:code>DUP_ENTITY</platformCore:code>
<platformCore:message>This entity already exists.</platformCore:message>
</platformCore:statusDetail>
</platformCore:status>
</platformMsgs:writeResponse>
</platformMsgs:writeResponseList>
</addListResponse>`enter code here`
</soapenv:Body>
</soapenv:Envelope>
有人可以帮我提供一些代码片段或示例来说明如何创建此 SOAP 消息吗?
最佳答案
我可以为您提供一些有关如何将 CXF POJO 格式与 Spring DSL 结合使用的想法。
Spring 上下文可能如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<spring:beans xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camel-cxf="http://camel.apache.org/schema/cxf"
xmlns:camel-spring="http://camel.apache.org/schema/spring"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<!-- inbound Service endpoint -->
<camel-cxf:cxfEndpoint id="my-test-endpoint"
address="/myTest" serviceName="mySrv:MyService"
serviceClass="com.foo.myservice.MyServicePortPortType"
endpointName="mySrv:MyServicePortPort"
wsdlURL="classpath:myTest.wsdl"
xmlns:mySrv="http://foo.com/myService/">
<camel-cxf:properties>
<spring:entry key="dataFormat" value="POJO" />
...
</camel-cxf:properties>
</camel-cxf:cxfEndpoint>
...
<camel-spring:camelContext id="MyTestService_Ctx">
...
<camel-spring:route id="myTest-route">
<camel-spring:from uri="cxf:bean:my-test-endpoint"
id="inbound-myTest-service" />
...
很简单:
在 Spring 中,您将 cxf 端点定义为 {http://camel.apache.org/schema/cxf}cxfEndpoint
bean,
然后通过 uri 从 Camel 路由 from
或 to
组件引用它,如下所示:uri="cxf:bean:{endpoint bean id}"
那么你可能有两种情况:情况 1. WSDL 将 header 定义为消息的一部分。 Maven CXF插件生成服务后:
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
只需检查服务接口(interface)是什么样子的。
情况 2:WSDL 未定义自定义 header ,您需要添加它。
对于这两个问题,请看我对另一个问题的回答: Unable to set SOAP Header while calling Web Service through Camel using dataFormat as POJO
附注如果由于某些原因您不需要显式编码/取消编码 JAXB POJO,则不需要其他任何内容。您不关心 SOAP 等。CXF 会根据您的 WSDL 定义为您完成这些工作。
关于java - 当 dataFormat 为 MESSAGE 或 CXF_MESSAGE 时,在 Apache Camel 中创建 SOAP 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43386400/
我正在编写一个快速前端来显示吉他指法。前端在 Flash 中,但我想以某种人类可读的格式存储选项卡。有人知道已经存在的东西吗?关于如何去做的任何建议?我从阅读一些 stackoverflow 帖子中得
我正在尝试使用 FluidKit 中的功能弄清楚拖放。 我下载了演示应用程序,拖放操作中都有这行代码: private static DataFormat SupportedFormat = Data
我有来自客户的 xml: 和简单的 Java 类 import com.fasterxml.jackson.dataformat.xml.annotation.Jackso
尝试使用 jackson-dataformat-csv 解析 .csv 文件。文件包含许多与我的程序无关的列。 尝试使用 @JsonIgnoreProperties(ignoreUnknown = t
将 POJO 序列化为 CSV 时是否可以定义自定义 header 名称。 换句话说,如果我的 PoJO 中有一个名为 someField 的字段,我希望输出 CSV 文件中的标题列被命名为 Some
这是我的主课: public static void main(String arg[]) throws JsonProcessingException { Address a = new Add
本文整理了Java中com.fasterxml.jackson.dataformat.yaml.YAMLFactory类的一些代码示例,展示了YAMLFactory类的具体用法。这些代码示例主要来源于
本文整理了Java中com.fasterxml.jackson.dataformat.yaml.YAMLMapper类的一些代码示例,展示了YAMLMapper类的具体用法。这些代码示例主要来源于Gi
本文整理了Java中com.fasterxml.jackson.dataformat.yaml.YAMLParser类的一些代码示例,展示了YAMLParser类的具体用法。这些代码示例主要来源于Gi
本文整理了Java中com.fasterxml.jackson.dataformat.yaml.YAMLGenerator类的一些代码示例,展示了YAMLGenerator类的具体用法。这些代码示例主
我正在使用 Power BI 来分析 Azure 搜索统计信息。原始数据由搜索流量分析工具收集在存储帐户 (blob) 上。要导入日期,我使用了 this教程。但是在应用查询更改时我收到错误。 有什么
我需要 jackson-dataformat-xml 方面的帮助。我需要序列化List使用XmlMapper将引号 " 编码到 xml 中→ " . 但是序列化后XmlMapper对所有其他
我的用例是将 Java POJO 转换为字符串,以便可以将其传递并发布到 AWS Kinesis Firehose Stream。 我正在编写这个convertToString(),但我无法找到转义分
我在使用 DataFormat 属性重新初始化我的 Controller 类时遇到问题。我的 Controller 类在这里找到 https://gist.github.com/anonymous/0
对不起标题... 所以我想从剪贴板中提取文本。此文本是从网页(在浏览器中)复制而来的。在我的例子中,它是一个包含一些数据的表格。 所以我用下面的代码提取了数据(它以字符串形式出现): IDataObj
本文整理了Java中com.fasterxml.jackson.dataformat.yaml.snakeyaml.Yaml类的一些代码示例,展示了Yaml类的具体用法。这些代码示例主要来源于Gith
本文整理了Java中org.nd4j.shade.jackson.dataformat.yaml.YAMLFactory类的一些代码示例,展示了YAMLFactory类的具体用法。这些代码示例主要来源
我是java新手,我想将csv文件转换为json 我使用以下代码示例将 csv 文件转换为 json 文件,问题是,我在“withSchema(bootstrap)”上遇到了一个错误,它说:“对于 O
我正在尝试使用 jackson-dataformat-xml 从 String 读取 XML: String data = ""+ ""+ "bb"+
这是我根据当前文化设置日期格式的模型。 我尽量避免像 DataFormatString = "{0:MM/dd/yyyy}" 这样的硬编码做下面的原因是为了得到当前的文化模式 [Required(E
我是一名优秀的程序员,十分优秀!