2011-02-25 3 views
0

ConverterUtil.java 파일 "convertToString"메소드에 문제가 있습니다. 이 메소드는 스텁에서 사용되며 날짜를 문자열로 변환하려고 시도합니다. 내가 가진 문제는 부적절한 형식의 축 오류가 발생하여 응답을받을 수없는 날짜를 변환하려고 할 때입니다.스텁을 생성하는 동안 ConverterUtil.java 파일을 수정할 수 있습니까

날짜를 받았을 때처럼 변환기가 정상적으로 작동합니다.& 시간 사이에는 "04-12-2010T00 : 00 : 00"과 같은 문자 "T"가 사용됩니다. 우리는 불행히도 날짜를받는 형식을 어떻게 바꿀 수 없습니다.

convertUtil의 "convertToString"메서드를 재정의하려고하지만 정적 클래스이므로 재정의 할 수 없습니다. Axis2.jar의 재 포장은 우리가하고 싶어하기 때문에 좋지 않습니다. 또한 maven 종속성은 우리 프로젝트에서 012ub스텁이 JAR로 사용됨에 따라 convertUtil을 재정의하는 데 도움이되지 않습니다. 이미 종속 관계를 시도했지만 도움이되지는 않습니다.

ConverterUtil은 스텁의 응답 클래스 &에 사용되며이를 재정의하려고합니다. 따라서 wsdl2java를 어떤 식 으로든 수정하여 ConverterUtil 파일을 무시하고 사용자 정의 파일을 사용하도록 시작할 수 있습니다. 즉, 실제로 스텁이 생성되는 방식을 제어 할 수 있습니다.

답변

0

귀하의 질문에 아직 명확하지 않습니다. 설명해 주시겠습니까? 당신은 소비자입니까? webservice는 원하지 않는 날짜를 반환합니까? 대답이 "예"이면 XMl 메시지가 스텁 파일에 도달하기 전에이를 변경하십시오. 은 axis2.xml 파일로 가서 보안 단계 이후 단계이 DateHandler라는 클래스를 만들

<phase name="Validator"> 
     <handler name="DateValidator" 
       class="com.validator.DateHandler"/> 
    </phase> 

처럼 자신의 위상을 선언 섹션으로 이동하여 XML을 추출하여 값을 변경하려고 할 수있는 일 SOAPContext로부터 취득합니다.

+0

감사합니다. Abhishek에게 감사드립니다. 네, 저는 소비자이고 XML 메시지를 변경할 수 없습니다. 컨트롤이없는 어딘가에서오고 있습니다. 그래서 나는 그것을 무시하도록 축에 요청할 수 없다. Axis는 wsdl2java utitlity를 사용하여 스텁을 생성하고 wsdl에 대해 다른 지원 java를 작성합니다. 생성 된 파일을 제어하거나 동적으로 생성되는 메서드를 다시 작성하려고합니다. – user593029

관련 문제