如何将wsdl文件正确添加到java项目资源中并获取路径
How to add wsdl file to java project resources correctly and get it path
我有 wsdl 文件,我需要将此文件添加到我的 java 项目资源中。我已经通过 wsimport 从 wsdl 生成了代码。
我有的 -
1) 添加文件到资源包
2) 在 wsipmort 的 class 中,我将 url 从
更改为 属性
URL url = null;
url = new URL("http://someUrl/someWsdlFile?wsdl");
到
File file = new File("resources/someWsdlFile.wsdl");
String absolutePath = file.getAbsolutePath();
try {
url = new URL(absolutePath);
} catch (MalformedURLException ex) {
e = new WebServiceException(ex);
}
当我 运行 我的代码出现异常时 -
javax.xml.ws.WebServiceException: java.net.MalformedURLException: unknown protocol: d
当我有 url 这样的时候
url = new URL("file:C:/Users/someWsdlFile.wsdl");
我的代码无一例外地工作正常
unknown protocol: d
所以我做错了什么?
要从用于加载 类 的搜索路径中查找资源,请使用以下方法。
ClassLoader.getSystemResource("someWsdlFile.wsdl");
如果加载类路径中可用的资源,则使用以下方法。
yourClass.class.getResource("someWsdlFile.wsdl");
谢谢 Boris 和 ravthiru 现在的工作。
我这样做
String absolutePath = null;
try {
absolutePath = String.valueOf(ClassLoader.getSystemResource("someWsdlFile.wsdl").toURI());
} catch (URISyntaxException e) {
e.printStackTrace();
}
URL url = null;
WebServiceException e = null;
try {
url = new URL(absolutePath);
} catch (MalformedURLException ex) {
e = new WebServiceException(ex);
}
我有 wsdl 文件,我需要将此文件添加到我的 java 项目资源中。我已经通过 wsimport 从 wsdl 生成了代码。 我有的 - 1) 添加文件到资源包 2) 在 wsipmort 的 class 中,我将 url 从
更改为 属性URL url = null;
url = new URL("http://someUrl/someWsdlFile?wsdl");
到
File file = new File("resources/someWsdlFile.wsdl");
String absolutePath = file.getAbsolutePath();
try {
url = new URL(absolutePath);
} catch (MalformedURLException ex) {
e = new WebServiceException(ex);
}
当我 运行 我的代码出现异常时 -
javax.xml.ws.WebServiceException: java.net.MalformedURLException: unknown protocol: d
当我有 url 这样的时候
url = new URL("file:C:/Users/someWsdlFile.wsdl");
我的代码无一例外地工作正常
unknown protocol: d
所以我做错了什么?
要从用于加载 类 的搜索路径中查找资源,请使用以下方法。
ClassLoader.getSystemResource("someWsdlFile.wsdl");
如果加载类路径中可用的资源,则使用以下方法。
yourClass.class.getResource("someWsdlFile.wsdl");
谢谢 Boris 和 ravthiru 现在的工作。 我这样做
String absolutePath = null;
try {
absolutePath = String.valueOf(ClassLoader.getSystemResource("someWsdlFile.wsdl").toURI());
} catch (URISyntaxException e) {
e.printStackTrace();
}
URL url = null;
WebServiceException e = null;
try {
url = new URL(absolutePath);
} catch (MalformedURLException ex) {
e = new WebServiceException(ex);
}