문제

나의 웹 서비스 공급자 나에게 큰 WSDL 파일이 있지만,우리가 사용하는 것 몇 가지 기능이다.

내가 믿는 큰 WSDL 부정적인 영향을 미칠 수 있다.

우리가 사용하는 웹 서비스에서 클라이언트 프로그램 버 시작 시간메모리 사용법 는 문제입니다.큰 WSDL 는 것을 의미 jax-ws 이 걸리는 더 이상 할 수 바인딩이고 걸리는 것입니다 더 많은 메모리를 위한 스텁 클래스입니다.

가능한 이유는 우리가 트림 WSDL 파일을 가벼운 버전입니까?이 있는 도구는 이러한 목적으?

나는 생각하지 않는 나의 웹 서비스 공급자가 생성하는 다른 WSDL 습니다.우리가야 할 수 있습니다 그것을 자동 빌드 스크립트.

도움이 되었습니까?

해결책

요컨대, 귀하의 답변은 "도구는 없지만 DIY를 할 수 있습니다".

내 WSDL에 너무 많은 미사용 기능과 데이터 구조 스키마가 포함되어 있기 때문에 간단한 도구가 있기를 바랍니다.

자동화 할 수 있다면 WSDL-> TRIMMED WSDL-> 클라이언트 스터브 클래스를 생성하십시오. 사용되지 않는 것은 생성되지 않고 오용이없고, 유지 관리가 필요하지 않으며, 생성 된 코드를 접촉하지 않으며 실제로 사용중인 코드에 집중할 수 있습니다. 더 작은 항아리, 짧은 XML 구문 분석 시간. WSDL이 업데이트되면 클라이언트 스터브 클래스를 재건하고 단위 테스트를 실행해야합니다.

나는 인간으로부터 벗어나려고 노력했다. 오리지널 WSDL에서 작은 변화가있을 때마다 실수를 쉽게하고 실수를 쉽게 할 수있는 시간이 걸립니다.

나는 WSDL 스키마에 대해 대화하지 않습니다. XSLT가 할 수 있다고 생각하고 있습니까?

다른 팁

의 크기 WSDL 이 제 성능에 미치는 영향을...지 않는 한 당신이 그것을 다운로드/분석하는 모든 요청을 합니다.과하는 경우,후자는 하지 않습니다.그것은 필요한만 처리할 때 서비스의 변경,서비스는 항상 변경 호환으로,지속적인 지원을의 오래된 메시지(적어도 일부를 겹치는 기간).

고려해야 할 처리 WSDL 수 프로그램을 변경하고 그것을 당신이 어떤 릴리스 버전 관리 및 테스트,등등.

문제는 WSDL 자체의 크기가 아닙니다. 중요한 생성 코드의 크기입니다. 예를 들어, Axis2를 사용하여 대형 WSDL에서 코드를 생성하는 경우 모든 WSDL 작업에 대한 요청/응답 클래스와 리턴 유형의 클래스를 생성하게됩니다. 나중에 거대한 스텁 클래스로 끝나게됩니다. 이는 필요하지 않은 웹 서비스 작업에서 요구되는 클래스를 가져 오기 때문에 성능에 영향을 줄 수 있습니다.

그렇게 할 수있는 쉬운 도구는 없습니다. 나는 보통 메모장 ++를 사용하여 그렇게하는 동안 항상 실수를 할 수 있습니다.

또 다른 일반적인 실수는 동기화 및 비동기 스타일 메소드를 모두 생성하는 것입니다. 대부분의 경우 (적어도 내 경우) 동기화 스타일 방법 만 사용합니다. 이것은 스터브의 크기를 크게 증가시킬 수 있습니다.

당신이 말하는 도구를 사용하지는 않았지만 코드가 WSDL 파일을 터치하지 않고도 웹 서비스 메소드를 성공적으로 실행할 수 있습니다.

이것은 빠른 테스트를 실행하기에 좋은시기처럼 보입니다. 사용하려는 간단한 방법 중 하나를 실행하는 데 필요한 것을 제외하고 WSDL 파일에서 모든 것을 잘라냅니다. 대신 WSDL의 사본을 참조하십시오. 그것이 효과가 있다면, 당신은 다음에 무엇을 해야할지 알고 있습니다!

WSDL을 다듬을 필요가 없습니다. 이 경로를 내려 가려는 경우 필요하지 않은 스터브 클래스에서 모든 것을 삭제하십시오. 모든 것이 여전히 작동하는지 확인하기 위해 테스트하십시오.

수동으로 제거 할 수 있습니다u003Cwsdl:operation> 필요하지 않은 메소드에 해당하는 요소와 그것이 충분한 지 확인합니다. 나머지 파일을 만지지 않고 해당 요소를 제거 할 수 있어야합니다.

물리적 컴파일 타임에 클라이언트 스터브 클래스를 생성하는 경우 WSDL의 크기는 중요하지 않습니다. (예 : Axis wsdl2java를 통해) WSDL을 다운로드하여 각 요청에 대해 구문 분석하는 경우 다운로드 시간은 구문 분석 시간을 뒤흔들 것입니다. 다운로드 시간이 문제가되면 파일을 로컬로 캐싱하는 것을 고려하십시오. 구문 분석 시간이 문제가되면 파일을 다듬거나 구문 분석 된 객체를 캐싱하는 것이 좋습니다. 공급자가 새로운 WSDL을 발행 할 때 변경 사항을 통합해야하므로 파일을 캐싱하거나 트리밍 할 때주의하십시오. 서비스가 다시 시작될 때마다 또는 일정 간격으로 캐시/트림 된 WSDL 업데이트를 고려하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top