I'm out of my depth given the Camel connection, so I have to defer to Willem.

On Fri, Nov 14, 2008 at 12:23 PM, Marc Giger <[EMAIL PROTECTED]> wrote:
> Hi Willem,
>
> Yes, the class itself and any service methods are annotated.
>
> @javax.jws.WebService(name = "SalaryDeclarationPort", serviceName =
> "SalaryDeclarationService", portName = "SalaryDeclaration",
>        targetNamespace =
> "http://www.swissdec.ch/schema/sd/20051002/SalaryDeclarationService";,
> endpointInterface =
> "ch.swissdec.schema.sd._20051002.salarydeclarationservice.SalaryDeclarationPort")
> public class SalaryDeclarationServiceImpl implements
> SalaryDeclarationPort {
> ...
>
> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
>    @WebResult(name = "PingResponse", targetNamespace =
> "http://www.swissdec.ch/schema/sd/20051002/SalaryDeclarationServiceTypes";,
> partName = "parameters") @WebMethod(operationName = "Ping") public
> PingType ping(@WebParam(partName = "parameters", name= "Ping",
> targetNamespace =
> "http://www.swissdec.ch/schema/sd/20051002/SalaryDeclarationServiceTypes";)
> PingType parameters) {
> ...
>
> In my case the ReflectionServiceFactoryBean tries to setup my service
> although I have annotated the service:
> Caused by:
> org.apache.cxf.service.factory.ServiceConstructionException: Service
> class
> ch.itserve.lohnstandard.refapps2.receiver.ws20051002.service.SalaryDeclarationServiceImpl
> method setTransformer part
> {http://www.swissdec.ch/schema/sd/20051002/SalaryDeclarationService}setTransformer
> cannot be mapped to schema. Check for use of a JAX-WS-specific type
> without the JAX-WS service factory bean. at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createBareMessage(ReflectionServiceFactoryBean.java:969)
> at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:343)
>
> Further ideas?
>
> Thanks
>
> Marc
>
>
> On Fri, 14 Nov 2008 23:38:45 +0800
> Willem Jiang <[EMAIL PROTECTED]> wrote:
>
>> Hi Marc,
>>
>> Does the
>> ch.itserve.lohnstandard.refapps2.receiver.ws20051002.service.SalaryDeclarationServiceImpl
>> has any JAXWS annotation ?
>> If not , camel-cxf component will using the
>> RelectionServiceFactoryBean instead of JaxWsServiceFactoryBean to
>> create the service.
>>
>> Willem
>>
>> Marc Giger wrote:
>> > Hi Benson
>> >
>> > My setup (with camel-routing) :-)
>> > Any ideas?
>> >
>> > Thank you!
>> >
>> > Marc
>> >
>> > <bean id="salaryDeclarationServiceImpl"
>> >           
>> > class="ch.itserve.lohnstandard.refapps2.receiver.ws20051002.service.SalaryDeclarationServiceImpl">
>> >         <property name="userConfig" ref="userConfig"/>
>> >         <property name="messageStore" ref="messageStore"/>
>> >         <property name="resourceLoader"
>> > ref="defaultResourceLoader"/> <property name="transformer"
>> > ref="xslTransformer"/> <property name="logStore" ref="logStore"/>
>> >         <property name="defaultUser" ref="defaultUserInstance"/>
>> >         <property name="wsUtils20051002" ref="wsUtils"/>
>> >     </bean>
>> >
>> >     <cxf:cxfEndpoint id="routerEndpoint"
>> > address="/SalaryDeclarationService"
>> > serviceClass="ch.itserve.lohnstandard.refapps2.receiver.ws20051002.service.SalaryDeclarationServiceImpl">
>> > <cxf:outFaultInterceptors> <ref
>> > bean="prepareMessageStoreFaultOutInterceptor"/> <ref
>> > bean="messageStoreFaultOutInterceptor"/> </cxf:outFaultInterceptors>
>> >     </cxf:cxfEndpoint>
>> >
>> >     <jaxws:endpoint id="salaryDeclarationServiceJAXWS"
>> > implementor="#salaryDeclarationServiceImpl"
>> > address="local://SalaryDeclarationServiceJAXWS">
>> > <jaxws:inInterceptors> <bean
>> > class="ch.itserve.lohnstandard.refapps2.shared.webservice.server.interceptors.IDInInterceptor"/>
>> > <bean
>> > class="ch.itserve.lohnstandard.refapps2.shared.webservice.server.interceptors.RemoveInterceptorsInterceptor"/>
>> > <ref bean="wss4jInSignatureInterceptor"/> <ref
>> > bean="eivWebInInterceptor"/> </jaxws:inInterceptors>
>> > <jaxws:outInterceptors> <bean
>> > class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor"/> <ref
>> > bean="wss4jOutSignatureInterceptor"/> <ref
>> > bean="tamperSignatureOutInterceptor"/> <ref
>> > bean="messageStoreAfterSignatureOutInterceptor"/> <ref
>> > bean="wss4JOutEncryptInterceptor"/> <ref
>> > bean="tamperEncryptionOutInterceptor"/> <ref
>> > bean="messageStoreAfterEnctyptionOutInterceptor"/>
>> > </jaxws:outInterceptors> <jaxws:outFaultInterceptors>
>> >             <ref bean="faultCatcherOutInterceptor"/>
>> >             <ref bean="prepareMessageStoreFaultOutInterceptor"/>
>> >             <ref bean="messageStoreFaultOutInterceptor"/>
>> >         </jaxws:outFaultInterceptors>
>> >         <jaxws:properties>
>> >             <entry key="schema-validation-enabled" value="true"/>
>> >         </jaxws:properties>
>> >         <jaxws:schemaLocations>
>> >             
>> > <jaxws:schemaLocation>wsdl/SalaryDeclaration.xsd</jaxws:schemaLocation>
>> >             
>> > <jaxws:schemaLocation>wsdl/SalaryDeclarationContainer.xsd</jaxws:schemaLocation>
>> >             
>> > <jaxws:schemaLocation>wsdl/SalaryDeclarationServiceTypes.xsd</jaxws:schemaLocation>
>> >         </jaxws:schemaLocations>
>> >     </jaxws:endpoint>
>> >
>> >     <cxf:cxfEndpoint id="localEndpoint"
>> > address="local://SalaryDeclarationServiceJAXWS"
>> > transportId="http://cxf.apache.org/transports/local";
>> > wsdlURL="wsdl/wsdl/SalaryDeclarationService.wsdl"
>> > serviceClass="ch.itserve.lohnstandard.refapps2.receiver.ws20051002.service.SalaryDeclarationServiceImpl"
>> > endpointName="s:SalaryDeclaration"
>> > serviceName="s:SalaryDeclarationService"
>> > xmlns:s="http://www.swissdec.ch/schema/sd/20051002/SalaryDeclarationService";>
>> > <cxf:properties> <entry
>> > key="org.apache.cxf.transport.local.LocalConduit.directDispatch">
>> > <value type="java.lang.Boolean">true</value> </entry>
>> >         </cxf:properties>
>> >     </cxf:cxfEndpoint>
>> >
>> >
>> > On Fri, 14 Nov 2008 08:14:03 -0500
>> > "Benson Margulies" <[EMAIL PROTECTED]> wrote:
>> >
>> >> This suggests that you are using Holder or something like it with
>> >> the wrong configuration. Details?
>> >>
>> >> On Fri, Nov 14, 2008 at 8:10 AM, Marc Giger <[EMAIL PROTECTED]>
>> >> wrote:
>> >>> Hi all,
>> >>>
>> >>> I've tried to upgrade cxf from 2.0.7 to cxf 2.0.9
>> >>> and hit the following error on startup:
>> >>>
>> >>> "Message part {0} of Message {1} cannot be processed. This can be
>> >>> caused by the use of JAX-WS-specific types without the JAX-WS
>> >>> service factory bean."
>> >>>
>> >>> This new check was introduced in commit 688596. What is the
>> >>> reason behind that?
>> >>>
>> >>> My service class has some public setter methods for spring
>> >>> dependency injection, where it fails now because these methods
>> >>> aren't ws-service specific methods.
>> >>>
>> >>> What is the correct solution now?
>> >>>
>> >>> Thanks!
>> >>>
>> >>> Marc
>> >>>
>> >
>> >
>

Reply via email to