java - 从 java web start 使用 CXF web 服务

标签 java web-services cxf java-web-start

更新:我已将我的问题提交到 CXF 用户的邮件列表,此处

更新:我目前已经签署了我所有的 jar 。我似乎仍然无法以可以找到 WSDL 的方式设置 CXF。我最后一次尝试是将 WSDL 放入我的 WAr 文件中,这样我就可以通过 Web 浏览器访问它。我将客户端内部的 wsdllocation 设置为 URL ( http://www.example.com/app/example.wsdl )。我现在收到以下异常:

Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
at com.sun.xml.internal.ws.util.xml.XmlUtil.createDefaultCatalogResolver(Unknown Source)
at com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL(Unknown Source)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(Unknown Source)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(Unknown Source)
at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(Unknown Source)
at javax.xml.ws.Service.<init>(Unknown Source)

谷歌搜索几乎没有任何结果。

我正在使用 Apache CXF 从给定的 WSDL 创建 Web 服务客户端.我遇到了问题,但是在尝试访问该服务时,我遇到了这个异常:

Can not initialize the default wsdl from ../resource/example.wsdl
Exception in thread "AWT-EventQueue-0" java.security.AccessControlException: access denied (java.util.PropertyPermission user.dir read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)

我没有签署我的 web 启动应用程序,并且不想签署,因为我没有从客户端机器访问任何资源。 WSDL提到的是包装在我的 jar 里。问题是由 CXF 生成的客户端代码引起的:

    URL url = null;
    try {
        url = new URL("../resource/example.wsdl");
    } catch (MalformedURLException e) {
        System.err.println("Can not initialize the default wsdl from ../resource/example.wsdl");
        // e.printStackTrace();
    }
    WSDL_LOCATION = url;

我怎样才能正确地将 CXF 指向这个 WSDL?我还担心类上的 WebService 注释:

@WebServiceClient(name = "Example", 
              wsdlLocation = "../resource/example.wsdl",
              targetNamespace = "http://services.example.com/") 

我还需要更改吗?

最佳答案

您将需要将该 wsdlLocation 更改为类路径:引用。

使用 -wsdlLocation 如图所示 here .

关于java - 从 java web start 使用 CXF web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1954722/

相关文章:

java - Spring-ws VS Apache cxf VS Apache Axis2 VS Metro

java - 通过 Spring XML 使用 CXF-RS 客户端配置 Camel Producer

java - 如何在显示对话框时仅单击“警报对话框”按钮

java - 加密在唯一文件中附加字节的文件 - 异常 : Given final block not properly padded

java - Liferay json网络服务: url access not working?

web-services - 如何使 ColdFusion Web 服务返回 SOAP 而不是 WDDX?

java - JAX-WS 序列化为流

java - 返回值对

java - Soap 请求超时不起作用

java - Netbeans JAX-WS 客户端 - 编码错误