问题标签 [cxf-codegen-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven - JAXB2 Basic Annotate 插件不适用于 maven cxf-codegen-plugin
我正在使用 cxf-codegen-plugin 从 wsdl 文件生成 Java 类。我想为其中一个类添加注释,并指定一个绑定文件并使用 jaxb2-basics-annotate 插件来执行此操作。生成的文件不包含绑定文件中指定的注释。
这是pom文件中的配置
这是绑定文件
在调试模式下运行 maven 并没有显示任何奇怪的东西。是不是 cxf-codegen-plugin 和 jaxb2-basics-annotate 不能一起工作?还是我的配置有问题?
xsd - CXF wsdl2java 没有正确读取模式
我正在使用配置为使用 WSDL 生成 java 类的 wsdl2java 插件。
现在,我的 WSDL 中包含以下模式。
当我的元素定义在我的 WSDL 中时,如下所示,它会为myElement生成一个类,这很好:
但是当我在 WSDL 中的元素定义引用了 schema 中的 ComplexType 定义时。然后不会生成元素类aaa ,只生成aaaType类。
有没有办法可以指定 wsdl2java 来生成类aaa和aaaType并在aaa中引用aaaType?
spring-mvc - 使用 SOAP 从我的服务器获取信息时出现 UnmarshalException
我尝试创建两个简单的项目,一个服务器和一个客户端,允许我操作 SOAP 技术。我正在使用 Spring 和 CXF。我设法毫无问题地创建了服务器。我有两个实体:“演员”和“电影”,它们现在彼此独立。我可以使用 SOAP UI 添加、读取、编辑和删除这些实体的实例。我现在想创建客户端。为此,我将 CXF 从我的 Java 类生成的 wsdl 文件加入到我的客户端项目中。然后使用“cxf-codegen-plugin”插件生成 Java 类:
当我只使用与“演员”服务或“电影”服务相对应的 wsdl 文件之一时,一切正常。但是当我同时使用两个 wsdl 时,我会收到如下错误:
在这里,我试图从我的客户那里获取“电影”列表。错误说“标题”是一个意外元素,而它是我的实体“电影”的一个属性。令人惊讶的是,预期的元素“firstName”、“lastName”、“id”和“birthDate”是我的实体“Actor”的属性。
你知道有什么问题吗?谢谢你。
java - 无签名令牌 Java CXF Client
我正在尝试使用 Apache-CXF-2.7.11 构建一个与 .NET WCF 服务通信的 Java 客户端。
我的 Java 客户端代码如下,客户端通过 IDE 自动生成,只有我从 CXF 文档中复制的凭据。
结果是一个例外:
还有其他方法可以设置用户名令牌吗?
PD对不起我的英语...
cxf - Using cxf in two bundles cause Exception: loader constraint violation in interface itable initialization
I use Apache CXF
in some bundle A
to call video from http://www.movingimage24.com/
in my Portal A
. this works fine, the videos can be called from movingimage24 and displayed in my Portal A
without problem.
Now when I use Apache CXF
in some Bundle B
on the same way like in Bundle A
, and try to call the video in my portal B
, the following exception is thrown:
ERROR [0:0:0:0:0:0:0:1 [1416678184971] GET /content/portal/de/home/company/test_videomanager.html HTTP/1.1] com.day.cq.wcm.core.impl.WCMDebugFilter Exception: loader constraint violation in interface itable initialization: when resolving method "javax.xml.bind.helpers.AbstractMarshallerImpl.setAttachmentMarshaller(Ljavax/xml/bind/attachment/AttachmentMarshaller;)V" the class loader (instance of org/apache/felix/framework/ModuleImpl$ModuleClassLoaderJava5) of the current class, javax/xml/bind/helpers/AbstractMarshallerImpl, and the class loader (instance of org/apache/felix/framework/ModuleImpl$ModuleClassLoaderJava5) for interface javax/xml/bind/Marshaller have different Class objects for the type javax/xml/bind/attachment/AttachmentMarshaller used in the signature java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "javax.xml.bind.helpers.AbstractMarshallerImpl.setAttachmentMarshaller (Ljavax/xml/bind/attachment/AttachmentMarshaller;)V" the class loader (instance of org/apache/felix/framework/ModuleImpl$ModuleClassLoaderJava5) of the current class, javax/xml/bind/helpers/AbstractMarshallerImpl, and the class loader (instance of org/apache/felix/framework/ModuleImpl$ModuleClassLoaderJava5) for interface javax/xml/bind/Marshaller have different Class objects for the type javax/xml/bind/attachment/AttachmentMarshaller used in the signature
my pom.xml
for bundle B
looks like this:
I am new to Apache CXF and hope somebody can help me.
maven - java.lang.LinkageError:加载程序约束违规:加载程序(org/apache/felix/framework/ModuleImpl$ModuleClassLoaderJava5 的实例)以前
当我尝试将我的包部署到 felix 控制台/CQ crx 时,出现以下错误:
原因:java.lang.LinkageError:加载程序约束违规:加载程序(org/apache/felix/framework/ModuleImpl$ModuleClassLoaderJava5 的实例)先前为名为“javax/xml/bind/attachment/AttachmentMarshaller”的不同类型启动加载java.lang.ClassLoader.defineClass1(Native Method) 在 java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) 在 java.lang.ClassLoader.defineClass(ClassLoader.java:615) 在 org.apache.felix.framework。 ModuleImpl$ModuleClassLoader.findClass(ModuleImpl.java:1907) at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:727) at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71) ) 在 java.lang 的 org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768)。ClassLoader.loadClass(ClassLoader.java:247) at org.apache.cxf.jaxb.JAXBDataBinding.createWriter(JAXBDataBinding.java:271) at org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.getDataWriter(AbstractOutDatabindingInterceptor.java:178) at org .apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:109) 在 org.apache.cxf.binding.soap.interceptor.RPCOutInterceptor.handleMessage(RPCOutInterceptor.java:94) 在 org.apache.cxf.phase.PhaseInterceptorChain .doIntercept(PhaseInterceptorChain.java:272) 在 org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:565) 在 org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:474) 在 de。 .webservices.utils.OsgiAwareClientImpl.invoke(OsgiAwareClientImpl.java:62) 在 org.apache.cxf.endpoint。ClientImpl.invoke(ClientImpl.java:377) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330) at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) at org .apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135) 在 $Proxy139.getHttpsPlayerCodeForLockedVideo(Unknown Source) 在 de.webservices.videoplayer.impl.VideoManagerServiceImpl.getHttpsPlayerCodeForLockedVideo(VideoplayerImpl.java:123) 在 de.components。 videoplayer.player.init(Videoplayer.java:36) 在 de.AbstractComponent.setSlingRequest(AbstractComponent.java:90) ... 228 更多在 de.webservices.videoplayer.impl.VideoManagerServiceImpl.getHttpsPlayerCodeForLockedVideo(VideoplayerImpl.java:123) 在 de.components.videoplayer.player.init(Videoplayer.java) 在 $Proxy139.getHttpsPlayerCodeForLockedVideo(Unknown Source) 调用(JaxWsClientProxy.java:135) :36) 在 de.AbstractComponent.setSlingRequest(AbstractComponent.java:90) ... 228 更多在 de.webservices.videoplayer.impl.VideoManagerServiceImpl.getHttpsPlayerCodeForLockedVideo(VideoplayerImpl.java:123) 在 de.components.videoplayer.player.init(Videoplayer.java) 在 $Proxy139.getHttpsPlayerCodeForLockedVideo(Unknown Source) 调用(JaxWsClientProxy.java:135) :36) 在 de.AbstractComponent.setSlingRequest(AbstractComponent.java:90) ... 228 更多
这是我的 pom.xml 文件:
maven - cxf-codegen-plugin 不生成 UTF-8 兼容文件
我在下面有这个 POM,它不会生成 UTF-8 格式的文件。
WSDL 文件包含 XSD 文件,这些文件又使用法语重音字符é, è, à
,例如 等。我对 WSDL 无能为力,因为我必须在交付时使用它们。
根据 Notepad++,WSDL 和 XSD 文件在没有 BOM 的情况下以 UTF-8 正确编码。
当我尝试生成 java 文件时,这些 java 文件是在 DOS/Windows 字符集中生成的,同样根据 Notepad++。
我希望以 UTF-8 生成 java 文件,因为我们所有的项目都使用 UTF-8,并且由于以下错误,我们的开发人员无法在 Windows 上本地编译 java 类:error: unmappable character for encoding UTF-8
.
我阅读了有关此的 CXF 文档,并按照描述进行了所有操作,包括直接在插件中添加 JAXB 的两个依赖项。然而它不起作用。
我正在使用 CXF 版本 2.6.10(在 2.6.1 之后发布,其中包括以特定编码生成文件的选项)。
maven - cxf-codegen-plugin 排除 XSD 文件
我使用 cxf-codegen-plugin 在构建时使用 Maven 生成一系列 WS 客户端。这些 WSDL 使用相对路径引用一些 XSD 模式定义,如下所示:../someService/schema.xsd
现在,当我从 Eclipse 触发构造时,它可以正常工作,因为我的 XSD 文件放置在正确的路径中。
但是当我从 Jenkins 启动一个构建工作时,它失败了,因为它似乎使用Jenkins
工作空间作为构建的根。
我什至不知道你是否可以改变 Jenkins 的这种行为,但由于我无法控制我的Jenkins
实例,我想知道的是cxf-codegen-plugin
完全排除 XSD 处理,然后使用不同的执行阶段显式生成这些类使用不同的插件。
我读过你可以这样做:
但这假设我在构建之前知道那些命名空间,而我不知道(WSDL 文件是使用 maven 依赖插件从外部依赖中获取的)。
我也试过:
但这不起作用,插件只是不断解析 XSD 文件并生成相关类。
是否还有其他方法可以防止解析 XSD 文件并仅处理 WSDL 定义?
编辑:这是Jenkins
给我的错误:
它正在查看 jenkins 工作区的根目录,而不是/var/lib/jenkins/workspace/MYPROJECT/myproject-webservice/src/main/resources/wsdl/xsd/schema.xsd
maven - 使用来自 WSDL 的 maven cxf 插件 cxf-codegen-plugin java 工件
使用来自 WSDL 的 maven cxf 插件 cxf-codegen-plugin java 工件。但是 javacode 没有填充到 Eclipse IDE 中。
我是否需要指定任何其他标签来获取 eclipse 项目中的 java 源代码。
下面是我的 pom.xml
这是我的文件夹结构。
java - CXF 服务代理在传递空数组时导致 NullPointerException
通过 cxf-java2ws-plugin 和 cxf-codegen-plugin 通过 Maven 使用 CXF 2.7.11,从 Web 服务类生成 WSDL,然后生成 WSDL 代理类,然后在各种客户端中使用以连接到实际的实时服务器。
这些生成的服务代理存在问题,因为它们在传递空数组时会导致 NullPointerException。
Web 服务是这样的:
生成的 WSDL 片段:
最后是生成的服务代理片段:
用于 WSDL 生成的 pom.xml 片段:
从上面的 WSDL 生成代理的 pom.xml 片段:
如何让 CXF 生成服务代理来处理希望传递空数组的客户?(不是空数组或包含空值的数组,而是实际的空数组)。我需要在 WSDL 中声明为“nillable=true”的“otherParams”吗?如果是这样,怎么做?
我尝试了许多注释和 JAXB/JAXWS 选项,但似乎无法获得所需的行为。