2010-08-11 2 views
1

OSGi 번들에서 Endpoint.publish()를 사용하여 웹 서비스를 게시하는 방법이 있습니까? 나는 그것이 작동 명령 줄에서 코드를 실행하지만, 번들 활성화에 동일한 코드는 다음과 같은 예외가 발생하는 경우 (endpointInterface @WebService :OSGi에서 Endpoint.publish()를 사용하여 웹 서비스를 게시 하시겠습니까?

Caused by: com.sun.xml.internal.ws.server.ServerRtException: [failed to localize] cannot.load.wsdl(file:/C:/ws/project/org.project.configuration/xml/Configuration.wsdl) 
at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.getPrimaryWsdl(Unknown Source) 
at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.createEndpoint(Unknown Source) 
at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.publish(Unknown Source) 
at com.sun.xml.internal.ws.spi.ProviderImpl.createAndPublishEndpoint(Unknown Source) 
at javax.xml.ws.Endpoint.publish(Unknown Source) 
at org.project.internal.configuration.Activator.start(Activator.java:52) 
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783) 
at java.security.AccessController.doPrivileged(Native Method) 
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774) 
... 11 more 
Root exception: 
com.sun.xml.internal.ws.server.ServerRtException: [failed to localize] cannot.load.wsdl(file:/C:/ws/project/org.project.configuration/xml/Configuration.wsdl) 
at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.getPrimaryWsdl(Unknown Source) 
at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.createEndpoint(Unknown Source) 
at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.publish(Unknown Source) 
at com.sun.xml.internal.ws.spi.ProviderImpl.createAndPublishEndpoint(Unknown Source) 
at javax.xml.ws.Endpoint.publish(Unknown Source) 
at org.project.internal.configuration.Activator.start(Activator.java:52) 
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783) 
at java.security.AccessController.doPrivileged(Native Method) 
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774) 
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755) 
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370) 
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374) 
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067) 
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561) 
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546) 
at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459) 
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243) 
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440) 
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227) 
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337) 
+0

스택 추적'cannot.load.wsdl (file :/C : /ws/project/org.project.configuration/xml/Configuration.wsdl)'...이 파일이 존재합니까? –

+0

네, 존재합니다. OSGi 외부에서이 동일한 코드를 실행하면 문제없이 작동합니다. – oconnor0

답변

0

을 나는 마지막으로 주석을 추가하여이 문제를 해결 할 수 있었다 생각 , name, serviceName, targetNamespace)를 서비스 구현에 추가합니다.