Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parameters 带有baseUriParameter的Mule APIkit截断资源路径,因此出错为';未找到资源';_Parameters_Base Url_Mule Esb_Apikit_Raml 1.0 - Fatal编程技术网

Parameters 带有baseUriParameter的Mule APIkit截断资源路径,因此出错为';未找到资源';

Parameters 带有baseUriParameter的Mule APIkit截断资源路径,因此出错为';未找到资源';,parameters,base-url,mule-esb,apikit,raml-1.0,Parameters,Base Url,Mule Esb,Apikit,Raml 1.0,关于如何让APIkit路由器使用baseUriParameter,有谁能在这里建议/纠正我吗。如果HTTP侦听器连接器中的路径是硬编码的,如/api/process/30001/*,则一切正常。APIKit路由器能够路由请求的资源路径。但是,当HTTP侦听器连接器路径中有一个占位符(如/api/process/{clientID}/*)时,APIkit路由器会抛出一个错误,因为未找到任何资源 从下面的stacktrace中,我可以看到请求资源路径被截断,例如,/sample变成了ple,我找不到

关于如何让APIkit路由器使用
baseUriParameter
,有谁能在这里建议/纠正我吗。如果HTTP侦听器连接器中的路径是硬编码的,如
/api/process/30001/*
,则一切正常。APIKit路由器能够路由请求的资源路径。但是,当HTTP侦听器连接器路径中有一个占位符(如
/api/process/{clientID}/*
)时,APIkit路由器会抛出一个错误,因为
未找到任何资源

从下面的stacktrace中,我可以看到请求资源路径被截断,例如,
/sample
变成了
ple
,我找不到原因。通过调试,我可以看到完整的请求URI

我尝试了其他几种选择,如:

  • 正在路由器配置中检查“保留raml基本uri”
  • 在HTTP侦听器连接器的高级选项卡中取消选中“解析请求”框
  • 我也检查过了,以确保我的RAML符合要求

    我在MuleSoft的文档中发现:

    在API Gateway Runtime 2.x及更早版本中,APIkit设计为与RAML接口紧密配合,但不会自动从RAML定义导入以下项:

    证券计划

    协议

    基本参数

    那么,如何导入
    baseUriParameters
    ?我如何让它工作

    我已经被这个问题困扰了很长时间,所以非常感谢您的帮助。如果我遗漏了什么,请纠正我。非常感谢

    #%RAML 1.0
    title: Test API
    baseUri: /api/process/{clientID}
    baseUriParameters: 
      clientID:
       type: number
       example: 300001
      
    /sample:
      get:
        responses:
          200:
            body:
              application/json: 
    
    流量:

    
    
    堆栈跟踪:

     WARN  2018-06-11 19:52:27,452 [[baseuriprameter-apikit].baseuriprameter- 
     apikit-httpListenerConfig.worker.01] org.mule.module.apikit.Configuration: 
    No matching patterns for URI ple
    ERROR 2018-06-11 19:52:28,082 [[baseuriprameter-apikit].baseuriprameter- 
    apikit-httpListenerConfig.worker.01] 
    org.mule.module.apikit.MappingExceptionListener: 
    
    **************************************************
    Message               : ple
    Payload               : {NullPayload}
    Payload Type          : org.mule.transport.NullPayload
    Element               : /baseuriprameter-apikit-main/processors/0 @ 
    baseuriprameter-apikit:baseuriprameter-apikit.xml:11 (APIkit Router)
    Element XML           : <apikit:router 
    xmlns:apikit="http://www.mulesoft.org/schema/mule/apikit" config- 
    ref="baseuriprameter-apikit-config" doc:name="APIkit Router"> 
    </apikit:router>
    --------------------------------------------------------
    Root Exception stack trace:
    org.mule.module.apikit.exception.NotFoundException: ple
    atorg.mule.module.apikit.AbstractConfiguration$2.load(AbstractConfiguration.java:178)atorg.mule.module.apikit.AbstractConfiguration$2.load(AbstractConfiguration.java:169)
    atcom.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)atcom.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
    atcom.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
    at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
    at org.mule.module.apikit.AbstractRouter.processRouterRequest(AbstractRouter.java:177)
    at org.mule.module.apikit.AbstractRouter.processBlockingRequest(AbstractRouter.java:104)
    at org.mule.module.apikit.AbstractRouter.processBlocking(AbstractRouter.java:98)
    
    WARN 2018-06-11 19:52:27452[[baseuriprameter apikit].baseuriprameter-
    apikit httpListenerConfig.worker.01]org.mule.module.apikit.Configuration:
    没有URI的匹配模式
    错误2018-06-11 19:52:28082[[baseuriprameter apikit].baseuriprameter-
    apikit httpListenerConfig.worker.01]
    org.mule.module.apikit.MappingExceptionListener:
    **************************************************
    信息:ple
    有效负载:{NullPayload}
    有效负载类型:org.mule.transport.NullPayload
    元件:/baseuriprameter apikit主/处理器/0@
    baseuriprameter apikit:baseuriprameter apikit.xml:11(apikit路由器)
    元素XML:
    --------------------------------------------------------
    根异常堆栈跟踪:
    org.mule.module.apikit.exception.NotFoundException:ple
    atorg.mule.module.apikit.AbstractConfiguration$2.load(AbstractConfiguration.java:178)atorg.mule.module.apikit.AbstractConfiguration$2.load(AbstractConfiguration.java:169)
    atcom.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)atcom.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
    atcom.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
    位于com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
    位于com.google.common.cache.LocalCache.get(LocalCache.java:3937)
    位于com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
    位于com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
    位于org.mule.module.apikit.AbstractRouter.processRouterRequest(AbstractRouter.java:177)
    位于org.mule.module.apikit.AbstractRouter.processBlockingRequest(AbstractRouter.java:104)
    位于org.mule.module.apikit.AbstractRouter.processBlocking(AbstractRouter.java:98)
    
    有人遇到这个问题并找到了解决方案吗?谢谢您使用的是哪个版本的Mule运行时?
     WARN  2018-06-11 19:52:27,452 [[baseuriprameter-apikit].baseuriprameter- 
     apikit-httpListenerConfig.worker.01] org.mule.module.apikit.Configuration: 
    No matching patterns for URI ple
    ERROR 2018-06-11 19:52:28,082 [[baseuriprameter-apikit].baseuriprameter- 
    apikit-httpListenerConfig.worker.01] 
    org.mule.module.apikit.MappingExceptionListener: 
    
    **************************************************
    Message               : ple
    Payload               : {NullPayload}
    Payload Type          : org.mule.transport.NullPayload
    Element               : /baseuriprameter-apikit-main/processors/0 @ 
    baseuriprameter-apikit:baseuriprameter-apikit.xml:11 (APIkit Router)
    Element XML           : <apikit:router 
    xmlns:apikit="http://www.mulesoft.org/schema/mule/apikit" config- 
    ref="baseuriprameter-apikit-config" doc:name="APIkit Router"> 
    </apikit:router>
    --------------------------------------------------------
    Root Exception stack trace:
    org.mule.module.apikit.exception.NotFoundException: ple
    atorg.mule.module.apikit.AbstractConfiguration$2.load(AbstractConfiguration.java:178)atorg.mule.module.apikit.AbstractConfiguration$2.load(AbstractConfiguration.java:169)
    atcom.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)atcom.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
    atcom.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
    at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
    at org.mule.module.apikit.AbstractRouter.processRouterRequest(AbstractRouter.java:177)
    at org.mule.module.apikit.AbstractRouter.processBlockingRequest(AbstractRouter.java:104)
    at org.mule.module.apikit.AbstractRouter.processBlocking(AbstractRouter.java:98)