I am new to CXF.  I successfully ran the DoubleIt example on Glen Mazza's
Weblog and then tried to duplicate it with a more complex wsdl
(SpotImdsProxy.wsdl) using CXF 2.1 with Tomcat 6.0-16. I receive the
following stack trace when I perform the run-client Ant task invoking the
default client generated by the CXF wsdl2Java tool:

     [java] Invoking orderMaintenanceAsset...
     [java] Exception in thread "main" javax.xml.ws.soap.SOAPFaultException:
Could not send Message.
     [java]     at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy
.java:218)
     [java]     at $Proxy31.orderMaintenanceAsset(Unknown Source)
     [java]     at client.WSClient.main(WSClient.java:66)
     [java] Caused by: org.apache.cxf.interceptor.Fault: Could not send
Message.
     [java]     at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
     [java]     at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
     [java]     at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276)
     [java]     at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222)
     [java]     at
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
     [java]     at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:177)
     [java]     ... 2 more
     [java] Caused by: java.io.IOException:
/spotimdsproxy/services/spotimdsproxy
     [java]     at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1921)
     [java]     at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1824)
     [java]     at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
     [java]     at
org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:583)
     [java]     at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
     [java]     ... 7 more

My cxf-servlet file is:

<?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.0.xsd
         http://cxf.apache.org/jaxws
         http://cxf.apache.org/schemas/jaxws.xsd";>

        <jaxws:endpoint id="spotimdsproxy"
                implementor="server.SpotImdsProxyPortTypeImpl"
                address="/SpotImdsProxy"
wsdlLocation="webapps\SpotImdsProxy\WEB-INF\wsdl\SpotImdsProxy.wsdl">
        </jaxws:endpoint>
</beans>

