[心缘地方]同学录
首页 | 功能说明 | 站长通知 | 最近更新 | 编码查看转换 | 代码下载 | 常见问题及讨论 | 《深入解析ASP核心技术》 | 王小鸭自动发工资条VBA版
登录系统:用户名: 密码: 如果要讨论问题,请先注册。

[备忘]wsdl生成文件,指定寻找wsdl文件的路径

上一篇:[GDS]sabre的PNR里,SSR DOCS 年份用2位或4位都可以。
下一篇:[备忘]报错:AbstractMethodError: org.apache.xerces.dom.DeferredDocumentImpl.setXmlStandalone(Z)V

添加日期:2017/8/4 8:59:12 快速返回   返回列表 阅读3454次
开始命令用的:
wsdl2java -d src-cxf -b custom.xml -exsh true -encoding utf-8 -autoNameResolution -verbose  xxxxx.wsdl

生成的Service.java文件是这样的:


@WebServiceClient(name = "abcWebServices", 
                  wsdlLocation = "file:xxxxx.wsdl",
                  targetNamespace = "http://xml.abc.com") 
public class abcWebServices extends Service {

    public final static URL WSDL_LOCATION;

    public final static QName SERVICE = new QName("http://xml.abc.com", "abcWebServices");
    public final static QName abcWebServicesPort = new QName("http://xml.abc.com", "abcWebServicesPort");
    static {
        URL url = null;
        try {
            url = new URL("file:xxxxx.wsdl");
        } catch (MalformedURLException e) {
            java.util.logging.Logger.getLogger(abcWebServices.class.getName())
                .log(java.util.logging.Level.INFO, 
                     "Can not initialize the default wsdl from {0}", "file:xxxxx.wsdl");
        }
        WSDL_LOCATION = url;
    }


路径是file:xxxxx.wsdl,鬼知道这是什么位置。
---------------------------------------
后来加了个参数-wsdlLocation

wsdl2java -d src-cxf -b custom.xml -exsh true -encoding utf-8 -autoNameResolution -verbose  -wsdlLocation classpath:wsdl/xxxxx.wsdl xxxxx.wsdl

生成的代码是这样的:


@WebServiceClient(name = "abcWebServices", 
                  wsdlLocation = "classpath:wsdl/xxxxx.wsdl",
                  targetNamespace = "http://xml.abc.com") 
public class abcWebServices extends Service {

    public final static URL WSDL_LOCATION;

    public final static QName SERVICE = new QName("http://xml.abc.com", "abcWebServices");
    public final static QName abcWebServicesPort = new QName("http://xml.abc.com", "abcWebServicesPort");
    static {
        URL url = abcWebServices.class.getClassLoader().getResource("wsdl/xxxxx.wsdl");
        if (url == null) {
            java.util.logging.Logger.getLogger(abcWebServices.class.getName())
                .log(java.util.logging.Level.INFO, 
                     "Can not initialize the default wsdl from {0}", "classpath:wsdl/abc.wsdl");
        }       
        WSDL_LOCATION = url;   
    }



然后把wsdl文件和一堆xsd文件都扔到resources的wsdl目录下,确保部署后在WEB-INF/classes/wsdl目录下即可。
---------------------------------------------
custom.xml


<?xml version="1.0" encoding="UTF-8"?>
<jaxws:bindings xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://java.sun.com/xml/ns/jaxws"
    xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb">
    <enableWrapperStyle>false</enableWrapperStyle>
</jaxws:bindings>

 

评论 COMMENTS
没有评论 No Comments.

添加评论 Add new comment.
昵称 Name:
评论内容 Comment:
验证码(不区分大小写)
Validation Code:
(not case sensitive)
看不清?点这里换一张!(Change it here!)
 
评论由管理员查看后才能显示。the comment will be showed after it is checked by admin.
CopyRight © 心缘地方 2005-2999. All Rights Reserved