Tag: cxf

Apache CXF客户端在Eclipse中加载正常,但独立的jar在WSDLServiceFactory中抛出NullpointerException

我的目标是使用mvn assembly创建一个在独立jar中运行的Web服务客户端,其中包含所有依赖项:single 我使用CXF codegen wsdl2java生成了客户端,创建了名为NetBanxAutostatementService的@WebServiceClient 对于我有的依赖 2.5.2 org.apache.cxf cxf-rt-frontend-jaxws ${cxf.version} runtime org.apache.cxf cxf-rt-transports-http ${cxf.version} runtime 我甚至试图添加更多“东西” org.apache.cxf cxf-rt-core 2.5.2 runtime org.apache.cxf cxf 2.5.2 pom runtime 问题:每次我尝试运行“java -jar target / Netbanx-0.0.1-SNAPSHOT-jar-with-dependencies.jar” INFO [main] (Netbanx.java:97) – autostatement_wsdlLocation:https://www.test.netbanx.com/cgi-bin/autostatement_wsdl Exception in thread “main” java.lang.NullPointerException at org.apache.cxf.wsdl11.WSDLServiceFactory.(WSDLServiceFactory.java:92) at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:204) at org.apache.cxf.jaxws.ServiceImpl.(ServiceImpl.java:148) at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:91) at javax.xml.ws.Service.(Service.java:56) at com.netbanx.autostatement.NetBanxAutostatementService. (NetBanxAutostatementService.java:39) at my.project.netbanx.Netbanx.(Netbanx.java:98) […]

CXF如何在没有Spring的情况下在CXF端口上设置SoapVersion

我目前正在使用没有Spring配置文件的CXF的Web服务客户端。 它工作得很好,但我无法弄清楚如何使用Java Api设置绑定SoapVersion。 使用Spring文件,如下所示: 你们知道如何在Java代码中实现这一点(在端口上,在SOAPBinding上……)? 在此先感谢您的帮助! 编辑 – – – – – – – – – – – 我仍然坚持这个问题…我试图在接口上添加SOAPBinding注释,如下面的响应之一所示,但它不起作用…我仍然在寻找一种手动配置我的方法PortType / Binding / Bus使用Soap 1.2 … 有任何想法吗? 编辑 – – – – – – – – – – – 问题解决了! 其实我回答了我自己的问题:见下文…… 谢谢!

Apache CXF – 在In和Out拦截器之间共享数据

我使用Apach CXF作为REST提供程序。 我想在进入Web服务时收集数据,在输入resposne之前收集数据并在响应中添加一些计算。 对于这个问题而言,为了简单起见,我们假设我想获得进入的开始时间,发送响应之前的结束时间,并将总时间添加到响应中。 现在,我该怎么做? 我创建了In和Out拦截器,它们可以单独工作,但是如何在Out拦截器中使用In拦截器中的数据呢? 谢谢Idob 更新: 我尝试将数据设置为上下文参数 message.setContextualProperty(key,value); 但我得到的是NULL message.getContextualProperty(key); 我也尝试了同样但只是 message.put(key,value) and message.get(key) 没用。 想法是谁? 谢谢,Idob

如何扩展JAXB,CXF或Hibernate工具生成的Java代码?

用生成的Java源代码,比如 用Hibernate工具生成的代码 使用JAXB模式绑定生成的代码(xjc) 用WDSL2Java生成的代码(cxf) 所有生成的类都是“值对象”类型,没有业务逻辑。 如果我向生成的源代码添加方法,如果我重复生成源代码,我将松开这些方法。 这些Java代码生成工具是否提供了“扩展”生成代码的方法? 例如, 覆盖ToString方法(用于记录) 实现访问者模式(用于数据分析/validation)

通过Maven的CXF 2.7.x Woodstox兼容性

在CXF的文档中,据说2.7.x版本要求不在4.2.0版本下的Woodstox jar在类路径中可用。 有人可以建议Maven依赖Woodstox与CXF合作吗? 主要问题是当我尝试使用cxf的客户端时,会引发exception“无法创建安全的XMLInputFactory”。 根据不同的论坛( 例如 ),可以使用“org.apache.cxf.stax.allowInsecureParser”系统属性来解决问题,但这似乎不是一个好方法。 所以maven依赖是要走的路…… 提前致谢。

