cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mnereson <mikenere...@gmail.com>
Subject override binding name
Date Mon, 15 Oct 2007 17:56:05 GMT

Is there a way to override the binding name property?

For example

    <service xmlns="http://xfire.codehaus.org/config/1.0">
        <name>MyFulfillmentService</name>
        <serviceClass>
            com.myco.myapp.MyFulfillmentServiceImpl
        </serviceClass>
        <serviceFactory>#jsr181ServiceFactory</serviceFactory>
    </service>

Results in a binding named MyFulfillmentServiceHttpBinding

The wsdl shows

<wsdl:binding name="MyFulfillmentServiceHttpBinding"
type="tns:MyFulfillmentServicePortType">
   ... 
</wsdl:binding>

However, Our lightweight enterprise service bus requires the binding name to
be SomethingSoapBinding so I need MyFulfillmentServiceSoapBinding. 

My current configuration uses annotations and resembles the following:

=== services.xml ===

<beans>

    <bean name="jsr181ServiceFactory"
          class="org.codehaus.xfire.annotations.AnnotationServiceFactory">

        <constructor-arg ref="xfire.transportManager"
                        
type="org.codehaus.xfire.transport.TransportManager"
                         index="0"/>

        <constructor-arg ref="config" index="1"
                        
type="org.codehaus.xfire.aegis.type.Configuration"/>
    </bean>

    <bean id="config" class="org.codehaus.xfire.aegis.type.Configuration">
        <property name="defaultNillable" value="true"/>
        <property name="defaultMinOccurs" value="1"/>
    </bean>

    <service xmlns="http://xfire.codehaus.org/config/1.0">
        <name>MyFulfillmentService</name>
        <serviceClass>
            com.myco.myapp.MtFulfillmentServiceImpl
        </serviceClass>
        <serviceFactory>#jsr181ServiceFactory</serviceFactory>
    </service>


</beans>


== web.xml ==

<web-app>

    <servlet>
        <servlet-name>XFireServlet</servlet-name>
        <display-name>XFire Servlet</display-name>
        <servlet-class>
            org.codehaus.xfire.transport.http.XFireConfigurableServlet
        </servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>XFireServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>

</web-app>


== excerpts RemoteFulfillmentServiceImpl.java ==

import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService
public class MyFulfillmentServiceImpl implements MyFulfillmentService {

   // various private methods
  
   @WebMethod
    public String soemPublicMethod(final int someId) {
       // maybe a couple lines of code
    }
  
}


Thanks for the help.

~ mnereson



-- 
View this message in context: http://www.nabble.com/override-binding-name-tf4629168.html#a13218105
Sent from the cxf-user mailing list archive at Nabble.com.


Mime
View raw message