Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/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
调用部署在Mule 3.8.3运行时上的APIKit项目,不使用API网关_Mule_Mule Studio - Fatal编程技术网

调用部署在Mule 3.8.3运行时上的APIKit项目,不使用API网关

调用部署在Mule 3.8.3运行时上的APIKit项目,不使用API网关,mule,mule-studio,Mule,Mule Studio,我创建了一个简单的API RAML文件,只需一个GET,不需要参数,它返回一个简单的负载。我将它正确地引入到我的项目中,使用Anypoint Studio(最新版本为上周),并在本地创建并运行了该项目,没有任何问题。我在premise 3.8.3上有一个mule运行时,我已经成功地将其归档并部署到了其中。我可以在/apps目录w/property.txt文件中看到它,并在Mule管理控制台中看到它作为服务器上部署的应用。我只是不能正确地称呼它?您能在mule运行时上完成部署的APIKit项目吗?

我创建了一个简单的API RAML文件,只需一个GET,不需要参数,它返回一个简单的负载。我将它正确地引入到我的项目中,使用Anypoint Studio(最新版本为上周),并在本地创建并运行了该项目,没有任何问题。我在premise 3.8.3上有一个mule运行时,我已经成功地将其归档并部署到了其中。我可以在/apps目录w/property.txt文件中看到它,并在Mule管理控制台中看到它作为服务器上部署的应用。我只是不能正确地称呼它?您能在mule运行时上完成部署的APIKit项目吗?下面是我的简单设置,在运行和调试模式下在Anypoint studio中工作(当然)

我可以调用我的URL,但是当我转到我的mulesoft服务器时,我在那里部署了这个并调用了那个IP,只是为了取回有效负载,它显示没有侦听器。我一定是错过了一个步骤或配置或什么,我只是似乎无法搜索他们的文档或网站找到问题

感谢您的帮助(即使是挖苦!)

它必须部署的mule-config.xml只是一个shell文件。
我的设置有两个问题。所以我向Anirban道歉,因为我占用了你的时间

  • 我已经在8081端口上安装了另一个应用程序。所以我不得不把端口改成8080
  • 我没有为部署正确地归档我的项目,所以我修复了这个问题。导出到Mule>Anypoint Studio项目到Mule可部署归档

  • 当我做对了,一切都很好。因此,我需要注意这一点,并确保在未使用的有效端口上正确部署

    请出示您的完整XML文件好吗?还要确保您的
    host=“0.0.0.0”
    不是本地主机。很抱歉,我忘了放XML。我在上面编辑以显示它。我唯一想做的就是让它返回有效负载中的数据。但是从mule运行时调用它。好吧,只是为了确定。。。你的RAML文件是什么样子的。。。我想与flow generatedI进行比较,我添加了RAML定义,它非常基本,因此没有任何复杂性。我将其部署在Mule Standalone server中,并能够使用url
    获取响应http://localhost:8081/api/testthis
    ?你在哪里部署的?在本地mule独立服务器或任何其他外部服务器中?很好。。。没问题。。请接受您自己的答案并结束问题:)
    <?xml version="1.0" encoding="UTF-8"?>
    <mule xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:apikit="http://www.mulesoft.org/schema/mule/apikit" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core 
    http://www.mulesoft.org/schema/mule/core/current/mule.xsd
    http://www.mulesoft.org/schema/mule/http     
    http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
    http://www.mulesoft.org/schema/mule/apikit
     http://www.mulesoft.org/schema/mule/apikit/current/mule-apikit.xsd
    http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
            <http:listener-config name="testapi-httpListenerConfig" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
        <apikit:config name="testapi-config" raml="testapi.raml" consoleEnabled="false" doc:name="Router"/>
        <flow name="testapi-main">
            <http:listener config-ref="testapi-httpListenerConfig" path="/api/*" doc:name="HTTP"/>
            <apikit:router config-ref="testapi-config" doc:name="APIkit Router"/>
            <exception-strategy ref="testapi-apiKitGlobalExceptionMapping" doc:name="Reference Exception Strategy"/>
        </flow>
        <flow name="testapi-console">
            <http:listener config-ref="testapi-httpListenerConfig" path="/console/*" doc:name="HTTP"/>
            <apikit:console config-ref="testapi-config" doc:name="APIkit Console"/>
        </flow>
        <flow name="get:/testthis:testapi-config">
            <set-payload value="[  {&quot;code&quot;: &quot;MyCode1&quot;, &quot;name&quot; : &quot;My Code 1&quot;, &quot;ID&quot; : &quot;1111&quot;  }, {&quot;code&quot;: &quot;MyCode2&quot;, &quot;name&quot; : &quot;My Code 2&quot;, &quot;ID&quot; : &quot;2222&quot;  } ]" doc:name="Set Payload"/>
        </flow>
        <apikit:mapping-exception-strategy name="testapi-apiKitGlobalExceptionMapping">
            <apikit:mapping statusCode="404">
                <apikit:exception value="org.mule.module.apikit.exception.NotFoundException" />
            <set-property propertyName="Content-Type" value="application/json" doc:name="Property"/>
            <set-payload value="{ &quot;message&quot;: &quot;Resource not found&quot; }" doc:name="Set Payload"/>
        </apikit:mapping>
        <apikit:mapping statusCode="405">
            <apikit:exception value="org.mule.module.apikit.exception.MethodNotAllowedException" />
            <set-property propertyName="Content-Type" value="application/json" doc:name="Property"/>
            <set-payload value="{ &quot;message&quot;: &quot;Method not allowed&quot; }" doc:name="Set Payload"/>
        </apikit:mapping>
        <apikit:mapping statusCode="415">
            <apikit:exception value="org.mule.module.apikit.exception.UnsupportedMediaTypeException" />
            <set-property propertyName="Content-Type" value="application/json" doc:name="Property"/>
            <set-payload value="{ &quot;message&quot;: &quot;Unsupported media type&quot; }" doc:name="Set Payload"/>
        </apikit:mapping>
        <apikit:mapping statusCode="406">
            <apikit:exception value="org.mule.module.apikit.exception.NotAcceptableException" />
            <set-property propertyName="Content-Type" value="application/json" doc:name="Property"/>
            <set-payload value="{ &quot;message&quot;: &quot;Not acceptable&quot; }" doc:name="Set Payload"/>
        </apikit:mapping>
        <apikit:mapping statusCode="400">
            <apikit:exception value="org.mule.module.apikit.exception.BadRequestException" />
            <set-property propertyName="Content-Type" value="application/json" doc:name="Property"/>
            <set-payload value="{ &quot;message&quot;: &quot;Bad request&quot; }" doc:name="Set Payload"/>
        </apikit:mapping>
        </apikit:mapping-exception-strategy>
    </mule>
    
    #%RAML 0.8
    title: mmctest
    version: 1.0
    
    /testthis:
      get:
        queryParameters: 
          code:
              displayName: "Code"
              type: string
              description: "The code to pass through on a querystring"
              required: false
        responses: 
          200:
            body: 
              application/json:
                example: |
                  [  {"code": "MyCode1", "name" : "My Code 1", "ID" : "1111"  }, {"code": "MyCode2", "name" : "My Code 2", "ID" : "2222"  } ]