webservice 용 클라이언트 코드를 생성하기 위해 wsdl2java를 사용하여 Apache Axis 1.4 (예, 이전 버전)를 사용하고 있습니다. 생성 된 스텁에서 메서드를 호출하기 전에 Call 개체에 대한 추가 속성을 설정하고 싶습니다.Apache Axis : wsdl2java에서 생성 된 코드를 사용하여 호출 속성을 설정하는 방법?
예를 들어 사용자 이름, 암호를 설정하고 기존 헤더를 추가 또는 수정하고 클라이언트 구현자가 다른 구현을 사용하도록 변경하고 싶습니다.
현재 생성 된 Stub 클래스를 수정하고 적절한 setter를 호출하여이 작업을 수행하고 있습니다. 그러나 생성 된 파일을 건드리지 않고이 작업을 수행하고 싶습니다. . 내가 생성 된 소스 코드를 수정하고있어 어디
호출 객체를 생성하고 몇 가지 속성을 설정createCall()
현재이되고, 그런 다음 스텁이 포함 스텁 클래스가 가지고 있기 때문에 나는 "하지만, 혼란 M :
clientMethod1(){
blahblah
Call _call = createCall();
......
_call.invoke();
}
그래서 내가 수정하려는 속성을 수정, 내가 스텁을 얻기 위해 serviceLocator를 사용할 수있는 방법을 볼 수 없습니다, 다음 주어진, 내가 호출 할 메소드를 호출 스텁을 사용하여 스텁 메서드는 createCall()을 호출하고 invoke를 호출합니다. 호출되기 전에 새 Call 객체를 가로채는 방법이 나타나지 않습니다.
So : 생성 된 스텁 클래스의 소스 코드를 수정하지 않고 호출에서 속성을 어떻게 수정합니까?
정보를 주셔서 감사합니다. 또는 기존 문서를 참조하십시오.
내가 설정 등록의 목적으로 스텁에 내 스텁 구현 객체를 upcasting에 의해 거의 내가 원하는 걸 할 수있는 것 같은데 재정의 createCall 방법에 속성을 설정할 수 있습니다 : ServiceLocator 로케이터 = 새로운 ServiceLocator (....); myObj = locator.getMyObj(); ((스텁) myObj) .setUsername (...); 등. 선호하는 방법입니까? –