Definir o nome do PortType para o serviço Web Axis2
Pergunta
Estou criando um Web Service Axis2 com Eclipse e as ferramentas de desenvolvimento WSO2.Exporto o Web Service como um arquivo ".aar" e o instalo no WSO2 Application Server.
O WSDL é gerado automaticamente e o nome do Porttype é sempre [ServiceName]PortType.
Existe uma maneira de alterar o PortType durante o desenvolvimento do WS para um nome personalizado ou depois de implantá-lo?Eu sei que posso definir o PortType de um WebService Jax-WS com alguns parâmetros, mas Jax-WS não é adequado para meu caso de uso.
Obrigado por suas respostas.
Solução
Sim.
É possível substituir a convenção de nomenclatura de tipo de porta padrão associando um arquivo WSDL aos nomes de porta personalizados.
Implemente seu serviço Axis2 com Developer Studio.
Quando terminar a implementação do serviço, clique com o botão direito no projeto de serviço Axis2 e selecione "Gerar WSDL".
Em seguida, ele irá gerar o arquivo WSDL no src/principal/recursos pasta.
Então você precisa mover (recortar e colar) o arquivo WSDL gerado para o src/principal/recursos/META-INF pasta onde seu arquivo services.xml existe.
Em seguida, será possível modificar e atualizar os elementos portType do arquivo WSDL.
Depois de concluir a modificação no arquivo WSDL, você precisa abrir o arquivo services.xml no src/principal/recursos/META-INF local e atualize o arquivo services.xml com o seguinte parâmetro.
<service ...> <parameter name="useOriginalwsdl">true</parameter> . . . </service>
Agora você pode exportar o serviço como um arquivo Axis2 (arquivo aar) usando o Developer Studio e implantar o serviço Axis2 gerado no WSO2 App Server ou qualquer outro contêiner de serviço da Web adequado/compatível.
Espero que isto ajude!!
Obrigado e cumprimentos,
Harshana