TIBCO BW6.3和Swagger UI工具上的RESTful Web服务

时间:2016-05-16 14:21:59

标签: swagger-ui tibco-business-works

我最近开始使用TIBCO BW6.3 我已经创建了一个RESTful Web服务来调用另一个SOAP Web服务,希望到现在为止。

我想使用一个名为Swagger UI的用户友好工具,包含在TIBCO BW6.3中,以便测试我的RESTful Web服务,当我启动我的应用程序(代表我的RESTful Web服务的进程)时,我在控制台中获取异常,我无法访问Swagger界面!

控制台最后向我显示应用程序已成功启动的消息,但是当我尝试使用Swagger UI测试我的RESTful Web服务时,它无效!

以下是错误:

!MESSAGE [com.tibco.bw.binding.rest.swagger.runtime(76)] The addSwaggerHostingConfig method has thrown an exception
!STACK 0
java.lang.NullPointerException
    at java.lang.String.replace(Unknown Source)
    at com.tibco.bw.rest.swagger.service.impl.SwaggerHostingConfigurationConsumer.addSwaggerHostingConfig(SwaggerHostingConfigurationConsumer.java:159)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:222)
    at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37)
    at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:615)
    at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:499)
    at org.apache.felix.scr.impl.helper.BindMethod.invoke(BindMethod.java:41)
    at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:1605)
    at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1581)
    at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:369)
    at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:322)
    at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:298)
    at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1492)
    at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1413)
    at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:1222)
    at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:1158)
    at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1444)
    at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:914)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:482)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:998)
    at com.tibco.bw.binding.rest.runtime.core.RestServiceBT.init(RestServiceBT.java:373)
    at com.tibco.bw.frwk.BWComponentImpl.initializeComponent(BWComponentImpl.java:537)
    at com.tibco.bw.frwk.BWComponentImpl.doStart(BWComponentImpl.java:393)
    at com.tibco.bw.frwk.BWApplicationModuleImpl.startApplication(BWApplicationModuleImpl.java:390)
    at com.tibco.bw.frwk.BWApplicationModuleImpl.onResolved(BWApplicationModuleImpl.java:144)
    at com.tibco.bw.thor.runtime.api.DependencyDescriptor.onStateChange(DependencyDescriptor.java:83)
    at com.tibco.bw.thor.runtime.api.ConstituentStateDependency.o00000(ConstituentStateDependency.java:105)
    at com.tibco.bw.thor.runtime.api.ConstituentStateDependency.onStateChange(ConstituentStateDependency.java:71)
    at com.tibco.bw.thor.runtime.model.Constituent.setConstituentState(Constituent.java:124)
    at com.tibco.bw.frwk.BWSharedModuleImpl.onResolved(BWSharedModuleImpl.java:67)
    at com.tibco.bw.thor.runtime.api.DependencyDescriptor.start(DependencyDescriptor.java:120)
    at com.tibco.bw.frwk.BWModuleEventHandler.deployModule(BWModuleEventHandler.java:562)
    at com.tibco.bw.frwk.BWModuleEventHandler.handleBundleEvent(BWModuleEventHandler.java:411)
    at com.tibco.bw.thor.runtime.ApplicationHandler.addingBundle(ApplicationHandler.java:254)
    at com.tibco.bw.thor.runtime.ApplicationHandler.addingBundle(ApplicationHandler.java:1)
    at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:469)
    at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:1)
    at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
    at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
    at org.osgi.util.tracker.BundleTracker.open(BundleTracker.java:156)
    at com.tibco.bw.thor.runtime.ApplicationHandler.onResolved(ApplicationHandler.java:187)
    at com.tibco.bw.thor.runtime.api.DependencyDescriptor.start(DependencyDescriptor.java:120)
    at com.tibco.bw.thor.runtime.ApplicationHandler.handleBundleEvent(ApplicationHandler.java:1568)
    at com.tibco.bw.thor.runtime.Deployer.addingBundle(Deployer.java:485)
    at com.tibco.bw.thor.runtime.Deployer.addingBundle(Deployer.java:1)
    at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:469)
    at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:1)
    at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
    at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
    at org.osgi.util.tracker.BundleTracker.open(BundleTracker.java:156)
    at com.tibco.bw.thor.runtime.Deployer$1.frameworkEvent(Deployer.java:297)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:926)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

