私は .Net Webservice を持っており、JAX-WS を使用してそのスタブを生成しました (WSDL と XSD をローカルにダウンロードしました)。ここで、スタブを 1 つの jar (stubs.jar) にパッケージ化し、WSDL と XSD を別の jar (wsdl.jar) にパッケージ化しました。
次のようなスタブを使用します。
URL url = ServiceClient.class.getResource("MyService.wsdl");
MyService service = new MyService(url,new QName(namespaceURI,localName));
MyServicePortType portType = service.getMyServicePort();
BindingProvider bp = (BindingProvider) portType;
//WSDL_URL is the actual endpoint address
bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, WSDL_URL);
すべて正常に動作しますが、デバッグ中にポート タイプ オブジェクトの作成に時間がかかることに気付きました。
また、デバッグ時のポート タイプ オブジェクトは、WSDL URL をリモート URL として表示します (Binding Provider オブジェクトにタイプ キャストされる前であっても)。
ポート型オブジェクトの WSDL の URL が変更された理由を特定できません。誰でも、私が理解するのを手伝ってください。
また、ポート タイプ オブジェクトの作成にかかる時間を短縮するためにできることはありますか。
前もって感謝します!