URL リスナーを SOAP Web サービスにリダイレクトするために、キャメルで簡単なコードを作成したいと思います。シンプルな PHP helloWorld SOAP Web サービスを利用できます。http://localhost:8080/test
入力して、外部 SOAP Web サービスにルーティングしたいと考えています。最終的な目標は、soap を REST/JSON に変換することです。
これが私の camel-context.xml です:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cxf="http://camel.apache.org/schema/cxf"
xmlns:camel="http://camel.apache.org/schema/spring" xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd
http://camel.apache.org/schema/cxf
http://camel.apache.org/schema/cxf/camel-cxf.xsd
http://cxf.apache.org/transports/http/configuration
http://cxf.apache.org/schemas/configuration/http-conf.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<cxf:cxfEndpoint id="helloEp"
address="http://test.mydomain.com/soap/hello.php"
serviceClass="com.seb.helloEndPoint"
wsdlURL="http://test.mydomain.com/soap/hello.php?wsdl"/>
<camelContext xmlns="http://camel.apache.org/schema/spring">
<package>com.seb</package>
<route>
<from uri="jetty://http://0.0.0.0:8080/test"/>
<to uri="cxf:bean:helloEp"/>
</route>
</camelContext>
</beans>
camel:run と入力したときの結果の一部:
[pache.camel.spring.Main.main()] MainSupport INFO Apache Camel 2.9.0 starting
[pache.camel.spring.Main.main()] CamelNamespaceHandler INFO OSGi environment not detected.
[pache.camel.spring.Main.main()] SpringCamelContext INFO Apache Camel 2.9.0 (CamelContext: camel-1) is starting
[pache.camel.spring.Main.main()] ManagementStrategyFactory INFO JMX enabled. Using ManagedManagementStrategy.
[pache.camel.spring.Main.main()] ultManagementLifecycleStrategy INFO StatisticsLevel at All so enabling load performance statistics
[pache.camel.spring.Main.main()] AnnotationTypeConverterLoader INFO Found 3 packages with 15 @Converter classes to load
[pache.camel.spring.Main.main()] DefaultTypeConverter INFO Loaded 168 core type converters (total 168 type converters)
[pache.camel.spring.Main.main()] AnnotationTypeConverterLoader INFO Loaded 5 @Converter classes
[pache.camel.spring.Main.main()] DefaultTypeConverter INFO Loaded additional 23 type converters (total 191 type converters) in 0.023 seconds
[pache.camel.spring.Main.main()] ReflectionServiceFactoryBean INFO Creating Service {http://seb.com/}helloEndPointService from WSDL: http://test.mydomain.com/soap/hello.php?wsdl
しかしhttp://127.0.0.1:8080/test
、Web ブラウザーに入力すると、「ページを読み込めませんでした」という空白のページが表示されます。また、同じ問題で PHP SOAP クライアント スクリプトを試してみましたhttp://127.0.0.1:8080/test
(外部エンティティ " http://127.0.0.1:8080/test
" の読み込みに失敗しました)。
誰が私が間違ったことを説明できますか?
ありがとう !