我已将wsdl文件放在
中E:/testworkspace/projectname/docroot
WEB-INF
src
com
test
wsdl
如果我给出完整路径说wsdlLocation =" file:E:/testworkspace/projectname/docroot/WEB- INF/src/com/test/wsdl/some.wsdl
" ,它选择了WSDL文件。
但是我需要制作类似于直接获取的通用:
@WebServiceClient(name = "TestInterfaceService",
wsdlLocation = "WEB-INF/wsdl/some.wsdl",
targetNamespace = "http://www.google.com/job")
public class TestInterfaceService extends Service {
public final static URL WSDL_LOCATION;
public final static QName SERVICE = new QName("http://www.google.com/job", "TestInterfaceService");
public final static QName TestInterfaceSoapHttpPort = new QName("http://www.google.com/job", "TestInterfaceSoapHttpPort");
static {
URL url = null;
try {
url = new URL("WEB-INF/wsdl/some.wsdl");
} catch (MalformedURLException e) {
java.util.logging.Logger.getLogger(TestInterfaceService.class.getName())
.log(java.util.logging.Level.INFO,
"Can not initialize the default wsdl from {0}", "WEB-INF/wsdl/some.wsdl");
}
WSDL_LOCATION = url;
}
您能否建议如何独立于我的本地系统选择WSDL文件,目前它会抛出错误无法从WEB-INF/wsdl/some.wsdl
初始化默认的wsdl
答案 0 :(得分:0)
您需要有效的网址字符串才能创建新网址。如果您的服务确实公开了URL,则可以选择使用该URL。
如果您的客户是一个Web应用程序,另一个选择是通过您的应用程序使wsdl可用,并使用http://localhost/app/some.wsdl
从那里引用它希望有所帮助
答案 1 :(得分:0)
如果您将wsdl放在wsdlLocation = "WEB-INF/wsdl/some.wsdl"
中并指定,则不确定您要在此处执行的操作,配置:WEB-INF/wsdl
完全正常,只要WSLD文件位于WEB-INF/src/com/test/wsdl
下像这样的WSDL位置:wsdlLocation = "WEB-INF/wsdl/some.wsdl
- 当然它不起作用,在WEB-INF/wsdl
中添加你的WSDL,一切都会好的。