Ошибка запуска сервера jpos Q2: java.net.UnknownHostException

Я развернул автономный сервер Q2 на машине с Linux (centos). При запуске сервера Q2 я получаю UnknownHostException. Я не могу понять, на какой хост ссылается сервер Q2. Я использую конфигурацию на основе channel_adapter, server_config, qserver_mux и txnmgr_config xml в папке развертывания. То же самое работало, пока я не перезапустил службу. Найдите выдержку из q2.log.

</log>
<log realm="Q2.system" at="Sun Dec 24 08:22:36 NPT 2017.111">
  <info>
    deploy:/home/cmsadmin/isoserver/deploy/99_sysmon.xml
  </info>
</log>
<log realm="org.jpos.q2.iso.QServer" at="Sun Dec 24 08:22:57 NPT 2017.4">
  <warn>
    error starting service
    <iso-exception>
      org.jpos.core.ConfigurationException: org.jpos.iso.ISOException: java.net.UnknownHostException: jpos.org (java.net.UnknownHostException: jpos.org) (org.jpos.iso.ISOException: java.net.UnknownHostException: jpos.org (java.net.UnknownHostException: jpos.org))
      <iso-exception>
        org.jpos.iso.ISOException: java.net.UnknownHostException: jpos.org (java.net.UnknownHostException: jpos.org)
        <iso-exception>
          java.net.UnknownHostException: jpos.org
          <nested-exception>
          java.net.UnknownHostException: jpos.org
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at java.net.Socket.connect(Socket.java:538)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
    at sun.net.www.http.HttpClient.New(HttpClient.java:308)
    at sun.net.www.http.HttpClient.New(HttpClient.java:326)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1169)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1105)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:933)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1513)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
    at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
    at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
    at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source)
    at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.jpos.iso.packager.GenericPackager.readFile(GenericPackager.java:180)
    at org.jpos.iso.packager.GenericPackager.setConfiguration(GenericPackager.java:145)
    at org.jpos.q2.QFactory.setConfiguration(QFactory.java:390)
    at org.jpos.q2.iso.ChannelAdaptor.newChannel(ChannelAdaptor.java:221)
    at org.jpos.q2.iso.QServer.newChannel(QServer.java:70)
    at org.jpos.q2.iso.QServer.initServer(QServer.java:78)
    at org.jpos.q2.iso.QServer.startService(QServer.java:108)
    at org.jpos.q2.QBeanSupport.start(QBeanSupport.java:114)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
    at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
    at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
    at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
    at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
    at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
    at org.jpos.q2.QFactory.startQBean(QFactory.java:199)
    at org.jpos.q2.Q2.start(Q2.java:464)
    at org.jpos.q2.Q2.deploy(Q2.java:282)
    at org.jpos.q2.Q2.start(Q2.java:183)
    at org.jpos.q2.Q2.main(Q2.java:651)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
          </nested-exception>
          org.jpos.iso.ISOException: java.net.UnknownHostException: jpos.org (java.net.UnknownHostException: jpos.org)

person Diwas Sapkota    schedule 24.12.2017    source источник
comment
В журнале говорится, что хост, который не может разрешить, — это jpos.org. По какой-то причине ваша машина не может преобразовать хост jpos.org в IP-адрес. Вы можете попробовать пропинговать его, чтобы увидеть, отображает ли он такой IP-адрес: $ ping jpos.org PING jpos.org (52.7.83.125) 56 (84) байт данных. Этот хост определен в файле конфигурации вашего адаптера канала.   -  person Andrés Alcarraz    schedule 24.12.2017
comment
@AndrésAlcarraz Но я не могу найти этот адрес jpos.org в моем файле конфигурации. code‹channel-adaptor name='sctca' class=org.jpos.q2.iso.ChannelAdaptor logger=Q2› ‹channel class=org.jpos.iso.channel.PADChannel logger=Q2 packager=org.jpos.iso.packager .GenericPackager› ‹имя свойства=значение хоста=172.25.0.222 /› ‹имя свойства=значение порта=12451 /› ‹имя свойства=packager-config значение=cfg/pack.xml /› ‹имя свойства=значение времени ожидания=300000 / › ‹имя свойства=keep-alive value=true /› ‹/channel› ‹in›IN‹/in› ‹out›OUT‹/out› ‹/channel-adaptor›code   -  person Diwas Sapkota    schedule 24.12.2017
comment
Пожалуйста, добавьте больше информации, в том числе эту, к вопросу. Например, содержимое pack.xml. Я предполагаю, что ваша проблема заключается в ссылке dtd, которая указывает на jpos.org. ‹!DOCTYPE isopackager PUBLIC --//jPOS/jPOS Generic Packager DTD 1.0//EN jpos. org/dtd/generic-packager-1.0.dtd› и каким-то образом ваш сервер не может его разрешить.   -  person Andrés Alcarraz    schedule 24.12.2017
comment
кстати какая у вас версия jpos?   -  person Andrés Alcarraz    schedule 24.12.2017


Ответы (1)


Что касается комментария @apr, вы можете изменить преамбулу в cfg/pack.xml на:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<!DOCTYPE isopackager PUBLIC "-//jPOS/jPOS Generic Packager DTD 1.0//EN" "jpos.org/dtd/generic-packager-1.0.dtd">
person Andrés Alcarraz    schedule 24.12.2017
comment
Это на самом деле не требуется. Если вы используете правильную преамбулу XML, а именно: ‹?xml version=1.0 encoding=UTF-8 standalone=no?› ‹!DOCTYPE isopackager PUBLIC --//jPOS/jPOS Generic Packager DTD 1.0//EN jpos.org/dtd/generic-packager-1.0.dtd› Затем jPOS использует свой внутренний преобразователь сущностей и не подключается к Интернету для загрузки DTD. - person apr; 24.12.2017