gpt4 book ai didi

java - 使用 JaxWsDynamicClientFactory (Apache CXF) 的动态客户端

转载 作者:行者123 更新时间:2023-11-30 07:18:08 28 4
gpt4 key购买 nike

我想创建一个动态客户端来调用我创建的网络服务。我尝试使用 JaxWsDynamicClientFactory,如其官方 site 中所述但我没有得到任何输出。相反,我收到了 NullPointerException

JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client c = dcf.createClient("http://localhost:8080/service/SearchingSEI?wsdl");

第二行抛出异常。

堆栈跟踪:

Exception in thread "main" java.lang.NullPointerException
at org.apache.cxf.common.util.Compiler.useJava6Compiler(Compiler.java:189)
at org.apache.cxf.common.util.Compiler.compileFiles(Compiler.java:143)
at org.apache.cxf.common.util.Compiler.compileFiles(Compiler.java:138)
at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.compileJavaSrc(DynamicClientFactory.java:599)
at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:367)
at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:235)
at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:228)
at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:183)
at com.client.dynamic.DynamicClientFactory.main(DynamicClientFactory.java:24)

我不知道问题出在哪里。任何建议都会有很大的帮助。谢谢。

最佳答案

您需要使用 JDK 而不是 JRE 来运行代码。 NPE 发生在 CXF 的 Compiler

的以下位中
   JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
如果您在 JRE 中运行,

compiler 为 null。

关于java - 使用 JaxWsDynamicClientFactory (Apache CXF) 的动态客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15564388/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com