My web.xml file is:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" mlns="http://java.sun.com/xml/ns/j2ee";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
         http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";>
        <description>SPOT IMDS Proxy Web Service</description>
        <display-name>SPOT IMDS Proxy Web Service</display-name>
        <servlet>
                <description>SPOT IMDS Proxy Web Service</description>
                <display-name>SPOT IMDS Proxy Web Service</display-name>
                <servlet-name>WebServicePort</servlet-name>
                <servlet-class>
                        org.apache.cxf.transport.servlet.CXFServlet
                </servlet-class>
                <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
                <servlet-name>WebServicePort</servlet-name>
                <url-pattern>/services/*</url-pattern>
        </servlet-mapping>
        <session-config>
                <session-timeout>60</session-timeout>
        </session-config>
</web-app>

The non-schema portion of my wsdl is shown below--the schema is fairly large
and complex.
        <wsdl:message name="OrderMaintenanceAssetRequest">
                <wsdl:part name="request" element="tns:OrderMaintenanceAsset">
                </wsdl:part>
        </wsdl:message>
        <wsdl:message name="OrderMaintenanceAssetResponse">
                <wsdl:part name="response"
                        element="tns:SpotImdsProxyResponse">
                </wsdl:part>
        </wsdl:message>
        <wsdl:message name="UpdateMaintenanceAssetOrderRequest">
                <wsdl:part name="request"
                        element="tns:UpdateMaintenanceAssetOrder">
                </wsdl:part>
        </wsdl:message>
        <wsdl:message name="UpdateMaintenanceAssetOrderResponse">
                <wsdl:part name="response"
                        element="tns:SpotImdsProxyResponse">
                </wsdl:part>
        </wsdl:message>
        <wsdl:message name="SBSSInquiryRequest">
                <wsdl:part name="request"
                        element="tns:StandardBaseSupplySystemInquiry">
                </wsdl:part>
        </wsdl:message>
        <wsdl:message name="SBSSInquiryResponse">
                <wsdl:part name="response"
                        element="tns:SpotImdsProxyResponse">
                </wsdl:part>
        </wsdl:message>
        <wsdl:message name="RequisitionInquiryRequest">
                <wsdl:part name="request" element="tns:RequisitionInquiry">
                </wsdl:part>
        </wsdl:message>
        <wsdl:message name="RequisitionInquiryResponse">
                <wsdl:part name="response"
                        element="tns:SpotImdsProxyResponse">
                </wsdl:part>
        </wsdl:message>
        <wsdl:portType name="SpotImdsProxyPortType">
                <wsdl:operation name="orderMaintenanceAsset">
                        <wsdl:input message="tns:OrderMaintenanceAssetRequest">
                        </wsdl:input>
                        <wsdl:output 
message="tns:OrderMaintenanceAssetResponse">
                        </wsdl:output>
                </wsdl:operation>
                <wsdl:operation name="updateMaintenanceAssetOrder">
                        <wsdl:input
                                
message="tns:UpdateMaintenanceAssetOrderRequest">
                        </wsdl:input>
                        <wsdl:output
                                
message="tns:UpdateMaintenanceAssetOrderResponse">
                        </wsdl:output>
                </wsdl:operation>
                <wsdl:operation name="sbssInquiry">
                        <wsdl:input 
message="tns:SBSSInquiryRequest"></wsdl:input>
                        <wsdl:output message="tns:SBSSInquiryResponse">
                        </wsdl:output>
                </wsdl:operation>
                <wsdl:operation name="requisitionInquiry">
                        <wsdl:input 
message="tns:RequisitionInquiryRequest"></wsdl:input>
                        <wsdl:output message="tns:RequisitionInquiryResponse">
                        </wsdl:output>
                </wsdl:operation>
        </wsdl:portType>
        <wsdl:binding name="SpotImdsProxySOAPBinding"
                type="tns:SpotImdsProxyPortType">
                <soap:binding style="document"
                        transport="http://schemas.xmlsoap.org/soap/http"; />
                <wsdl:operation name="orderMaintenanceAsset">
                        <soap:operation
                        
soapAction="http://www.kelleylog.com/services/SpotImdsProxyService/orderMaintenanceAsset";
/>
                        <wsdl:input>
                                <soap:body use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap:body use="literal" />
                        </wsdl:output>
                </wsdl:operation>
                <wsdl:operation name="updateMaintenanceAssetOrder">
                        <soap:operation                 
soapAction="http://www.kelleylog.com/services/SpotImdsProxyService/updateMaintenanceAssetOrder";
/>
                        <wsdl:input>
                                <soap:body use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap:body use="literal" />
                        </wsdl:output>
                </wsdl:operation>
                <wsdl:operation name="sbssInquiry">
                        <soap:operation
                        
soapAction="http://www.kelleylog.com/services/SpotImdsProxyService/sbssInquiry";
/>
                        <wsdl:input>
                                <soap:body use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap:body use="literal" />
                        </wsdl:output>
                </wsdl:operation>
                <wsdl:operation name="requisitionInquiry">
                        <soap:operation
                        
soapAction="http://www.kelleylog.com/services/SpotImdsProxyService/requisitionInquiry";
/>
                        <wsdl:input>
                                <soap:body use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap:body use="literal" />
                        </wsdl:output>
                </wsdl:operation>
        </wsdl:binding>
        <wsdl:service name="SpotImdsProxyService">
                <wsdl:port name="SpotImdsProxyPort"
                        binding="tns:SpotImdsProxySOAPBinding">
                        <soap:address                   
location="http://localhost:8080/spotimdsproxy/services/spotimdsproxy"; />
                </wsdl:port>
        </wsdl:service>
</wsdl:definitions>

I'd really appreciate any ideas you have to get me going.  I have seen where
others have used the cxf-servlet.xml without Spring--it doesn't matter to me
whether or not I use Spring.

Thanks for your help!

Bill Rowell
-- 
View this message in context: 
http://www.nabble.com/Could-not-send-Message%3A-CXF-Servlet-in-Tomcat-tp17084341p17084341.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to