Не могу получить доступ к wsdl с помощью ApacheCXF dosgi - PullRequest
0 голосов
/ 10 мая 2011

Я использую Apache CXF D-OSgi и Eclipse Equinox в качестве среды разработки, я регистрирую службу, но не могу открыть страницу wsdl в IE.Коды регистров услуг приведены ниже:

 `      Dictionary<String, String> props = new Hashtable<String, String>();
    props.put("osgi.remote.interfaces", "*");       
    props.put("osgi.remote.configuration.type","pojo");
    props.put("osgi.remote.configuration.pojo.address", "http://localhost:9000/1");

        sr = bundleContext.registerService
    (service1.class.getName(), new impl1(), props);`

Когда я пытаюсь запустить клиентскую программу, отображается следующая ошибка:

Caused by: java.net.SocketException: SocketException invoking http://localhost:9000/1: Network is unreachable: connect
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:2058)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2043)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:639)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
... 43 more

Caused by: java.net.SocketException: Network is unreachable: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1955)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1907)
at org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:42)
at org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:69)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1974)
... 46 more

2011-5-10 23:22:04 org.apache.cxf.dosgi.topologymanager.RemoteServiceAdminListenerImpl remoteAdminEvent

信息: получен необработанный тип события: 1 2011-5-10 23:22:04 org.apache.cxf.dosgi.topologymanager.TopologyManager $ 1ifiedService 信息: TopologyManager: EndpointListener изменен ... 2011-5-10 23:22:04 org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminCore importService 信息: importService () Конечная точка: {endpoint.id = http://localhost:9000/1, objectClass = [Ljava.lang.String; @ 988707, osgi.remote.configuration.pojo.address = http://localhost:9000/1, osgi.remote.configuration.type= pojo, osgi.remote.interfaces = , service.imported = true, service.imported.configs = org.apache.cxf.ws} 2011-5-10 23:22:04 org.apache.cxf.dosgi.topologymanager.RemoteServiceAdminListenerImpl remoteAdminEvent 信息: получен необработанный тип события: 1 2011-5-10 23:22:04 org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminCore importService 信息: importService () Endpoint: {endpoint.id http://localhost:9000/1, objectClass = [Ljava.lang.String; @ 988707, osgi.remote.configuration.pojo.address = http://localhost:9000/1, osgi.remote.configuration.type = pojo, osgi.remote.interfaces = , service.imported = true, service.imported.configs =org.apache.cxf.ws} 2011-5-10 23:22:04 org.apache.cxf.dosgi.topologymanager.RemoteServiceAdminListenerImpl remoteAdminEvent 信息: получен необработанный тип события: 1

1 Ответ

1 голос
/ 22 июня 2011

Я думаю, что это неправильные свойства для регистрации службы удаленного взаимодействия.

Я столкнулся с той же проблемой (не отображать WSDL при обращении из браузера, хотя консоль OSGi сообщает, что моя служба успешно зарегистрирована), но может заставить это работать, используя следующие свойства для удаленной службы в CXF OSGi

props.put("service.exported.interfaces", "*");
    props.put("service.exported.configs", "org.apache.cxf.ws");
    props.put("org.apache.cxf.ws.address", "http://localhost:8080/TDMSAPIService");

Надеюсь, это поможет.

...