- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想使用 CXF 在 JSF 中创建动态 Web 服务调用程序。但是当我加载这个简单的代码时,我收到错误。代码:
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient("http://ws.strikeiron.com/IPLookup2?wsdl");
错误:
没有为此应用程序配置工厂。如果面部初始化根本不起作用,就会发生这种情况 - 确保正确包含基本面部应用程序所需的所有配置设置,并且包含所有必需的库。还要检查 Web 应用程序和容器的日志输出是否有任何异常!如果您这样做了但什么也没找到,则错误可能是由于您使用了一些特殊的 Web 容器,这些容器不支持通过 TLD 文件注册上下文监听器,并且您的 web.xml 中未设置上下文监听器。典型的配置如下所示; org.apache.myfaces.webapp.StartupServletContextListener
原因:java.lang.IllegalStateException - 没有为此应用程序配置工厂。如果面部初始化根本不起作用,就会发生这种情况 - 确保正确包含基本面部应用程序所需的所有配置设置,并且包含所有必需的库。还要检查 Web 应用程序和容器的日志输出是否有任何异常!如果您这样做了但什么也没找到,则错误可能是由于您使用了一些特殊的 Web 容器,这些容器不支持通过 TLD 文件注册上下文监听器,并且您的 web.xml 中未设置上下文监听器。典型的配置如下所示; org.apache.myfaces.webapp.StartupServletContextListener
知道如何解决这个问题吗?
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>ServiceInvoker</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>resources.application</param-value>
</context-param>
<context-param>
<description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<context-param>
<description>
This parameter tells MyFaces if javascript code should be allowed in
the rendered HTML output.
If javascript is allowed, command_link anchors will have javascript code
that submits the corresponding form.
If javascript is not allowed, the state saving info and nested parameters
will be added as url parameters.
Default is 'true'</description>
<param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<description>
If true, rendered HTML code will be formatted, so that it is 'human-readable'
i.e. additional line separators and whitespace will be written, that do not
influence the HTML code.
Default is 'true'</description>
<param-name>org.apache.myfaces.PRETTY_HTML</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<description>
If true, a javascript function will be rendered that is able to restore the
former vertical scroll on every request. Convenient feature if you have pages
with long lists and you do not want the browser page to always jump to the top
if you trigger a link or button action that stays on the same page.
Default is 'false'
</description>
<param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
<param-value>true</param-value>
</context-param>
<listener>
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>
</web-app>
faces-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
version="1.2">
<managed-bean>
<description>Bean used for invoking services</description>
<managed-bean-name>invoker</managed-bean-name>
<managed-bean-class>org.cot.invoker.Invoker</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
这是我在 Eclipse 控制台中得到的内容:
22.3.2010 15:00:11 org.apache.cxf.endpoint.dynamic.DynamicClientFactory 输出调试信息:创建的类:com.strikeiron.ws.GetRemainingHits、com.strikeiron.ws.GetRemainingHitsResponse、com.strikeiron.ws.LicenseInfo、com.strikeiron.ws.ObjectFactory、com.strikeiron.ws.RegisteredUser、com.strikeiron.ws.SubscriptionInfo、com.strikeiron.ws.UnregisteredUser 、 com.strikeiron.ArrayOfMethodStatusRecord、 com.strikeiron.ArrayOfSIWsStatus、 com.strikeiron.ArrayOfServiceInfoRecord、 com.strikeiron.ArrayOfString、 com.strikeiron.ArrayOfString1、 com.strikeiron.DNSInfo、 com.strikeiron.DNSLookup、 com.strikeiron.DNSLookupResponse、 com.strikeiron.GetServiceInfo、 com.strikeiron.GetServiceInfoResponse、com.strikeiron.GetStatusCodes、com.strikeiron.GetStatusCodesForMethod、com.strikeiron.GetStatusCodesForMethodResponse、com.strikeiron.GetStatusCodesResponse、com.strikeiron.MethodStatusRecord、com.strikeiron.ObjectFactory、com.strikeiron.SIWsOutputOfDNSInfo、com. Strikeiron.SIWsOutputOfMethodStatusRecord、 com.strikeiron.SIWsOutputOfSIWsResultArrayOfMethodStatusRecord、 com.strikeiron.SIWsOutputOfSIWsResultArrayOfServiceInfoRecord、 com.strikeiron.SIWsResultArrayOfMethodStatusRecord、 com.strikeiron.SIWsResultArrayOfSIWsStatus、 com.strikeiron.SIWs ResultArrayOfServiceInfoRecord、com.strikeiron.SIWsStatus、com.strikeiron.ServiceInfoRecord杰斯洛22.3.2010 15:00:13 javax.faces.webapp._ErrorPageWriterhandleThrowable严重:发生异常java.lang.IllegalStateException:没有为此应用程序配置工厂。如果面部初始化根本不起作用,就会发生这种情况 - 确保正确包含基本面部应用程序所需的所有配置设置,并且包含所有必需的库。还要检查 Web 应用程序和容器的日志输出是否有任何异常!如果您这样做了但什么也没找到,则错误可能是由于您使用了一些特殊的 Web 容器,这些容器不支持通过 TLD 文件注册上下文监听器,并且您的 web.xml 中未设置上下文监听器。典型的配置如下所示; org.apache.myfaces.webapp.StartupServletContextListener
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:106)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:356)
at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:155)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
当我点击:
<h:commandLink value="Invoke me!" actionListener="#{invoker.doInvoke}"></h:commandLink>
最佳答案
为了避免使用 CXF 动态客户端和 JSF 出现“没有为此应用程序配置工厂”之类的错误,您必须执行以下操作:
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient("http://ws.strikeiron.com/IPLookup2?wsdl");
Thread.currentThread().setContextClassLoader(classLoader);
关于java - 为什么我在 CXF 中收到此错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2489205/
我将Eclipse Helios Service Release 2版本用于apache cxf。当我转到windo->首选项-> Web服务-> CXF 2.x首选项,并设置cxf运行时时,版本和类
我是任何开放框架的新手(我是基于 java 的解决方案工程师)并试图构建一个 cxf 项目。 我知道我需要 applicationContext.xml文件和内容之类的
我想为不同的目的注册不同的类,以便在同一阶段调用 (Phase.PRE_INVOKE)。是否可以? 最佳答案 看这里http://cxf.apache.org/docs/interceptors.ht
我想使用 wsdl2java(CXF) 命令生成自定义包。 我的 WSDL 结构是: wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/w
我在通过 JAXRSClientFactoryBean.create 创建的 CXF 中有一个 JAX-RS 客户端。如何设置连接/接收超时? 我想我需要掌握管道,但不知道如何操作。这个项目没有使用
鉴于来自 fuse 源的 apache-servicemix-4.4.1-fuse-00-08 的“cxf-osgi”示例,使用 maven 3.0.3 构建,将其部署到 apache karaf 2
这个问题在这里已经有了答案: How do I fix a NoSuchMethodError? (33 个答案) 关闭 29 天前。 我刚刚尝试通过 Maven 使用 Apache CXF 和 S
我正在尝试使用 Apache CXF 开发一个 API 调用,该调用会随请求一起接收附件。我遵循了 this 教程,这就是我到目前为止所得到的。 @POST @Path("/upload") @Req
'org.apache.cxf.tools.wsdlto.WSDLToJava' 将 wsdl 转换为 java 类。 它是在内部使用 JAXB 吗?为什么这个命令能够生成类似于“xjc”创建的类?有
我已经使用 CXF 和 Spring 开发了一个 Java Web 服务。 由于安全原因,我想隐藏 WSDL,尽管 WS 仍然可用。 有没有办法使用 CXF 做到这一点? 最佳答案 您可以在 web.
我有一个生成的 JAXB 类(来自 XSD)。我能够以 XML 和 JSON 的形式返回,但是一旦我将 text/html 添加到我的 Produces 注释中,我就会得到: "No message
我创建了一个非常简单的基于 cxf 的非 spring Servlet,它加载了一个 javax.ws.rs.Application类型。 这是 web.xml: CXFSe
我正在使用 JBOSS EAP 6.2 来部署 restful web 服务。 restful web 服务使用 apache cxf,它取自 jboss eap。目前它使用 jar cxf-api-
我有一个服务方法定义为: public JaxbList getDeal() { List deals = new ArrayList(); Deal type = new Deal(
我需要将 wadl 转换为 java pojo,为此我已经下载了 apache cxf 3.0.1 版本。但是当我在命令提示符下运行 wadl2java bat 文件时,出现以下异常 D:\softw
这个问题在这里已经有了答案: 9年前关闭。 Possible Duplicate: Which maven2 artifacts are necessary to build a WS with CX
我想将一个简单的 CXF Jax-Ws 服务器部署到 ServiceMix。它只是一个同时具有服务接口(interface)和 impl 类的 OSGI 包。我需要将它部署到不同的 ServiceMi
是否可以在 wso2 ESB 中部署 CXF Web 服务? 目前我已经开始从 WSO2 User Guide 引用 wso2 的文档。我想将现有的 CXF Web 服务部署到 ESB。因此,有关这方
我想了解 cxf-bundle和 cxf-bundle-jaxrs jar 。它们是两个不同的 jar ,还是前者本身包含后者? 谢谢,巴蒂亚 最佳答案 前者包含后者。 但是,您实际上不应该使用其中任
我已经built and deployed a custom web services consumer in Java on Domino using the available CXF frame
我是一名优秀的程序员,十分优秀!