我正在尝试使用apache camel通过camel配置文件创建代理服务。
我已成功为轴2的版本Web服务创建代理服务。
唯一的问题是,代理服务最终wsdl url和地址都指向同一个网址。
这是我的camel-config.xml文件部分:
<cxf:cxfEndpoint id="securityService"
address="https://0.0.0.0:9080/services/version.SecurityHttpsSoap11Endpoint"
endpointName="s:version.SecurityHttpsSoap11Endpoint"
serviceName="s:version"
wsdlURL="etc/version.wsdl"
xmlns:s="http://axisversion.sample"/>
现在唯一的问题是来自上面的配置,如果我必须看到上述服务的wsdl。 我的wldl网址将是:
https://0.0.0.0:9080/services/version.SecurityHttpsSoap11Endpoint?wsdl
肥皂地址位置为:
soap:address location="https://0.0.0.0:9080/services/version.SecurityHttpsSoap11Endpoint"
现在我想要的是wsdl url应该与soap地址位置不同,即
wsdl网址应为:
https://0.0.0.0:9080/services/version.Security?wsdl
并且肥皂地址位置应该是:
soap:address location="https://0.0.0.0:9080/services/version.SecurityHttpsSoap11Endpoint"
我怎样才能做到。 提前谢谢。
答案 0 :(得分:2)
您可以通过添加属性设置来定义CxfEndpoint,就像
一样<cxf:cxfEndpoint id="securityService"
address="https://0.0.0.0:9080/services/version.SecurityHttpsSoap11Endpoint"
endpointName="s:version.SecurityHttpsSoap11Endpoint"
serviceName="s:version"
wsdlURL="etc/version.wsdl"
xmlns:s="http://axisversion.sample">
<cxf:properties>
<entry key="publishedEndpointUrl" value="http://www.simple.com/services/test" />
</cxf:properties>
</cxf:cxfEndpoint>
</cxf:cxfEndpoint>