Pergunta

No projeto que estou trabalhando eu ter implantado um servidor SOAP usando descritores de implementação arquivos (WSDD). Para fazer isso um servidor web (por exemplo tomcat, pontão) é iniciado e, em seguida, o seguinte comando é executado:

java -cp% AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd

O que eu preciso é para ignorar o comando acima para evitar uma chamada para o AdminClient Axis. É possível implantar o meu webservice como arquivo de guerra?

Nota: Uma solução com JWS não pode ser usado devido à sua limitações .

Foi útil?

Solução

Alguém em Stackoverflow descobriu uma maneira programaticamente configure Axis . Isso pode funcionar para você também.

O projeto Axis tem algum href="http://ws.apache.org/axis/java/integration-guide.html#Configuration" rel="nofollow documentação na EngineConfigurationFactory em sua seção sobre Integração.

Outras dicas

Se você está construindo com Maven, você poderia usar maven-WSDD-plugin .

Se o seu WSDL não está mudando (por exemplo, você está apenas corrigindo bugs dentro da lógica biz serviço web ou você está construindo um serviço web para caber um determinado WSDL), você pode pular o maven plugin. Apenas implantar o serviço da web usando AdminClient a um servlet container desenvolvimento, como descrito na pergunta. Isso irá gerar um servidor de config.wsdd in / {} axis_context diretório / WEB-INF do servlet container desenvolvimento. Copie esse servidor-config.wsdd e empacotá-lo para o diretório WEB-INF de sua guerra. Ao implantar a guerra para um local diferente, o serviço de web deve ser incluído na lista de serviços web.

Testado com eixo 1.4 e 1.7 Tomcat

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top