2017-01-12 5 views
0

単純なAPI RAMLファイルを1つのGETで作成しました。パラメータは必要なく、単純なペイロードを返します。私はそれをプロジェクトのAnypoint Studio(先週の最新)に正しく引っ張って、ローカルでプロジェクトを作成して実行しました。私は前提3.8.3で私はアーカイブし、これを正常に展開したミュールランタイムを持っています。適切な.txtファイルがある/ appsディレクトリに表示され、Mule Mgmt Consoleで私のサーバー上に配備されたアプリケーションとして表示されます。私はちょうどそれを正しく呼び出すことができないのですか?あなたはMuleランタイムでデプロイされたAPIKitプロジェクトでそれを実行できますか?私の簡単なセットアップは以下の通りで、Run and DebugモードのAnypointスタジオで(もちろん)動作します。APIキートプロジェクトをMule 3.8.3ランタイムAPIゲートウェイにデプロイしました

enter image description here

私は私のURLの罰金としてhttp://localhost:8081/api/testthisを呼び出すが、私は、私はこれを展開し、私のmulesoftサーバーに移動して、IP http://x.x.x.x:8081/api/testthisが戻ったばかりのペイロードを取得することを呼び出すときには、何のリスナーを示しません。私はステップや構成や何かを欠いている必要があります、私はちょうど問題を見つけるために自分のDOCやSOのサイトを検索することはできません。

何か助けていただければ幸いです!それはzip file deployed under mule apps directory

を展開示しており、ここで

<?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> 

があり、これはMMCが、それは私たちの1つのdevのサーバーにデプロイ見ている方法です。私はプロジェクトを作成するために使用さ MMC showing deployed application

RAML:

#%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" } ]    

そして、それは展開している必要があります私のラバ-config.xmlには、単にシェルファイルです。 mule-config.xml file for deployment

+0

完全なXMLを表示できますか?また、localhostの代わりに 'host =" 0.0.0.0 "'を確認してください –

+0

私はお詫びします、私はXMLを置くことを忘れました。私はそれを示すために上で編集しました。私が探しているのは、データをペイロードに戻すことだけです。しかし、それはミュールランタイムから呼び出す。 –

+0

まあ、確かに...あなたのRAMLファイルはどうなっていますか?私は生成されたフローと比較したいです –

答えて

0

セットアップに2つの問題がありました。だから私はあなたの時間を奪うためにアナンバンにお詫び申し上げます。

  1. すでに8081ポートに別のアプリがありました。だから私はポートを8080に変更しなければならなかった。
  2. 私はプロジェクトを展開するために正しくアーカイブしなかったので、それを修正した。 Muleへのエクスポート> MuleへのAnypoint StudioプロジェクトDeployable Archive

これを正しく実行したところ、すべて正常でした。ですから、私はそれを監視し、使用していない有効なポートに正しくデプロイする必要があります。

+0

偉大な...問題はない.. plsはあなた自身の答えを受け入れ、質問を閉じる:) –

関連する問題