相关疑难解决方法(0)

JAX-WS客户端:访问本地WSDL的正确途径是什么?

问题是我需要从我提供的文件构建一个Web服务客户端.我已将此文件存储在本地文件系统中,并且在将WSDL文件保存在正确的文件系统文件夹中时,一切都很好.当我将其部署到服务器或从文件系统文件夹中删除WSDL时,代理无法找到WSDL并出现错误.我在网上搜索过,但我发现了以下帖子但是我无法使它工作:
JAX-WS从jar加载WSDL
http://www.java.net/forum/topic/glassfish/metro -and-jaxb/client-jar-cant-find-local-wsdl-0
http://blog.vinodsingh.com/2008/12/locally-packaged-wsdl.html

我正在使用NetBeans 6.1(这是我要用这个新的Web服务客户端更新的遗留应用程序).下面是JAX-WS代理类:

    @WebServiceClient(name = "SOAService", targetNamespace = "http://soaservice.eci.ibm.com/", wsdlLocation = "file:/C:/local/path/to/wsdl/SOAService.wsdl")
public class SOAService
    extends Service
{

    private final static URL SOASERVICE_WSDL_LOCATION;
    private final static Logger logger = Logger.getLogger(com.ibm.eci.soaservice.SOAService.class.getName());

    static {
        URL url = null;
        try {
            URL baseUrl;
            baseUrl = com.ibm.eci.soaservice.SOAService.class.getResource(".");
            url = new URL(baseUrl, "file:/C:/local/path/to/wsdl/SOAService.wsdl");
        } catch (MalformedURLException e) {
            logger.warning("Failed to create URL for the wsdl Location: 'file:/C:/local/path/to/wsdl/SOAService.wsdl', retrying as a local file");
            logger.warning(e.getMessage());
        }
        SOASERVICE_WSDL_LOCATION = url;
    }

    public SOAService(URL wsdlLocation, …
Run Code Online (Sandbox Code Playgroud)

java client netbeans jax-ws

81
推荐指数
3
解决办法
16万
查看次数

JAX-WS从jar加载WSDL

我正在编写一个胖客户端,它利用SOAP服务来实现某些功能(错误报告等)

我有JAX-WS工作正常,但默认情况下(至少在netbeans中)它每次初始化服务时从远程服务器获取WSDL.我希望这有助于提供一些版本支持等,但这不是我想要的.

我已将wsdllocationarg 添加到wsimport以将生成的类指向本地资源.以下代码段是App​​licationService.java中WSDL资源的URL加载.

baseUrl = net.example.ApplicationService.class.getResource(".");
url = new URL(baseUrl, "service.wsdl");
Run Code Online (Sandbox Code Playgroud)

我很确定在net/example/resources包中指向存储在jar中的资源应该没有问题,并且jar本身按预期构造.但是服务不会加载...具体来说,当我调用ApplicationService.getPort()时,我得到一个NullPointerException;

这可能吗?还是只是一场疯狂的追逐?

wsdl jar jax-ws wsimport

44
推荐指数
5
解决办法
7万
查看次数

标签 统计

jax-ws ×2

client ×1

jar ×1

java ×1

netbeans ×1

wsdl ×1

wsimport ×1