!ENTRY com.tibco.bw.binding.rest.swagger.runtime 4 0 2016-05-16 15:09:48.782
!MESSAGE [com.tibco.bw.binding.rest.swagger.runtime(76)] The addSwaggerHostingConfig method has thrown an exception
!STACK 0
java.lang.NullPointerException
    at java.lang.String.replace(Unknown Source)
    at com.tibco.bw.rest.swagger.service.impl.SwaggerHostingConfigurationConsumer.addSwaggerHostingConfig(SwaggerHostingConfigurationConsumer.java:159)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:222)
    at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37)
    at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:615)
    at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:499)
    at org.apache.felix.scr.impl.helper.BindMethod.invoke(BindMethod.java:41)
    at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:1605)
    at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1581)
    at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:369)
    at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:322)
    at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:298)
    at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1492)
    at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1413)
    at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:1222)
    at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:1158)
    at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1444)
    at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:914)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:482)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:998)
    at com.tibco.bw.binding.rest.runtime.core.RestServiceBT.init(RestServiceBT.java:373)
    at com.tibco.bw.frwk.BWComponentImpl.initializeComponent(BWComponentImpl.java:537)
    at com.tibco.bw.frwk.BWComponentImpl.doStart(BWComponentImpl.java:393)
    at com.tibco.bw.frwk.BWApplicationModuleImpl.startApplication(BWApplicationModuleImpl.java:390)
    at com.tibco.bw.frwk.BWApplicationModuleImpl.onResolved(BWApplicationModuleImpl.java:144)
    at com.tibco.bw.thor.runtime.api.DependencyDescriptor.onStateChange(DependencyDescriptor.java:83)
    at com.tibco.bw.thor.runtime.api.ConstituentStateDependency.o00000(ConstituentStateDependency.java:105)
    at com.tibco.bw.thor.runtime.api.ConstituentStateDependency.onStateChange(ConstituentStateDependency.java:71)
    at com.tibco.bw.thor.runtime.model.Constituent.setConstituentState(Constituent.java:124)
    at com.tibco.bw.frwk.BWSharedModuleImpl.onResolved(BWSharedModuleImpl.java:67)
    at com.tibco.bw.thor.runtime.api.DependencyDescriptor.start(DependencyDescriptor.java:120)
    at com.tibco.bw.frwk.BWModuleEventHandler.deployModule(BWModuleEventHandler.java:562)
    at com.tibco.bw.frwk.BWModuleEventHandler.handleBundleEvent(BWModuleEventHandler.java:411)
    at com.tibco.bw.thor.runtime.ApplicationHandler.addingBundle(ApplicationHandler.java:254)
    at com.tibco.bw.thor.runtime.ApplicationHandler.addingBundle(ApplicationHandler.java:1)
    at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:469)
    at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:1)
    at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
    at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
    at org.osgi.util.tracker.BundleTracker.open(BundleTracker.java:156)
    at com.tibco.bw.thor.runtime.ApplicationHandler.onResolved(ApplicationHandler.java:187)
    at com.tibco.bw.thor.runtime.api.DependencyDescriptor.start(DependencyDescriptor.java:120)
    at com.tibco.bw.thor.runtime.ApplicationHandler.handleBundleEvent(ApplicationHandler.java:1568)
    at com.tibco.bw.thor.runtime.Deployer.addingBundle(Deployer.java:485)
    at com.tibco.bw.thor.runtime.Deployer.addingBundle(Deployer.java:1)
    at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:469)
    at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:1)
    at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
    at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
    at org.osgi.util.tracker.BundleTracker.open(BundleTracker.java:156)
    at com.tibco.bw.thor.runtime.Deployer$1.frameworkEvent(Deployer.java:297)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:926)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
15:09:49.585 INFO  [bwEngThread:In-Memory Process Worker-2] c.t.b.p.g.Log.ACMEAppModule.Log - Received Lookup request for OrderID : TESTORDER123
15:09:49.834 INFO  [Thread-30] com.tibco.thor.frwk.Application - TIBCO-THOR-FRWK-300006: Started BW Application [ACMEApp:1.0]
15:09:49.835 INFO  [Framework Event Dispatcher: Equinox Container: f0806ac5-6f1b-0016-1355-e14504be535b] com.tibco.thor.frwk.Application - Started by BusinessStudio, ignoring .enabled settings.

你能帮我解决这个问题,非常感谢。

1 个答案:

答案 0 :(得分:0)

您需要在TIBCO中更改Swagger的默认端口。添加JVM参数以指向正确的端口号,如下所示:

-Dbw.rest.docport=<your_port>

有关详细信息,请参阅此链接: https://community.tibco.com/questions/i-am-getting-below-error-opening-swagger-document-server-bw6-even-after-i-changed-http