私は 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 を読み込んで編集したい (コメントすることによって)
HttpURLConnection
オブジェクトを使用してwsdlを読み取り、メモリ内のwsdlを変更して使用することで実行可能だと思いますService.create(....)
からHttpURLConnection
、WSLD をその場で読み取り、WSDL の文字列形式を作成することができました。
しかし問題は、実行時にこの文字列を URL オブジェクトに変換するにはどうすればよいですか?? URL は次の場所にあると予想されるため::Service.create(URl url, QName qName)
誰かがサンプルコードを提供できますか??
よろしく、