You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by BillRowell <bi...@kelleylog.com> on 2008/05/06 16:49:49 UTC
Could not send Message: CXF Servlet in Tomcat
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.
Re: Could not send Message: CXF Servlet in Tomcat
Posted by BillRowell <bi...@kelleylog.com>.
I was able to debug in Eclipse and discovered that the XMLStreamException is
thrown while the XMLStreamWriter is writing the <soap:Envelope> element out,
which would be the first thing it does.
In case there was a problem with the types I converted all of the types in
the object to strings.
Any more ideas about what is happening?????
Thanks!!!
Bill
BillRowell wrote:
>
> I am able to get the wsdl when I run
> http://localhost:8080/spotimdsproxy/services/spotimdsproxy?wsdl.
> I deploy the WAR generated by the build to the Tomcat webapps directory
> and then start Tomcat. The Tomcat manager page shows it deployed at
> /SpotImdsProxy.
>
> I have uploaded the WSClient.java file.
> Bill
>
>
> Mick Knutson-4 wrote:
>>
>> What is your root context for your war?
>>
>> is it '/', or is it '/spotimdsproxy' ???
>>
>>
>> On Tue, May 6, 2008 at 9:11 PM, Daniel Kulp <dk...@apache.org> wrote:
>>
>>>
>>> That IOException is actually generally caused by a 404 error where the
>>> URL
>>> is wrong. It looks like the client is hitting the wrong URL or the
>>> service
>>> isn't deployed/running.
>>>
>>> I would try hitting the URL, but add the ?wsdl flag with your browser
>>> and
>>> see if the WSDL come's up from.
>>>
>>> Dan
>>>
>>>
>>> On May 6, 2008, at 10:49 AM, BillRowell wrote:
>>>
>>>
>>> > 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.
>>> >
>>> >
>>> Daniel Kulp
>>> dkulp@apache.org
>>> http://www.dankulp.com/blog
>>>
>>>
>>>
>>>
>>
>>
>> --
>> Thanks,
>> Mick Knutson
>>
>> http://www.baselogic.com
>> http://www.blincmagazine.com
>> http://www.linkedin.com/in/mickknutson
>> http://www.djmick.com
>> http://www.myspace.com/mickknutson
>> http://www.myspace.com/BLiNCMagazine
>> http://tahoe.baselogic.com
>> ---
>>
>>
> http://www.nabble.com/file/p17103612/WSClient.java WSClient.java
>
--
View this message in context: http://www.nabble.com/Could-not-send-Message%3A-CXF-Servlet-in-Tomcat-tp17084341p17110094.html
Sent from the cxf-user mailing list archive at Nabble.com.
Re: Could not send Message: CXF Servlet in Tomcat
Posted by BillRowell <bi...@kelleylog.com>.
I am able to get the wsdl when I run
http://localhost:8080/spotimdsproxy/services/spotimdsproxy?wsdl.
I deploy the WAR generated by the build to the Tomcat webapps directory and
then start Tomcat. The Tomcat manager page shows it deployed at
/SpotImdsProxy.
I have uploaded the WSClient.java file.
Bill
Mick Knutson-4 wrote:
>
> What is your root context for your war?
>
> is it '/', or is it '/spotimdsproxy' ???
>
>
> On Tue, May 6, 2008 at 9:11 PM, Daniel Kulp <dk...@apache.org> wrote:
>
>>
>> That IOException is actually generally caused by a 404 error where the
>> URL
>> is wrong. It looks like the client is hitting the wrong URL or the
>> service
>> isn't deployed/running.
>>
>> I would try hitting the URL, but add the ?wsdl flag with your browser and
>> see if the WSDL come's up from.
>>
>> Dan
>>
>>
>> On May 6, 2008, at 10:49 AM, BillRowell wrote:
>>
>>
>> > 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.
>> >
>> >
>> Daniel Kulp
>> dkulp@apache.org
>> http://www.dankulp.com/blog
>>
>>
>>
>>
>
>
> --
> Thanks,
> Mick Knutson
>
> http://www.baselogic.com
> http://www.blincmagazine.com
> http://www.linkedin.com/in/mickknutson
> http://www.djmick.com
> http://www.myspace.com/mickknutson
> http://www.myspace.com/BLiNCMagazine
> http://tahoe.baselogic.com
> ---
>
>
http://www.nabble.com/file/p17103612/WSClient.java WSClient.java
--
View this message in context: http://www.nabble.com/Could-not-send-Message%3A-CXF-Servlet-in-Tomcat-tp17084341p17103612.html
Sent from the cxf-user mailing list archive at Nabble.com.
Re: Could not send Message: CXF Servlet in Tomcat
Posted by Mick Knutson <mi...@gmail.com>.
What is your root context for your war?
is it '/', or is it '/spotimdsproxy' ???
On Tue, May 6, 2008 at 9:11 PM, Daniel Kulp <dk...@apache.org> wrote:
>
> That IOException is actually generally caused by a 404 error where the URL
> is wrong. It looks like the client is hitting the wrong URL or the service
> isn't deployed/running.
>
> I would try hitting the URL, but add the ?wsdl flag with your browser and
> see if the WSDL come's up from.
>
> Dan
>
>
> On May 6, 2008, at 10:49 AM, BillRowell wrote:
>
>
> > 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.
> >
> >
> Daniel Kulp
> dkulp@apache.org
> http://www.dankulp.com/blog
>
>
>
>
--
Thanks,
Mick Knutson
http://www.baselogic.com
http://www.blincmagazine.com
http://www.linkedin.com/in/mickknutson
http://www.djmick.com
http://www.myspace.com/mickknutson
http://www.myspace.com/BLiNCMagazine
http://tahoe.baselogic.com
---
Re: Could not send Message: CXF Servlet in Tomcat
Posted by BillRowell <bi...@kelleylog.com>.
Dan
You were right--there was a case problem with the uRL.
Thanks!
Bill
dkulp wrote:
>
>
> That IOException is actually generally caused by a 404 error where the
> URL is wrong. It looks like the client is hitting the wrong URL or
> the service isn't deployed/running.
>
> I would try hitting the URL, but add the ?wsdl flag with your browser
> and see if the WSDL come's up from.
>
> Dan
>
>
> On May 6, 2008, at 10:49 AM, BillRowell wrote:
>
>>
>> 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.
>>
>
> Daniel Kulp
> dkulp@apache.org
> http://www.dankulp.com/blog
>
>
>
>
>
--
View this message in context: http://www.nabble.com/Could-not-send-Message%3A-CXF-Servlet-in-Tomcat-tp17084341p17124839.html
Sent from the cxf-user mailing list archive at Nabble.com.
Re: Could not send Message: CXF Servlet in Tomcat
Posted by Daniel Kulp <dk...@apache.org>.
That IOException is actually generally caused by a 404 error where the
URL is wrong. It looks like the client is hitting the wrong URL or
the service isn't deployed/running.
I would try hitting the URL, but add the ?wsdl flag with your browser
and see if the WSDL come's up from.
Dan
On May 6, 2008, at 10:49 AM, BillRowell wrote:
>
> 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.
>
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog