cxf 相关问题

Apache CXF使用前端编程API(如JAX-WS和JAX-RS)帮助您构建和开发服务。这些服务可以使用各种协议,例如SOAP,XML / HTTP,RESTful HTTP或CORBA,并可以在各种传输上工作,例如HTTP,JMS或JBI。

Apache CXF - 使用 HTTP 400 代码处理响应

我使用的是 SOAP 客户端,由 Apache CXF 框架生成。 我尝试连接的服务使用soap:Fault 消息处理业务错误。 我想解释这些按摩并处理...

回答 1 投票 0

如何在 CXF 中的 JAX-RS Restful Web 服务中接收 POST 正文中的 JSON 消息?

我正在尝试在 JAX-RS 之上使用 Apache-CXF 开发 REST 服务。对于初学者,我有一个名为 test 的方法,它接收 String 消息和 int 值。我希望客户能够通过

回答 1 投票 0

无法加载扩展类org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl

我正在为 cxf 配置的类上运行 junit。我收到这个错误 导致:org.apache.cxf.bus.extension.ExtensionException:无法加载扩展类org.apache.cxf.ws.policy。

回答 1 投票 0

错误日志记录问题:使用带有 log4j2 的 cxf-jaxrs 的 java Restful 应用程序在迁移 cxf 后未将错误和异常堆栈跟踪打印到文件

在我们的 Spring Java 应用程序中尝试升级 cxf 和 log4j2 版本后; cxf 从 2 -> 3.1 & log4j 1.x -> 2.x;日志记录已损坏。滚动文件附加器和 smtp 附加器可以...

回答 1 投票 0

用于 Microsoft WCF 服务的 Apache CXF 客户端,MTOM 返回 400

我有一个用于 Microsoft WCF 服务的 apache CXF 客户端,并且我正在尝试通过 MTOM 发送文件。但是,我不断收到 400,根据合作伙伴的说法,WCF 端的错误是...

回答 1 投票 0

Spring RestTemplate 用于获取字节

我正在使用 Spring Framework RestTemplate 获取字节数组。 但我还需要获取所获取结果的媒体类型。 该字节数组的媒体类型可以是任何类型。 使用的代码...

回答 4 投票 0

jakarta.servlet.ServletException:应在 org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet 中至少指定一个资源类

尝试升级到corretto-Java17、Tomcat 10.1.16/10.1.17。我已将所有 javax 包移至 jakarta 包,将 spring 升级到版本 6,将 cxf 升级到版本 4。当我在

回答 1 投票 0

如何使用 XML 配置和 JaxWsProxyFactoryBean 增加 Apache CXF 超时?

我正在使用 JAX-WS 的 apache CXF 实现。 我的 Web 服务是使用 JaxWsProxyFactoryBean 通过 spring xml 配置进行配置的: 我正在使用 apache CXF 实现 JAX-WS。 我的 Web 服务是通过 spring xml 配置使用 JaxWsProxyFactoryBean: 进行配置的 <bean id="myWSClient" class="my.package.MyWSClient" factory-bean="clientFactory" factory-method="create" /> <bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean"> <property name="serviceClass" value="my.package.MyWSClient"/> <property name="address" value="http://some.url"/> </bean> 然后我通过以下方式注入它: @Resource(name = "myWSClient") MyWSClient myWSClient; 如何设法增加 MyWSClient 的timeout? 要使用 spring configuration 配置客户端超时,请使用以下命令: <http-conf:conduit name="*.http-conduit"> <http-conf:client ConnectionTimeout="600000" ReceiveTimeout="600000"/> </http-conf:conduit> 在此示例中,响应和连接超时设置为 600 秒。 参考: Apache CXF:客户端 HTTP 传输:高级配置 您可以在 xml 配置中添加属性 javax.xml.ws.client.receiveTimeout。值以毫秒为单位。 300000 毫秒 = 5 分钟 <bean id="serviceServiceFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean"> <property name="serviceClass" value="pl.service.YourService"/> <property name="address" value="http://address:port/ws/YourService"/> <property name="properties"> <map> <entry key="javax.xml.ws.client.receiveTimeout"><value>300000</value></entry> </map> </property> </bean>

回答 2 投票 0

wsdl2java - 警告:默认密钥管理器无法初始化

生成 java WSDL 客户端时,我收到这些错误。你能帮我理解这些吗? C:\Users\Administrator\workspace pache-cxf-3.0.2 in > wsdl2java https://example.com/V1/

回答 1 投票 0

Onvif - 解析来自 WS-BaseNotification 的事件通知

我目前正在为 Onvif 实现一个事件处理程序。但我对 WS-BaseNotification 的解组过程完全迷失了。 我如何理解/解析NotificationMessageHolderT...

回答 1 投票 0

如何在 cxf v4 中取消反转包名称?

使用 org.apache.cxf cxf-codegen-插件 在一个新项目中,使用 v3.6.2 生成的客户端 java 类...

回答 1 投票 0

限制每个资源的最大文件大小

我正在使用 Apache-cxf (JAX-RS) 和 spring 框架。我的 beans.xml 中有以下示例代码。 我正在使用 Apache-cxf (JAX-RS) 和 spring 框架。我的 beans.xml 中有以下示例代码。 <jaxrs:server id="services" address="${http.server}"> <jaxrs:properties> <entry key="attachment-max-size" value="1024" /> </jaxrs:properties> <jaxrs:serviceBeans> <bean id="mainResource" class="com.abc.rest.api.MainResource"> <lookup-method name="createEmployeeCollectionResource" bean="employeeCollectionResource" /> </bean> ... ...other beans ... </jaxrs:serviceBeans> </jaxrs:server> 我还有以下代码 <bean id="employeeCollectionResource" class="com.abc.rest.services.EmployeeCollectionResourceImpl"> <lookup-method name="createNewEmployeeResource" bean="employeeResource" /> </bean> <bean id="employeeResource" scope="prototype" class="com.abc.rest.services.EmployeeResourceImpl"> </bean> 我已将所有服务的上传期间最大文件大小设置为 1KB。 如何限制 attachment-max-size 特别适用于少数豆类?示例 - 5MB 用于少数豆子,2MB 用于其他少数豆等 您必须将端点/资源组织在单独的 <jaxrs:server > 标签中,并使用自己的附件大小设置: <jaxrs:server id="services"> <jaxrs:properties> <entry key="attachment-max-size" value="1024" /> </jaxrs:properties> .... </jaxrs:server> <jaxrs:server id="largeFileServices"> <jaxrs:properties> <entry key="attachment-max-size" value="1000000" /> </jaxrs:properties> .... </jaxrs:server> https://cxf.apache.org/docs/jax-rs-multiparts.html

回答 1 投票 0

Apache CXF 不相关交换列表不断增长,直到内存耗尽

我与物理设备有一个长期运行的 CXF SOAP 连接。随着时间的推移,我看到 org.apache.cxf.ws.addressing.soap.MAPCodec 对象保留堆。看来 ConcurrentHashpMap

回答 1 投票 0

部署在 Weblogic 12c 中时的 CXF 客户端更改请求

