2013-02-28 1 views
0

원래 제 3 자에게서 wsdl 하나를 보냈고 해결책으로 jax-ws를 선택했습니다. 나는 곧 webservice가 모든 기능을 포함하고 있지 않다는 것을 깨달았습니다. 나는 그것에 대해 물었을 때 4 개의 wsdls를 보냈습니다 ... 각 기능마다 하나씩.Jax-ws multiple webservices

각 기능마다 자체 wsdl이 있습니다. 첫 번째 단계에서는 5 가지 기능 만 있기 때문에 문제가 없지만 다음 3 개월 동안 40 가지를 추가하고 있습니다. 누군가 내가 이것을 처리 할 수있는 방법을 제안 할 수 있습니까? 코드 복제를 중단하는 방법이 필요합니다. 현재 서비스 설정에 매우 유사한 5 개의 코드 블록이 있습니다. 나는 그것을 40 번 복제해야한다.

더 나쁘면, 그들은 모두 공통의 xsd를 공유하지만 실제로는 xsd를 사용하여 유형을 동일하게 보이도록 확장하지 않고 모든 wsdls에서 다른 이름을 사용합니다.

+1

제 3자가 각 웹 서비스에 대한 WSDL 파일을 보내도록 선택한 경우 IM, 귀하의 상사/회사에게 ** 나쁜 디자이너 **로 변경 될 것을 제안합니다. 이 문제를 해결하려면 WS 담당자를 사용하는 코드를 작성하면 디자인 문제를 해결할 수 있습니다. –

+0

각 엔드 포인트마다 다른 대상 URL이 있습니까? 그렇다면, 당신은 꽤 많이 붙어 있습니다. 엔드 포인트를 설계하는 사람들과 이야기하고 작업 당 wsdl 작성을 중단하라고 지시하십시오. – jtahlborn

+0

나는 당신에 동의합니다. 나는 일어나고있는 것을 보았을 때 거의 적응할 수있었습니다. 각 작업에는 별도의 끝점이 있습니다. 설상가상으로 우리는이 공급자들과 붙어 있습니다. 내일 이걸 적절한 사람들에게 전달하겠습니다. 내가 아는 한 그들의 시스템은 아직 개발 중이다. – Leon

답변

0

해결책은 반사 및 제네릭을 사용하는 것이 었습니다. 클래스를 기반으로 포트에 연결할 수있는 기본 클래스가 있습니다.

여전히 이상하지 않으며 많은 wsdls를 원하지 않습니다.