提前谢谢。
请你帮我解决下面的问题。
当我们浏览上下文路径时,问题是内部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>