jjzjj

java - Apache CXF + Spring : Generating a Simple Client

我已经开始使用Spring学习ApacheCXF。首先,我尝试创建一个简单的客户端/服务器模型。服务器端是:service.HelloWorld.java@WebServicepublicinterfaceHelloWorld{StringsayHi(Stringtext);}service.HelloWorldImpl.java@WebService(endpointInterface="service.HelloWorld")publicclassHelloWorldImplimplementsHelloWorld{publicStringsayHi(Stringtext){ret

java - 如何为休息服务中的异常返回http状态代码

在我的应用程序中,我有不同的层,如休息层、服务层和数据库层,根据业务场景,我从服务层抛出不同的业务异常。但现在,我必须为REST响应设置不同的HTTP代码,例如400、403、409、412..。如何根据不同的场景设置不同的HTTP状态码?哪个是最可行的方式,比如:方面、异常映射器,还是......?因为我只能在休息层设置一次HTTP状态(referredthis),我无法映射到不同的HTTP代码,因为我的异常来自服务层。我的异常类如下所示:publicclassBusinessExceptionextendsRuntimeException{privatestaticfinallon

java - Apache CXF : adding custom documentation in the WSDL?

我目前正在学习ApacheCXF。当CXF从Pojo生成WSDL文件时,有没有办法(java注释?)向WSDL文件添加自定义文档?描述服务或参数?我已经使用@WebParam设置了一些描述性名称,但我想添加更长的文档。像...@WebService@Documentation("Thisservicesayhello.Seehttp://say.hello")publicinterfaceMyService{@WebResult(name="helloMessage")@Documentation("Returnsthehellomessage")publicStringsayHell

java - 为什么 ClassLoader.getResourceAsStream() 会返回 null?

故意破坏以下代码以识别NullPointerException的来源,这本来应该非常简单但结果让我抓狂:Propertiesproperties=newProperties();ThreadcurrentThread=Thread.currentThread();ClassLoadercontextClassLoader=currentThread.getContextClassLoader();InputStreampropertiesStream=contextClassLoader.getResourceAsStream("resource.properties");if(pro

java - 避免 "cannot retry due to server authentication, in streaming mode"错误,不涉及任何 CXF

我已经在很多地方搜索过处理过这个HttpRetryException问题的其他人,但我发现的所有人都遇到过一些名为CXF的apache服务,我没有使用它。我使用的是java.net.HttpURLConnection。我创建一个连接,将setRequestProperty用于“授权”,获取输出流,写入一堆字节,然后尝试读取回复输入流。大多数时候这都有效,但有时我会遇到上述异常。我无法避免流式传输,因为有时我需要写入比内存中所能存储的更大的文件,而且无论如何,我发现的大多数搜索结果都表明这不是真正的问题。他们通常按照bindingProvider.getRequestContext().

java - 如何在 Apache CXF jax-rs (REST) 中提交 JSON 数据作为请求主体

我正在使用Apache-CXF创建REST网络服务并尝试提交表单。服务器:这是我的方法,希望得到json数据。@POST@Path("/addCustomer/")@Consumes(MediaType.APPLICATION_JSON)//{"Customer":{"name":"SomeName","id":6}}publicCustomeraddCustomer(Customercustomer){logger.debug(customer);returncustomer;}客户:我正在使用firefoxREST插件提交请求:使用REST客户端,我发布了以下json作为请求正文:

java - CXF RESTful Client - 如何在没有 Spring 的情况下进行基本的 http 身份验证?

我熟悉使用Jersey创建RESTfulweb服务服务器和客户端,但由于classloadingissues,我正在尝试将Jersey客户端转换为CXF。我相信我想使用以HTTP为中心的客户端,但我们不使用Spring。我们需要使用基本的HTTP身份验证。userguide有这个例子:WebClientclient=WebClient.create("http:books","username","password","classpath:/config/https.xml");第一个参数不是URI字符串。它是Spring使用的格式吗?这种方法只能用于使用Spring创建WebClie

java - Apache CXF - 给定的 SOAPAction 与操作不匹配

我再次开始从事几年前开始的项目(此处提供代码:http://code.google.com/p/mipnp/)。它是一个UPnP媒体服务器,可以将媒体流式传输到xbox360。对于UPnP中的SOAP部分,我使用了ApacheCXF。使用CXF2.4.8版,一切正常。但是每当我尝试更新到CXF版本2.4.9(或更高版本)时,我都会收到以下异常:WARNING:Interceptorfor{urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1}MediaReceiverRegistrarService#{urn:microsoft

java - CXF - ClassCastException (SEIStub/ClientProxy)

我正在尝试构建一个客户端jar文件来访问网络服务。我将jar包含在一个servlet/war中,它使客户端web服务调用。我收到以下错误:INFO:2011Apr1414:57:32,780MDT[http-thread-pool-8181(4)]ERRORmy.package.ClientServlet-Caughtexceptionjava.lang.ClassCastException:com.sun.xml.ws.client.sei.SEIStubcannotbecasttoorg.apache.cxf.frontend.ClientProxyatorg.apache.cxf

java - 如何使用相同的记录器将不同级别的日志记录到控制台+日志文件?

我有一个log4j记录器,目前将日志写入控制台和文件,工作正常。稍后我想将其配置为将INFO+ERROR记录到日志文件中,但仅在控制台上显示ERROR。我必须改变什么才能实现这一目标?log4j.rootLogger=INFO,console,MyFileAppenderlog4j.logger.org.apache.cxf=INFO,consolelog4j.logger.org.apache.cxf.interceptor.LoggingInInterceptor=INFO,consolelog4j.logger.org.apache.cxf.interceptor.Logging