I have developed the service in "java to wsdl" style with wsdl,xsd schema,
cxf-servlet.xml, 
web.xml generation. When I using the service with Tomcat all fine. 

But then I tried used service with server generated by cxf and faced with
some issues...

My cxf-servlet.xml look like:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  xmlns:jaxws="http://cxf.apache.org/jaxws";
xmlns:soap="http://cxf.apache.org/bindings/soap";
  xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://cxf.apache.org/bindings/soap
http://cxf.apache.org/schemas/configuration/soap.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd";>

  <import resource="classpath:META-INF/cxf/cxf.xml" />
  <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

  <jaxws:endpoint xmlns:tns="http://service.dany.com/"; id="messenger"
implementor="com.dany.service.Messenger"
    wsdlLocation="wsdl/messengersei.wsdl" endpointName="tns:MessengerPort"
serviceName="tns:MessengerService" address="/MessengerPort">
  </jaxws:endpoint>

  <bean id="db" class="com.dany.service.DbParams">
    <property name="connectionString" value="jdbc:" />
    <property name="username" value="user" />
    <property name="password" value="password" />
  </bean>

  <bean id="serviceBean" class="com.dany.service.Messenger">
    <property name="dbParams" ref="db" />
  </bean>

</beans>


The generated server code look like:

Object implementor = new com.dany.service.Messenger();
String address = "http://localhost:9090/MessengerPort";;
Endpoint.publish(address, implementor);

and cxf-servlet.xml configuration not used. Therefore "dbParams" injection
to service via spring magic not working.

So, I change code to:

URL busFile = this.getClass().getResource("/WEB-INF/cxf-servlet.xml");

Bus busLocal = new SpringBusFactory().createBus(busFile);
BusFactory.setDefaultBus(busLocal);

Object implementor = new com.dany.service.Messenger();
String address = "http://localhost:9090/MessengerPort";;
Endpoint.publish(address, implementor);

With this code I can configure service with cxf-servlet.xml and "dbParams"
successfully injected to service :)

But service wsdl (http://localhost:9090/MessengerPort?wsdl) confuse me...

It's looks like dynamically generated by cxf and does not point to my wsdl
file (wsdlLocation="wsdl/messengersei.wsdl") :((

So, how to make jetty point to my wsdl file specified in cxf-servlet.xml?




--
View this message in context: 
http://cxf.547215.n5.nabble.com/wsdl-issues-with-jetty-configured-by-cxf-servlet-xml-tp5715379.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to