我有一个 JAX-WS,它的 WSDL 有以下行:
<wsp:PolicyReference URI="policy:Xyz-UserNameToken-Plain.xml"/>
我不得不在上面手动注释并将修改后的 WSDL 放在类路径中
我的 JAX-WS 客户端代码如下:
URL wsdlLocation = new URL("host:port/WSServiceImpl/WSService");
QName serviceName = new QName("http://ws2.service.abc.xyz.com/", "WSService");
Service s = Service.create(this.getClass().getResource("WSService.wsdl"), serviceName);
=========================================================================================
WSService wsService = s.getPort(WSService.class);
正如您在上面看到的,带下划线的行读取 WSService wsdl 文件。
我不想阅读手动预编辑的 WSDL 我宁愿想即时阅读 WSDL URL 并编辑它(通过评论
我猜它可以通过使用对象读取 wsdl HttpURLConnection
,修改内存中的 wsdl 并在Service.create(....)
从HttpURLConnection
,我可以即时读取 WSLD 并创建一个字符串形式的 WSDL,它不会有
但问题是我如何在运行时将此字符串转换为 URL 对象?因为 URL 应该在::Service.create(URl url, QName qName)
有人可以提供示例代码吗?
问候,