草庐IT

java - JAXB异常 : not a valid property on class

我们有一个应用程序需要使用外部网络服务。为此,我们使用cxf-codegen-plugin插件提供的wsdl2java目标通过Maven从WSDL生成了一组Java工件。在应用程序中,我们希望在运行时设置用于Web服务调用的端点(以适应测试环境中的不同Web服务端点URL),因此我们编写了如下代码来为我们执行此操作:privateTcreateServiceObject(finalClassp_seiClass)throwsMalformedURLException{finalServiceserviceFactory=Service.create(newURL(wsdlLocatio

java - 绑定(bind)CXF Client源IP地址

我有一个连接到Web服务的CXF客户端。此客户端安装在同一网络中有两个IP地址的机器上(例如172.16.1.101和172.16.1.102)。如何将CXF客户端配置为使用特定源IP地址,以便服务器看到来自该特定IP地址而不是其他IP地址的请求?如果我可以访问Socket,我会做类似的事情:Sockets=newSocket();s.bind(newInetSocketAddress("172.16.1.102",0));//thisIpaddressistheoneIneedtospecifys.connect(newInetSocketAddress("google.com",8

java - 如何修改生成的SOAP请求?

我正处于创建输出拦截器并从SOAP消息中获取OuputStream的阶段。但是,如何在将SOAP信封发送到端点之前修改它呢?我想删除一些xml元素。 最佳答案 一种方法是获取文档并通过XSLT转换运行它。您可以通过调用在拦截器的handleMessage中获取文档@OverridepublicvoidhandleMessage(SoapMessagemessage)throwsFault{SOAPMessagesaaj=message.getContent(SOAPMessage.class);Documentdoc=saaj.ge

java - CXF 2.2.12 : How to turn off schema validation on the client side

我想关闭JAXB绑定(bind)消息的模式验证。我正在处理客户端CXF代码(第一代WSDL)。我试过使用没有成功(参见引用资料CXFFAQ)。我很难找到设置此属性的编程方式。我还探索了短路CXF和访问解析器、解码器等。感谢您的帮助。 最佳答案 要关闭架构验证,您应该将schema-validation-enabled属性设置为false。根据您引用的文档(CXFFAQ)。启用模式验证(所有请求和响应都将针对模式进行验证)设置要禁用模式验证(所有请求和响应都不会根据模式进行验证)什么都不做,因为它是默认行为或设置

java - JAXB 生成的可使用 JAX-WS 绑定(bind)序列化的类

拥有JAXB-RI和CXF。首先是WSDL。我想要一个生成的类来实现Serializable.我现在有以下有效的绑定(bind)xml(SEI类名称已更改)不,在这种情况下,我应该在哪里添加什么。我试过:和内外标签-Serializable没有添加,或者根本没有生成类(没有任何错误)。另见thisthread那么,具体怎么做 最佳答案 我通过两种方式让它工作:使用仅JAXB的第二个绑定(bind)文件,如hisanswer中所示的Pascal。通过指定另一个处理整个命名空间的标签: 关于

java - 为什么会出现握手失败 (Java SSL)

我正在通过HTTPS连接到网络服务。我已经完成了所有我认为需要让它工作的事情,但最后我得到了握手失败。我发现作为一个新用户,由于“垃圾邮件保护”,我不能发布超过2个链接——thanx很多stackoverflow……无论如何这里有一个指向pastebin帖子的链接,所有链接都被拼写出来了…….所以当我在这里写“链接#1”时,它是对这些链接的引用:http://pastebin.com/y4zGNRC7我使用HttpClient(服务URL上的GET)验证了相同的行为,并实际通过CXF代理调用网络服务我正在设置keystore和信任库-我尝试了“代码中”方式(链接#1)和设置系统属性-即

java - 覆盖 CXF 错误处理

我正在开发一些基于Web服务的应用程序,我对ApacheCXF解码有疑问。在我们的项目中,我们使用CXF2.4.1版本。当某些SOAP请求不正确时(例如,某些字段是文本而不是数字),CXF会抛出标准SOAPFaultException并且SOAP响应是使用标准字段构建的,例如:soap:ClientUnmarshallingError:somefieldmissing项目要求说,如果出现任何故障,系统需要以其他格式响应,例如:2732UnmarshallingError:somefieldmissingsomedetails...所以问题是:我怎样才能以某种方式覆盖此错误处理并以我的格

java - CXF/JAX-RS : Return Custom response from interceptor

我们需要在REST调用过程中出现异常时返回自定义的错误码和错误信息。我们已经创建了一个异常映射器提供程序,它适用于来自应用程序代码的异常。但是,当CXF代码发生异常时它不起作用(例如形成我编写的CustomValidationInterceptor)。例如,如果我使用无效的路径参数请求(例如无效的电话号码)。在这种情况下,我们需要以JSON格式返回自定义错误代码和错误消息,但即使我们创建了一个异常映射器提供程序来处理WebApplicationException,它也不起作用。有没有办法处理cxf拦截器的异常并返回对用户做出如下回应?{"errorDetail":{"errorCode

java - 尽管将 'disableCNCheck' 设置为 true,但 https URL 主机名与通用名称 (CN) 不匹配

我设法正确配置了基于CXF的客户端,以便它为我运行Web服务的服务器找到正确的SSL证书:.*_EXPORT_.*.*_EXPORT1024_.*.*_WITH_DES_.*.*_WITH_AES_.*.*_WITH_NULL_.*.*_DH_anon_.*Bettypassword但是...因为证书是针对与我的服务器机器不同的子域名(映射到相同的IP地址),我收到以下错误:Causedby:java.io.IOException:ThehttpsURLhostnamedoesnotmatchtheCommonName(CN)ontheservercertificateinthecli

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

当我通过SOAPUI运行WS时,我间歇性地收到以下错误。有时它不起作用,然后它继续工作,然后有时又不起作用。另一个问题是客户端提供的测试Web服务工作正常,没有问题,但当我们切换到生产服务时,它会出现问题。用谷歌搜索并做了一些更改(HttpConfig超时,jettymaxIdleTime)但仍然无法使其工作:(我有什么想法可以缩小问题的范围吗?org.apache.cxf.interceptor.Fault:CouldnotsendMessage.atorg.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEn