Es decir, Cuando por ejemplo queremos probar el WS con el cliente de eclipse, uno agarra y pone la direccion del ws.
Ej:
http://IP_PUBLICA/RoboCupWS/services/RoboCupService?wsdl
Luego de esto el cliente de WS nos trae todos los metodos que contiene ese WS y hasta aca todo muy lindo, el problema es que el motor de axis2 genera automaticamente el WSDL y como ENDPOINT pone la ip LOCAL DE LA MAQUINA...
Con lo cual cuando queremos pedir un metodo al ws, se lo estariamos pidiendo a la ip local de esa maquina, la cual para nosotros no existe.... nosotros queriamos que le pida el metodo a la IP PUBLICA.
Bueno la forma de arreglar este problemita es configurando el ENDPOINT en el axis2.
Para hacer esto hacemos lo siguiente:
- Dentro del proyecto del WS , nos vamos a la carpeta WebContent/WEB-INF/conf
Y dentro de esta carpeta vamos a encontrar el archivo de configuracion de axis2, que se llama axis2.xml.
Dentro de este archivo vamos a buscar esto:
y como podemos ver ahi, configurando esto vamos a cambiar el ENDPOINT del ws.
ej:
o
De esta manera ya tenmos configrado el ENDPOINT del ws, y no vamos a tenr ningun problema.
IMPORTANTE:
Tener en cuenta que haciendo esto, estamos harcodeando el ENDPI¿OINT, por lo cual esto ya no va a ser dinamico, y si el dia de mañana sacamos el WS de ese server y lo migramos a otro server, vamos a tener que cambiar el dns o ip del ENDPOINT para ese nuevo server.
Este comentario ha sido eliminado por el autor.
ResponderEliminar