我在weblogic 12c中部署CXF客户端时遇到问题。 如果我使用 jetty 运行客户端,我没有问题,这是请求: 我在 weblogic 12c 中部署 CXF 客户端时遇到问题。 如果我用jetty运行客户端,我没有问题,这就是请求: <soap:Body> <ns2:getSegmento xmlns:ns2="http://api.service.web.dummy.com/" xmlns:ns3="http://model.api.dummy.com"> <descripcionSegmento>EXTG</descripcionSegmento> </ns2:getSegmento> 但是weblogic中的同一个客户端生成了这个请求: <env:Body> <getSegmento xmlns="http://api.service.web.dummy.com/" xmlns:ns3="http://model.api.dummy.com" xmlns:ns2="http://api.service.web.dummy.com/"> <descripcionSegmento>EXTG</descripcionSegmento> </getSegmento> 我注意到 weblogic 中缺少名称空间,也许是有关依赖项的问题? 依赖关系: org.apache.cxf:cxf-rt-frontend-jaxws:3.1.9 org.apache.cxf:cxf-rt-transports-http:3.1.9 org.apache.cxf:cxf-rt-databinding-aegis:3.1.9 org.apache.cxf:cxf-rt-bindings-corba:3.1.9 org.apache.cxf:cxf-rt-transports-jms:3.1.9 org.apache.cxf:cxf-rt-ws-security:3.1.9 Weblogic配置: <prefer-application-packages> <package-name>antlr.*</package-name> <package-name>javax.servlet.jsp.jstl.*</package-name> <package-name>javax.wsdl.*</package-name> <package-name>org.antlr.*</package-name> <package-name>org.aopalliance.*</package-name> <package-name>org.apache.*</package-name> <package-name>org.apache.xerces.*</package-name> <package-name>org.aspectj.*</package-name> <package-name>org.hibernate.*</package-name> <package-name>org.mozilla.*</package-name> <package-name>org.slf4j.*</package-name> <package-name>org.springframework.*</package-name> </prefer-application-packages> 我在带有 weblogic 请求的服务中遇到此错误: Root cause of ServletException. javax.xml.ws.soap.SOAPFaultException: Unmarshalling Error: unexpected element (uri:"http://api.service.web.dummy.com/", local:"descripcionSegmento"). Expected elements are <{}descripcionSegmento> 请提供任何想法/帮助,我们将不胜感激 我确实遇到了这个问题,我尝试了以下方法但没有帮助: 在 weblogic.xml 和/或 weblogic-application.xml 中将 wls:prefer-web-inf-classes 更改为 true/false 在 weblogic-application.xml 的 wls:prefer-application-packages 中添加了依赖项 将cxf版本更改为最新版本 我最终编写了拦截器来替换 body 下的整个“getSegmento”元素,如下所示: import java.util.ArrayList; import java.util.Collection; import java.util.List; import javax.xml.soap.SOAPBody; import javax.xml.soap.SOAPMessage; import org.apache.cxf.binding.soap.SoapMessage; import org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor; import org.apache.cxf.interceptor.Fault; import org.apache.cxf.message.Message; import org.apache.cxf.phase.AbstractPhaseInterceptor; import org.apache.cxf.phase.Phase; import org.apache.cxf.phase.PhaseInterceptor; import org.w3c.dom.Element; public class MyRequestInterceptor extends AbstractPhaseInterceptor<SoapMessage> { private List<PhaseInterceptor<? extends Message>> extras = new ArrayList<PhaseInterceptor<? extends Message>>(1); public MyRequestInterceptor() { super(Phase.USER_PROTOCOL); extras.add(new SAAJOutInterceptor()); } public Collection<PhaseInterceptor<? extends Message>> getAdditionalInterceptors() { return extras; } public void handleMessage(SoapMessage message) throws Fault { SOAPMessage msg = message.getContent(SOAPMessage.class); try { SOAPBody e = msg.getSOAPBody(); Element actionElement = msg.getSOAPPart().createElementNS("http://api.service.web.dummy.com/", "ns2:getSegmento"); actionElement.appendChild(e.getFirstChild().getFirstChild()); e.replaceChild(actionElement, e.getFirstChild()); } catch (Exception e) { throw new Fault(e); } } } 并在客户端创建过程中添加了这个拦截器: JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); factory.setServiceClass(serviceInterfaceClass); factory.setAddress(endpoint); MyRequestInterceptor interceptr = new MyRequestInterceptor(); factory.getOutInterceptors().add(interceptr); 如果应用程序是企业应用程序(ear),则在 weblogic-application.xml 中添加以下标签 <prefer-application-packages> <package-name>org.apache.cxf.*</package-name> </prefer-application-packages> 如果应用程序是 web-application(war),则在 weblogic.xml 中添加上述行 Preferred-application-packages 元素指定必须始终从应用程序加载的类的包列表。 请参考https://docs.oracle.com/cd/E24329_01/web.1211/e21049/weblogic_xml.htm#WBAPP663 我在 weblogic 12.2.1.4 v.cxf 中遇到了同样的问题,这是由于在父元素中添加了默认 ns 引起的,这可以通过排除 jaxb/xml 绑定依赖项来解决:- <properties> <cxf.version>3.5.7</cxf.version> </properties> <dependencies> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>${cxf.version}</version> <exclusions> <exclusion> <groupId>org.glassfish.jaxb</groupId> <artifactId>jaxb-runtime</artifactId> </exclusion> <exclusion> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> </exclusion> </exclusions> </dependency> </dependencies>

回答 3 投票 0

java.lang.IllegalStateException 没有 Jetty ContextHandler,Jetty WebSocket SCI 不可用

我正在尝试使用以下方式部署 SOAP-Web 服务: 雄猫10 阿帕奇CXF 4.0.2 Java JDK 17.0.6 该服务在 Tomcat 7.0.27、Java JDK 1.7.45 和 Apache CXF 3.0.2 上运行良好。 全部更改后

回答 3 投票 0

org.apache.cxf.ws.policy.PolicyException:没有任何策略选择可以得到满足

我想使用 JUnit 和 Apache CXF 编写一个简单的集成测试来测试一些支持 WS-Security 的服务。当我尝试运行我的代码时: MyService myService = new myWsService(MY_SERVICE_WS...

回答 7 投票 0

Quarkus CXF WSDL FileNotFound 异常在 AKS 上运行

在本地可以正常工作,但在服务器上却不行。这是错误日志: 导致:java.io.FileNotFoundException:/home/vsts/work/1/s/src/main/resources/checkVatService.wsdl(没有这样的文件或可怕...

回答 1 投票 0

为什么记录器名称打印不正确的类名称以及如何自定义它。?

这是我的LogUtils类的代码。我用它来格式化我的日志行。但它在那里打印了不正确的类名。如何修复它。? 导入 org.apache.commons.lang.StringUtils; 导入 org.apache.cx...

回答 1 投票 0

maven-cxf-codegen-plugin 使用 Jaxb 绑定为所有生成的类添加继承

我正在使用 Apache CXF 的 cxf-codegen-plugin 将 wsdl 转换为 java 对象。我指定了一个绑定文件来添加额外的 jaxb 处理。我希望所有这些文件都从接口继承(或

回答 2 投票 0

CXF TLSClientParameters setDisableCNCheck true 不起作用

我正在使用 CXF 2.7.3,并且想要禁用 CN 检查代码: TLSClientParameters tlsParams = 管道.getTlsClientParameters(); if (tlsParams == null) { tlsParams = 新的 TLSClientParameter...

cxf
回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.