- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
CXF 生成的客户端发送以下 SOAP 请求,该请求不从其端返回记录:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<PersonSearch xmlns="http://tlo.com/">
<genericSearchInput>
....
</genericSearchInput>
</PersonSearch>
</soap:Body>
</soap:Envelope>
SoapUI 请求如下所示并返回记录:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tlo="http://tlo.com/">
<soapenv:Header/>
<soapenv:Body>
<tlo:PersonSearch>
<!--Optional:-->
<tlo:genericSearchInput>
...
</tlo:genericSearchInput>
</tlo:PersonSearch>
</soapenv:Body>
</soapenv:Envelope>
我看到的唯一区别是默认 namespace 声明而不是 soap 信封上的 namespace 声明以及 namespace 前缀的使用。我已经尝试了几种不同的方法来让 CXF 生成的客户端创建相同类型的 soap 请求。任何人都可以提供一些指示还是我需要使用其他东西?
我在 JDK 6 上使用 org.apache.cxf:cxf-codegen-plugin:2.5.2。
最佳答案
您是否使用 JAXB 进行数据绑定(bind)?我能够通过使用 XMLBEANS 来解决同样的问题。查看 wsdl2java 的 db 标志:http://cxf.apache.org/docs/wsdl-to-java.html
我仍在寻找比仅仅更改数据绑定(bind)更好的解决方案。
20012-04-18 更新:来自 cxf 用户邮件列表的 Sergey 和 Aki 非常友好地向我展示了 CXF 的 TransformationFeature。在客户端使用以下代码对我有用:
MyService myService = new MyService();
myPort = myService.getMyServiceHttpSoap11Endpoint();
// See http://cxf.apache.org/docs/transformationfeature.html
Client client = ClientProxy.getClient(myPort);
Map<String, String> outTransformMap = Collections.singletonMap(
"{http://myNamespace}*",
"{http://myNamespace}*");
org.apache.cxf.interceptor.transform.TransformOutInterceptor transformOutInterceptor =
new org.apache.cxf.interceptor.transform.TransformOutInterceptor();
transformOutInterceptor.setOutTransformElements(outTransformMap);
client.getOutInterceptors().add(transformOutInterceptor);
我在 CXF 2.5.2 中使用它。根据 Aki,对于 2.5.3 和 2.5.6,您必须使用 defaultNamespace 属性。
关于java - CXF-CODEGEN 生成的客户端需要 soap 信封上的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9537462/
我需要一种方法来注释我的 openapi 3 规范,以便 swagger-codegen 将注释添加到我的 java 类中,例如 @JsonIgnoreProperties(ignoreUnknown
我升级到 swagger-codegen 3.0.10,屏幕上突然出现大量调试输出。似乎没有关闭它的命令行选项。 有谁知道如何关闭调试输出? 最佳答案 想通了。 Swagger-codegen 使用
我正在尝试使用 https://github.com/swagger-api/swagger-codegen 生成 nodejs 客户端 sdk这是我使用的命令 swagger-codegen gen
I would like to ask if there is a Swagger tool that can generate clients according to the latest
在我的 package.json 文件中,我有运行 graphql-codegen 的脚本条目,但它提示 --config 参数无效: $> yarn gen yarn run v1.21.1 $ g
我有一个.Net Core v2.1 Web API,它使用NSwag生成其Swagger Json。 我有一个这样的响应模型- public class LoginResponse { pu
我正在使用 slick 2.x's codegen从数据库模式生成 Scala 模型的功能。但是,是否可以遍历外键约束以生成相关模型,例如如果我有这个架构 CREATE TABLE people(id
我如何才能获得敏捷的代码生成器,以使用现有的类而不是创建新的类?这可能吗?例如,我想使用org.springframework.data.domain.Page而不是大张旗鼓地创建另一个页面类。 最佳
我正在寻找进入 Swagger,更具体地说,swagger-codegen 工具。我在 github 和 http://swagger.io/ 中都找到了提供的信息、文档和规范。相当困惑(另外,一些指
我正在使用 swagger codegen maven 插件从 swagger 规范生成服务器 stub 。如果我运行 mvn compile然后它正确生成并编译项目。但是,有时我只想运行生成。 具体
我正在尝试从包含的 yaml 生成客户端 acceptParam: name: Accept type: string required: true in: hea
我遇到了 apollo-codegen 未成功生成 typescript 代码的情况。 对于 graphql 文件( generated/schema.graphql ): type Author {
我已经为特定 API 生成了带有 swagger codegen 的客户端应用程序,javascript版本。用 npm 等初始化它。一切都拍手。 然而,当我尝试使用生成的 api 从我的本地主机向
我已经生成了一个 swagger 客户端 api: java -jar swagger-codegen-2.2.3/modules/swagger-codegen-cli/target/swagger
我在 Postgres 中有一个如下所示的设置: CREATE TYPE my_enum AS ENUM ( 'left', 'right'); CREATE TABLE my_table ( dir
我正在尝试使用 codegen 将以下 Matlab 代码转换为 C++。但是它在构建时失败了,我得到了错误: "??? Unless 'rows' is specified, the first i
我目前正在尝试建立一个 Maven 项目,该项目根据一些 WSDL 文件生成一些 Java 代码。 不幸的是,我遇到了一些问题,因为我的测试环境没有有效的 SSL 证书(我已使用 chrome 确认了
我正在使用 swagger/swagger-codegen 实现我的第二个 API。在有了第一个良好的开端之后,我有点陷入以下问题:我有多个定义,如下所示: TopIssueReference:
我需要根据提供的 swagger 文件生成类。不幸的是我对此文件的内容没有影响。 我在 Gladle 中的配置如下所示: task generateApi { doLast { def con
我想从 xml 文件创建 java 类。我用的是JIBX。我试试这个: java -cp C:\Documents and Settings\kliver\Мои документы\Загрузки
我是一名优秀的程序员,十分优秀!