草庐IT

java - apache cxf 无法发送消息并读取超时

可能是什么原因:org.apache.cxf.interceptor.Fault:无法发送消息。Causedby:java.net.SocketTimeoutException:SocketTimeoutException调用https://xxx.xxx.xxx.xxx:8443/services/test:读取超时它通常发生在我向ws发送soap请求之后。我正在使用apachecxf。我完全确定ws已启动并正在运行,因为在超时发生之前,客户端将再发送2个请求。超时发生在第三个soap请求中。 最佳答案 我的网络服务客户端也遇到过

java - CXF 在 "Apache CXF"中代表什么?

CXF缩写是什么意思?什么是“C”?什么是“X”?什么是“F”? 最佳答案 根据this(编辑:链接内容不再可用)它是两个项目(Celtix和XFire)的组合,名称来自每个项目的首字母。 关于java-CXF在"ApacheCXF"中代表什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4124870/

java - 如何使用 CXF 框架使用受 HTTP 基本身份验证保护的 Web 服务?

我尝试使用CXFUserGuide让它工作,但我没有运气。我正在尝试使用java代码调用网络服务。 最佳答案 这包含在JAX-WS规范中。基本上,将用户名/密码设置为请求上下文的属性:((BindingProvider)proxy).getRequestContext().put(BindingProvider.USERNAME_PROPERTY,"joe");((BindingProvider)proxy).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY,"psw

java - 如何修改出站 CXF 请求的原始 XML 消息?

我想修改传出的SOAP请求。我想从信封的正文中删除2个xml节点。我设法设置了一个拦截器并将消息的生成字符串值设置为端点。但是,以下代码似乎无法正常工作,因为传出消息未按预期进行编辑。有没有人有关于如何执行此操作的一些代码或想法?publicclassMyOutInterceptorextendsAbstractSoapInterceptor{publicMyOutInterceptor(){super(Phase.SEND);}publicvoidhandleMessage(SoapMessagemessage)throwsFault{//Getmessagecontentfordi

java - 如何使用 Apache CXF 表示没有时区的日期?

我有一个WSDL,它指定元素的类型为xs:date。当我使用ApacheCXF生成Java类时,它将变量呈现为javax.xml.datatype.XMLGregorianCalendar(到目前为止一切正常)。当CXF呈现包含此内容的XML文档时,它以这种形式呈现它(其中-06:00代表时区):2000-01-18-06:00如何配置CXF不呈现时区? 最佳答案 GregorianCalendargcal=newGregorianCalendar();start=DatatypeFactory.newInstance().newX

java - 如何扩展由 JAXB、CXF 或 Hibernate 工具生成的 Java 代码?

使用生成的Java源代码,例如使用Hibernate工具生成的代码使用JAXB模式绑定(bind)(xjc)生成的代码使用WDSL2Java(cxf)生成的代码所有生成的类都是“值对象”类型,没有业务逻辑。如果我将方法添加到生成的源代码,如果我重复源代码生成,我将丢失这些方法。这些Java代码生成工具是否提供了“扩展”生成的代码的方法?例如,覆盖ToString方法(用于日志记录)实现访问者模式(用于数据分析/验证) 最佳答案 对于JAXB,请参阅AddingBehaviours.基本上,您将JAXB配置为返回您通常期望的对象的自定

java - 使用 Apache CXF 在 SOAP POST 请求中出错,但 curl 有效

我遇到了一个非常奇怪的问题。我正在尝试通过HTTPS执行SOAPPOST请求。当我从我的代码发送请求时,我收到HTTP500错误。现在从cxf日志中,如果我复制了我出错的相同SOAP消息(标题和正文)并使用简单的curl请求发布它,它工作正常。下面是我如何创建服务类和其他初始化URLwsdlurl=SOAPWebServiceTransport.class.getClassLoader().getResource("my.wsdl");OnlinePortservice=newOnlinePortService(wsdlurl).getOnlinePortPort();Clientpr

java - 如何使用 Maven "shade"插件将 Apache CXF 应用程序打包成一个整体 JAR

我正在编写一个基于控制台的Java应用程序,旨在由cron以批处理方式运行。批处理应用程序使用适用于JAX-WS的ApacheCXF框架调用SOAPWeb服务。为了使部署更容易,并防止CLASSPATH问题,我想将应用程序(及其所有依赖项)捆绑到一个单一的JAR文件中...使用the"shade"pluginforMaven.当我从我的Eclipse工作区运行它时,我的应用程序运行良好。但是,当我尝试执行带阴影的JAR文件时,我会得到一个堆栈跟踪,如下所示:org.apache.cxf.service.factory.ServiceConstructionException:Could

java - 用于动态端点的 Apache CXF 客户端

我现在使用ApacheCXF作为.NET服务的Web服务客户端来绕过NTLM身份验证。它工作得很好,但我想知道为什么我似乎无法设置Web服务目标端点。CXF似乎出于某种奇怪的原因在运行时需要WSDL-不确定。它从WSDL获取物理端点,我猜它在测试环境中运行良好,但在部署时它肯定会改变。这里有一些代码来演示:MyWebServicesservice=newMyWebServices();MyWebServicesSoapport=service.getMyWebServicesSoap12();//TurnoffchunkingsothatNTLMcanoccurClientclient

java - JAX-WS = 安装 Apache CXF 时 "steals"默认 JDK JAX-WS 实现,如何解决?

我有一个奇怪的问题。使用wsimport我从WSDL生成了alsJAX-WS代码(在一个专用的eclipsejava项目中)。这在JDK6中运行良好,没有任何外部依赖项(在Eclipse中运行)我有第二个项目,我曾经使用过ApacheCXF。如果我将1.)中描述的代码复制到这个项目中,突然间不是JDK执行JAX-WS的东西(我生成的文件),而是ApacheCXF。如何防止ApacheCXF“运行”JAX-WS的东西。(问题是,CXF无法运行代码......)。我也完全不明白ApacheCXF是如何发现这些类的。我没有注册吗?非常感谢!马库斯 最佳答案