опубликовать сервис jax-ws на публичном ip - PullRequest
0 голосов
/ 29 ноября 2011

У меня есть простой веб-сервис jax-ws, который на localhost отлично работает с клиентами, но теперь я хочу опубликовать веб-сервис на общедоступном ip, чтобы клиенты могли взаимодействовать с ним через сеть wan вместо локальной сети. Я подписался на поставщика услуг no-ip dns и определил свой хост как «myname.no-ip.info».

В своем коде я запускаю сервис следующим образом:

Endpoint.publish("http://localhost:8080/baseStationProvider", new BaseStationProvider());

и браузер на http://myname.no -ip.info: 8080 / baseStationProvider @ wsdl не показывает wsdl.

Если я запускаю службу таким образом:

Endpoint.publish("http://myname.no-ip.info/baseStationProvider", new BaseStationProvider());

компилируя код, он вызывает это исключение: Ошибка выполнения сервера: java.net.SocketException: неразрешенный адрес

Любая идея для проблемы и / или как сделать то, что мне нужно?

заранее спасибо

1 Ответ

0 голосов
/ 29 ноября 2011

Скорее всего, это связано с маршрутизацией и межсетевыми экранами, а не публикацией веб-службы и т. Д. Игнорируя аспект веб-службы, вы даже можете добраться до сервера, когда используете его в браузере:

http://myname.no-ip.info:8080/

Который должен выглядеть так же, как

http://localhost:8080/

Если нет, то, вероятно, вам нужно проверить DNS / Routing / Firewalls. Диагностика, которая поможет там: 1) Может ли машина, на которой вы тестируете, разрешить DNS-имя mynam.no-ip.info? nslookup, ping, traceroute / tracert 2) есть ли межсетевой экран, блокирующий порт 8080 от доступа к локальному хосту? Если маршрут из Интернета к вашему хосту попадает в брандмауэр (что он и сделает), то этот брандмауэр должен будет отправить запрос.

Удачи.

...