Hi all,

I have a provider implementation for a service, then i want deploy with a
specified wsdl and every msg should call the invoke() method

I deploy it and my specified  wsdl if correctly  displayed, but every msg
sent to the service is threat as OneWay (an empty 200ok is sent every
time... )

Here is the config:

web.xml


<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd";>
<web-app>
        <context-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>WEB-INF/beans.xml</param-value>
        </context-param>

        <listener>
                <listener-class>
                        org.springframework.web.context.ContextLoaderListener
                </listener-class>
        </listener>

        <servlet>
                <servlet-name>CXFServlet</servlet-name>
                <display-name>CXF Servlet</display-name>
                <servlet-class>
                        org.apache.cxf.transport.servlet.CXFServlet
                </servlet-class>
                <load-on-startup>1</load-on-startup>
        </servlet>

        <servlet-mapping>
                <servlet-name>CXFServlet</servlet-name>
                <url-pattern>/*</url-pattern>
        </servlet-mapping>
</web-app>


beans.xml

<beans xmlns="http://www.springframework.org/schema/beans";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xmlns:jaxws="http://cxf.apache.org/jaxws";
        xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.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-extension-soap.xml" />
        <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
        <bean id="logInbound"
class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
    <bean id="logOutbound"
class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
        
    <bean id="cxf" class="org.apache.cxf.bus.CXFBusImpl">
        <property name="inInterceptors">
            <list>
                <ref bean="logInbound"/>
            </list>
        </property>
        <property name="outInterceptors">
            <list>
                <ref bean="logOutbound"/>
            </list>
        </property>
        <property name="outFaultInterceptors">
            <list>
                <ref bean="logOutbound"/>
            </list>
        </property>
    </bean>  
        <jaxws:endpoint 
          id="ese6ordine" 
          serviceName="s:OrdineService"
          implementor="isi.esercitazione.java2wsdl.Server" 
          address="/ordine" 
          xmlns:s="http://www.rivenditore.org/Ordine"/>
 
</beans>






isi.esercitazione.java2wsdl.Server

package isi.esercitazione.java2wsdl;
import javax.xml.soap.MessageFactory;
                                
@ServiceMode(value=Mode.MESSAGE)
@WebServiceProvider(serviceName = "OrdineService",
                portName = "OrdineInterfaceEndpoint",
                targetNamespace = "http://www.rivenditore.org/Ordine";, 
                wsdlLocation = "webapps/ese6/WEB-INF/ordini.wsdl")
                
public class Server implements Provider<SOAPMessage>{
        public SOAPMessage invoke(SOAPMessage req){
                
                SOAPMessage res = null;
                try{
                        MessageFactory msgFac = MessageFactory.newInstance(); 
                        res = msgFac.createMessage();
                        SOAPFactory soapFac = SOAPFactory.newInstance();
                        SOAPBodyElement esito =
res.getSOAPBody().addBodyElement(soapFac.createName("esito", "ele",
"http://www.rivenditore.org/ordiniElements";));
                        SOAPElement ok = esito.addChildElement("ok");
                        SOAPElement id = ok.addChildElement("idOrdine");
                        id.setTextContent("123456");
                        SOAPElement totale = ok.addChildElement("totale");
                        totale.setTextContent("123.45");
                        totale.addAttribute(soapFac.createName("valuta"), 
"USD");
                        
                }
                catch(SOAPException soapex){
                        System.out.println("Errore SOAP: " + soapex);
                        soapex.printStackTrace();
                }
                catch(Exception ex){
                        System.out.println("Errore SOAP: " + ex);
                        ex.printStackTrace();
                }
                
                return res;
        }
}







Any tip?


Thx all,
Lorenzo

-- 
View this message in context: 
http://www.nabble.com/-CXF--deployment-problems-tp16627862p16627862.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to