如果我们浏览上下文路径,则浏览器

时间:2017-09-19 05:53:51

标签: apache-camel

提前谢谢。

请你帮我解决下面的问题。

当我们浏览上下文路径时,问题是内部jaxws端点在bowser上不可见(例如:http://localhost:8080/cws-finance/services)。

服务名称是PaymentWs。 PaymentWs服务有两个版本(1.1,1.2)的wsdls。 我们创建了两个外部cxf端点和一个jaxws内部端点。 第一个外部端点与1.1版本wsdl交互,第二个外部端点与1.2版本wsdl交互 内部jaxws端点与java代码(serviceImpl)交互 我们使用驼峰路由将外部端点路由到内部端点。 如果我浏览上下文路径(例如:http://localhost:8080/cws-finance/services)。我可以在浏览器上查看两个外部端点和一个内部端点。 根据要求,内部端点不应在浏览器上查看。只能看到两个外部端点。 我正在从服务组合包迁移到在tomcat中部署的Web应用程序(war)。在servicemix中,它按照要求工作。通过使用带有JBI容器的NMR api,在servicemix中实现了这一要求。

内部jaxws端点配置:

            <jaxws:endpoint id="paymentWS" implementor="#paymentWSImp"
                            endpointName="tns:PaymentWSPort" address="/nmr/PaymentWS/1.2/Port"
                            serviceName="tns:PaymentWSService" xmlns:tns="http://www.centurytel.com/PaymentWS">
                            <jaxws:features>
                                            <bean class="org.apache.cxf.feature.LoggingFeature" />
                            </jaxws:features>
                            <jaxws:properties>
                                            <entry key="schema-validation-enabled" value="true" />
                            </jaxws:properties>
            </jaxws:endpoint>

外部cxf端点配置:

 <cxf:cxfEndpoint id="paymentWS_1_1" address="/PaymentWS/1.1/Port"
                            endpointName="s:PaymentWSPort" serviceName="s:PaymentWSService"
                            wsdlURL="wsdl/paymentws_1.1.wsdl" xmlns:s="http://www.centurytel.com/PaymentWS">
                            <cxf:properties>
                                            <entry key="dataFormat" value="MESSAGE" />
                            </cxf:properties>
            </cxf:cxfEndpoint>


            <cxf:cxfEndpoint id="paymentWS_1_2" address="/PaymentWS/1.2/Port"
                            endpointName="s:PaymentWSPort" serviceName="s:PaymentWSService"
                            wsdlURL="wsdl/paymentws_1.2.wsdl" xmlns:s="http://www.centurytel.com/PaymentWS">
                            <cxf:properties>
                                            <entry key="dataFormat" value="MESSAGE" />
                            </cxf:properties>
            </cxf:cxfEndpoint>

Camel路由:

            <camelContext xmlns="http://camel.apache.org/schema/spring">

                            <route id="paymentWS_1_1_route">
                                            <from uri="cxf:bean:paymentWS_1_1" />
                                            <setExchangePattern pattern="InOut" />
                                            <convertBodyTo type="javax.xml.transform.stream.StreamSource" />
                                            <to uri=" http://localhost:8080/cws-finance/services /nmr/PaymentWS/1.2/Port"/>
                                            <process ref="PaymentWS_1_1_ProxyOutProc" />
                                            <to uri="log:input" />
                            </route>


                            <route id="paymentWS_1_2_route">
                                            <from uri="cxf:bean:paymentWS_1_2" />
                                            <setExchangePattern pattern="InOut" />
                                            <convertBodyTo type="javax.xml.transform.stream.StreamSource" />
                                            <to uri=" http://localhost:8080/cws-finance/services /nmr/PaymentWS/1.2/Port"/>
                                            <to uri="log:input" />
                            </route>

            </camelContext>

0 个答案:

没有答案