When the runtime creates the binding object, it has to give it a name (to put 
in the wsdl).   For the soap binding, it defaults to the service name + 
"SoapBinding".      It's kind of hard to set, though.    The simple:server 
element has a "binding" child element.  You can set that to a bean of type 
org.apache.cxf.binding.soap.SoapBindingConfiguration
and the bindingName property on that bean.    That SHOULD do it.

Dan



On Mon January 25 2010 4:29:27 am Coder One wrote:
> I got this log in my transport factory on the getConduit()...
>  
>  targetInfo=BindingQName={http://services.xyz.acme.com/}XyzServiceSoapBindi
> ng, ServiceQName={http://services.xyz.acme.com/}XyzService,
>  QName={http://services.xyz.acme.com/}XyzServicePort 
> The question is, where did that BindingQName came from?  How did CXF
>  determine the BindingQName? 
> I use the below client-side code to create a simple front-end to the
>  service: 
>             ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
>             factory.setServiceClass(XyzService.class);
>             factory.setAddress("Holala");
>             factory.setDataBinding(new
>  org.apache.cxf.aegis.databinding.AegisDatabinding());
>  factory.setTransportId("http://acme.com/mytransports/abc";); 
> On the server-side, I use the following:
>  
>     <simple:server id="xyzWebService"
>                    serviceClass="com.acme.xyz.services.XyzService"
>                    address="/xyzService">
>         <simple:serviceBean>
>             <ref bean="xyzService"/>
>         </simple:serviceBean>
>         <simple:dataBinding>
>             <bean class="org.apache.cxf.aegis.databinding.AegisDatabinding"
>  /> </simple:dataBinding>
>     </simple:server>
>  
> Thanks...
> 

-- 
Daniel Kulp
[email protected]
http://www.dankulp.com/blog

Reply via email to