Java CXF简单前端中的TargetNamespace
我使用的是CXF simple frontend,它只使用XML配置而不是注释来创建soap web服务 现在我创建了一个服务:Java CXF简单前端中的TargetNamespace,java,web-services,soap,cxf,Java,Web Services,Soap,Cxf,我使用的是CXF simple frontend,它只使用XML配置而不是注释来创建soap web服务 现在我创建了一个服务: <simple:server id="locationSettingService" serviceClass="com.my.own.webservice" address="/LocationSettingWebService"> <simple:serviceBean>
<simple:server id="locationSettingService"
serviceClass="com.my.own.webservice"
address="/LocationSettingWebService">
<simple:serviceBean>
<bean
class="com.my.own.webserviceImpl">
</bean>
</simple:serviceBean>
<simple:inInterceptors>
<ref bean="addressingHandler" />
<ref bean="authHandler" />
</simple:inInterceptors>
<simple:dataBinding>
<bean class="org.apache.cxf.aegis.databinding.AegisDatabinding" />
</simple:dataBinding>
</simple:server>
部署后,wsdl为:
<wsdl:definitions name="LocationSettingWebService" ... targetNamespace="http://own.my.com/">
它使用targetNamespacehttp://own.my.com/
我的问题是我不想在上述名称空间的末尾加正斜杠,我只需要http://own.my.com
作为我的targetNamespace。因此我想使用简单前端修改名称空间。有什么帮助吗
更新:
在搜索了很长时间并尝试了数百种解决方法之后。我发现了问题所在,CXF命名空间生成技术比XFire早了一步
转到。并查找XFire兼容性,但我尝试了很多方法,但没有成功摆脱“/”。请帮助人们,我甚至从我的小苏的名声中打开了赏金。多亏了apache的邮件列表和非常慷慨的人们,我终于解决了这个问题 我只需要添加FactoryBean,第一个配置是
XFireCompatibilityServiceConfiguration
,因为首先返回配置的是规则
<simple:server id="locationSettingService"
serviceClass="com.my.own.webservice"
address="/LocationSettingWebService">
<simple:serviceFactory>
<ref bean="aegisCompatibilityFactoryBean"/>
</simple:serviceFactory>
<simple:serviceBean>
<bean
class="com.my.own.webserviceImpl">
</bean>
</simple:serviceBean>
<simple:inInterceptors>
<ref bean="addressingHandler" />
<ref bean="authHandler" />
</simple:inInterceptors>
<simple:dataBinding>
<bean class="org.apache.cxf.aegis.databinding.AegisDatabinding" />
</simple:dataBinding>
</simple:server>
那工厂本身呢
<bean id="aegisCompatibilityFactoryBean"
class="org.apache.cxf.service.factory.ReflectionServiceFactoryBean" scope="prototype">
<property name="serviceConfigurations">
<list>
<bean
class="org.apache.cxf.aegis.databinding.XFireCompatibilityServiceConfiguration">
</bean>
<bean class="org.apache.cxf.service.factory.DefaultServiceConfiguration" />
</list>
</property>
</bean>
如果您将此bean用于多个web服务,请确保其范围是原型