mapear serviço Web Service Axis2
É possível mapear um seviço do axis2 para uma url mais amigavel.
por exemplo:
http://localhost:18080/axis2/services/exemplows.exemplowsHttpSoap11Endpoint
para
http://localhost:18080/exemplows
se possível como fazer ?
por exemplo:
http://localhost:18080/axis2/services/exemplows.exemplowsHttpSoap11Endpoint
para
http://localhost:18080/exemplows
se possível como fazer ?
Welton Carvalho
Curtidas 0
Respostas
Davi Costa
28/02/2012
No seu wsdl altere o campolocation da tag:
<wsdlsoap:address location=http://localhost:18080/axis2/services/exemplows.exemplowsHttpSoap11Endpoint />
e terá que ter cuidado se no seu web.xml tem algo assim:
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
o que força vc ter services depois de http://localhost:18080/axis2
att Davi
<wsdlsoap:address location=http://localhost:18080/axis2/services/exemplows.exemplowsHttpSoap11Endpoint />
e terá que ter cuidado se no seu web.xml tem algo assim:
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
o que força vc ter services depois de http://localhost:18080/axis2
att Davi
GOSTEI 0
Welton Carvalho
28/02/2012
No seu wsdl altere o campolocation da tag:
<wsdlsoap:address location=http://localhost:18080/axis2/services/exemplows.exemplowsHttpSoap11Endpoint />
e terá que ter cuidado se no seu web.xml tem algo assim:
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
o que força vc ter services depois de http://localhost:18080/axis2
att Davi
<wsdlsoap:address location=http://localhost:18080/axis2/services/exemplows.exemplowsHttpSoap11Endpoint />
e terá que ter cuidado se no seu web.xml tem algo assim:
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
o que força vc ter services depois de http://localhost:18080/axis2
att Davi
mas se eu alterar o location direto no wsdl, como a aplicação que for consumir ira encontrar o serviço?
eu não preciso mapear isso no service.xml ou axis2.xml?
GOSTEI 0
Davi Costa
28/02/2012
Vai depender como vc fez toda sua implementação. Posta aqui esses dois arquivos para verificarmos se há necessidade de alteração em mais algum campo.
Sua classe Java não tem nenhuma referência a essa caminho não né (estou falando do serviço mesmo não dos clients)?
att Davi
Sua classe Java não tem nenhuma referência a essa caminho não né (estou falando do serviço mesmo não dos clients)?
att Davi
GOSTEI 0
Welton Carvalho
28/02/2012
No seu wsdl altere o campolocation da tag:
<wsdlsoap:address location=http://localhost:18080/axis2/services/exemplows.exemplowsHttpSoap11Endpoint />
e terá que ter cuidado se no seu web.xml tem algo assim:
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
o que força vc ter services depois de http://localhost:18080/axis2
att Davi
<wsdlsoap:address location=http://localhost:18080/axis2/services/exemplows.exemplowsHttpSoap11Endpoint />
e terá que ter cuidado se no seu web.xml tem algo assim:
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
o que força vc ter services depois de http://localhost:18080/axis2
att Davi
mas se eu alterar o location direto no wsdl, como a aplicação que for consumir ira encontrar o serviço?
eu não preciso mapear isso no service.xml ou axis2.xml?
fiz o que sugeriu e quando tento consumir ele não encontra o endpoint reference http://localhost:8080/Axis2Test/services/
<wsdl:service name=teste>
<wsdl:port name=testeHttpSoap11Endpoint binding=ns:testeSoap11Binding>
<soap:address location=http://localhost:8080/Axis2Test/services//>
</wsdl:port>
</wsdl:service>segue também o services.xml
<service name=teste targetNamespace=http://webservice.com> <Description> Please Type your service description here </Description> <schema schemaNamespace=http://webservice.com/xsd/> <messageReceivers> <messageReceiver mep=http://www.w3.org/2004/08/wsdl/in-only class=org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver /> <messageReceiver mep=http://www.w3.org/2004/08/wsdl/in-out class=org.apache.axis2.rpc.receivers.RPCMessageReceiver/> </messageReceivers> <parameter name=ServiceClass locked=false>br.teste.servico.teste</parameter> </service>
GOSTEI 0
Davi Costa
28/02/2012
localhost:8080/Axis2Test/services// /troca colca pelo menos um nome, por exemplo:
localhost:8080/Axis2Test/services/exemplows
e testa esse seu services.xml vc não alterou né?
Vc depois vai ter que fazer a alteração no client para ele procurar localhost:8080/Axis2Test/services/exemplows
att Davi
localhost:8080/Axis2Test/services/exemplows
e testa esse seu services.xml vc não alterou né?
Vc depois vai ter que fazer a alteração no client para ele procurar localhost:8080/Axis2Test/services/exemplows
att Davi
GOSTEI 0
Dyego Carmo
28/02/2012
Opa !
Funcionou ?
Poderia fechar o chamado ? :D
Valeu !
Funcionou ?
Poderia fechar o chamado ? :D
Valeu !
GOSTEI 0
Welton Carvalho
28/02/2012
Desculpe pela demora para responder.
Bom da forma que o Davi passou funcionou sim, porém gostaria que mais amigável ainda.
hoje esta assim
<wsdl:service name=exemplows>
<wsdl:port name=movemaiswsHttpSoap11Endpoint binding=ns:movemaiswsSoap11Binding>
<soap:address location=http://10.0.17.61:18080/axis2/services/exemplows/>
</wsdl:port>
</wsdl:service>
mas gostaria que ficasse assim
<wsdl:service name=exemplows>
<wsdl:port name=movemaiswsHttpSoap11Endpoint binding=ns:movemaiswsSoap11Binding>
<soap:address location=http://10.0.17.61:18080/exemplows/>
</wsdl:port>
</wsdl:service>
é possivel fazer assim ?
grato..
Bom da forma que o Davi passou funcionou sim, porém gostaria que mais amigável ainda.
hoje esta assim
<wsdl:service name=exemplows>
<wsdl:port name=movemaiswsHttpSoap11Endpoint binding=ns:movemaiswsSoap11Binding>
<soap:address location=http://10.0.17.61:18080/axis2/services/exemplows/>
</wsdl:port>
</wsdl:service>
mas gostaria que ficasse assim
<wsdl:service name=exemplows>
<wsdl:port name=movemaiswsHttpSoap11Endpoint binding=ns:movemaiswsSoap11Binding>
<soap:address location=http://10.0.17.61:18080/exemplows/>
</wsdl:port>
</wsdl:service>
é possivel fazer assim ?
grato..
GOSTEI 0
Welton Carvalho
28/02/2012
localhost:8080/Axis2Test/services// /troca colca pelo menos um nome, por exemplo:
localhost:8080/Axis2Test/services/exemplows
e testa esse seu services.xml vc não alterou né?
Vc depois vai ter que fazer a alteração no client para ele procurar localhost:8080/Axis2Test/services/exemplows
att Davi
localhost:8080/Axis2Test/services/exemplows
e testa esse seu services.xml vc não alterou né?
Vc depois vai ter que fazer a alteração no client para ele procurar localhost:8080/Axis2Test/services/exemplows
att Davi
Davi é possivel fazer isso
localhost:8080/exemplows
ao invés disso
localhost:8080/Axis2Test/services/exemplows
GOSTEI 0
Davi Costa
28/02/2012
Desconheço essa hipótese, mas só com muita pesquisa para confirmar..
att Davi
att Davi
GOSTEI 0