如何获取SOAP标头

这是请求 someId … 我想得到那个userId 。 我试过这个 private List getHeaders() { MessageContext messageContext = context.getMessageContext(); if (messageContext == null || !(messageContext instanceof WrappedMessageContext)) { return null; } Message message = ((WrappedMessageContext) messageContext).getWrappedMessage(); return CastUtils.cast((List) message.get(Header.HEADER_LIST)); } private String getHeader(String name) { List headers = getHeaders(); if (headers != null) { for (Header header : headers) { […]

引起:java.net.SocketException:来自服务器的文件意外结束

当我通过SOAP UI运行WS时,我正在间歇地得到以下错误。 有时它不起作用,然后它继续工作,然后有时它不起作用。 另一个问题是测试Web服务工作正常,客户端没有任何问题,但我们切换到生产问题的时刻。 谷歌搜索并做了一些更改(HttpConfig超时,jetty maxIdleTime)但仍然无法使其工作:(任何想法如何我可以缩小问题是什么? org.apache.cxf.interceptor.Fault: Could not send Message. at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)[147:org.apache.cxf.cxf-api:2.6.0.redhat-60024] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)[147:org.apache.cxf.cxf-api:2.6.0.redhat-60024] Caused by: java.net.SocketException: SocketException invoking https://www.website:443/gateway/ServicePortV2: Unexpected end of file from server at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)[:1.7.0_25] Caused by: java.net.SocketException: Unexpected end of file from server at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:718)[:1.7.0_25] at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:579)[:1.7.0_25] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1322)[:1.7.0_25] at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)[:1.7.0_25] at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)[:1.7.0_25] at org.apache.cxf.transport.http.HTTPConduit.processRetransmit(HTTPConduit.java:1004)[159:org.apache.cxf.cxf-rt-transports-http:2.6.0.redhat-60024] at org.apache.cxf.transport.http.HTTPConduit.access$400(HTTPConduit.java:148)[159:org.apache.cxf.cxf-rt-transports-http:2.6.0.redhat-60024] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRetransmits(HTTPConduit.java:1504)[159:org.apache.cxf.cxf-rt-transports-http:2.6.0.redhat-60024] […]

在Spring应用程序中使用CXF自动发现JAX-RS资源

Apache CXF(2.7.0)是否可以自动发现类路径中的JAX-RS资源 ? 也就是说,用@Path注释的类。 我在Spring应用程序中使用CXF,我必须使用以下XML手动声明资源,即使Spring 成功发现了资源。 我想避免它(因为我可以使用其他JAX-RS实现,例如resteasy)因为在我的情况下它更难维护,并且它迫使我在Spring XML配置文件中声明我的bean依赖项。

如何使用java解析XOP / MTOM SOAP响应?

我只是想知道,有没有简单的方法来解析MTOM / XOP SOAP响应。 问题是我使用普通HTTP发送soap消息和javax.xml来解析响应。 但是有些服务用mulipart / related响应我,它需要更复杂的逻辑来解析它(性能很重要)。 所以我想我可以以某种方式利用apache cxf,apache axiom或任何其他库来解析MTOM / XOP SOAP响应吗?

JAXRS客户端找不到邮件正文编写器

我有一个像这样配置的jaxrs客户端: 但是当我发送请求时,我得到以下exception: Caused by: org.apache.cxf.interceptor.Fault: .No message body writer has been found for class : class com.test.RequestObject, ContentType : application/json. at org.apache.cxf.jaxrs.client.ClientProxyImpl$BodyWriter.handleMessage(ClientProxyImpl.java:646) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263) at org.apache.cxf.jaxrs.client.ClientProxyImpl.doChainedInvocation(ClientProxyImpl.java:527) … 47 more 我的RestProxy类看起来像这样: @Component public interface RestProxy { @POST @Path(“/getSomething”) String getSomething(RequestObject RequestObject); }