揭骡子HTTP入站端点(exposing mule http inbound endpoint)

2019-11-01 17:47发布

我无法给一个CentOS服务器上暴露HTTP端点/地址。 最令人困惑的部分是我们能够揭露其他终端如AJAX等,这是骡子安装的例子包。 我无法要么揭露这个简单的回声流。 我甚至尝试的显式定义端点引用..它仍然不能正常工作的HTTP连接器的替代品。 我真的很无法理解什么错......这个帖子9002甚至没有显示出来在netstat的当我部署的应用程序成功骡子服务器...

下面的代码:

<mule xmlns="http://www.mulesoft.org/schema/mule/core"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:http="http://www.mulesoft.org/schema/mule/http"
xsi:schemalocation="
    http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.2/mule.xsd
    http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/3.2/mule-http.xsd"> 

<description>
    Sample Flows
</description>

<flow name="echo-flow">
    <http:inbound-endpoint address="http://0.0.0.0:9002/echo" />
    <echo-component />
</flow>

而现在用下面的pom.xml虽然这示例应用程序并不需要所有的运输,并在其中使用的模块他们在我的原始应用是这么使用与此相同。

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>mule.user</groupId>
  <artifactId>valexIntegration-esb</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>mule</packaging>

  <name>Self-Contained Standalone Mule Hello World</name>
  <description>The sources for this application were copied from Mule distributable</description>

  <properties>
    <mule.version>3.3.0</mule.version>
  </properties>

  <build>
  <plugins>
            <plugin>
                <groupId>org.mule.tools</groupId>
                <artifactId>maven-mule-plugin</artifactId>
                <version>1.7</version>
                <extensions>true</extensions>
            </plugin>
  </plugins>
    <resources>
      <resource>
        <directory>src/main/app</directory>
      </resource>
      <resource>
        <directory>src/main/resources</directory>
      </resource>
    </resources>
  </build>

  <dependencies>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy-all</artifactId>
      <version>1.8.1</version>
    </dependency>

    <dependency>
      <groupId>org.mule</groupId>
      <artifactId>mule-core</artifactId>
      <version>${mule.version}</version>
    </dependency>

    <dependency>
      <groupId>org.mule</groupId>
      <artifactId>mule-core</artifactId>
      <version>${mule.version}</version>
      <scope>test</scope>
      <type>test-jar</type>
    </dependency>

    <dependency>
      <groupId>org.mule.modules</groupId>
      <artifactId>mule-module-builders</artifactId>
      <version>${mule.version}</version>
    </dependency>

    <dependency>
      <groupId>org.mule.modules</groupId>
      <artifactId>mule-module-scripting</artifactId>
      <version>${mule.version}</version>
    </dependency>

    <dependency>
      <groupId>org.mule.transports</groupId>
      <artifactId>mule-transport-vm</artifactId>
      <version>${mule.version}</version>
    </dependency>

    <dependency>
      <groupId>org.mule.transports</groupId>
      <artifactId>mule-transport-http</artifactId>
      <version>${mule.version}</version>
    </dependency>

    <dependency>
      <groupId>org.mule.transports</groupId>
      <artifactId>mule-transport-servlet</artifactId>
      <version>${mule.version}</version>
    </dependency>

    <dependency>
      <groupId>org.mule.transports</groupId>
      <artifactId>mule-transport-stdio</artifactId>
      <version>${mule.version}</version>
    </dependency>

    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.9</version>
    </dependency>
  </dependencies>

  <repositories>
    <repository>
      <id>mule-deps</id>
      <name>Mule Dependencies</name>
      <url>http://dist.codehaus.org/mule/dependencies/maven2</url>
    </repository>
  </repositories>
</project>

Answer 1:

看来这个问题是不是在为流动配置,甚至在骡子本身。 我建议你看在操作系统领域的线索,例如:

  1. 是端口9002中的所有服务器的网络接口可用? 既然你试图将其绑定到0.0.0.0地址,它会尝试并将其绑定到所有接口。

  2. 是否有骡子启动日志一些错误? 或者它开始好不好?

  3. 如果没有错误,你可以从服务器内部访问地址是什么? 不仅127.0.0.1:9002,但所有其他可能的网络接口(以及它们各自的IP地址)。

  4. 如果你可以从机器内部,而不是从外部访问的(或者即使你无法从内部访问),你检查是否有在这台服务器执行某些防火墙规则或某些端口阻塞或其他一些安全措施? 不仅考虑内核和内在规律,而且网络规则在路由器或防火墙。

请提供给我们的骡子启动日志,所以我们可以有什么可怎么回事的更多线索。



文章来源: exposing mule http inbound endpoint
标签: http mule