You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by fredzhu <ad...@fengsage.cn> on 2010/03/05 10:39:02 UTC

Some issues with cxf client

Hi all ,

   I used "soapUI" tools get data from ESB. soap like:

<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns1:getNumbersViaAreaHierarchyResponse><return><numberLongs><attribute><cityCode>011</cityCode><countryCode>94</countryCode><numberType>STANDARD</numberType></attribute><numberShort>2999000</numberShort></numberLongs><numberLongs><attribute><cityCode>011</cityCode><countryCode>94</countryCode><numberType>STANDARD</numberType></attribute><numberShort>2999001</numberShort></numberLongs><returnStatus><code>0</code><codeType>NRM</codeType><details>SUCCESS</details><message>SUCCESS</message></returnStatus><areaCode>S-MD</areaCode></return></ns1:getNumbersViaAreaHierarchyResponse></soap:Body></soap:Envelope>

  But when i used by cxf client get data,have some issues,

org.apache.cxf.binding.soap.SoapFault: Error reading XMLStreamReader.
	at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:196)
	at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:58)
	at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
	at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:664)
	at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2160)
	at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2040)
	at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1965)
	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
	at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)
	at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
	at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:478)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:308)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:260)
	at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
	at $Proxy39.getNumbersViaAreaHierarchy(Unknown Source)
	at
com.hongcheng.novaesb.selectnumber.SelectNumberServer.main(SelectNumberServer.java:80)
Caused by: com.ctc.wstx.exc.WstxParsingException: Undeclared namespace
prefix "ns1"
 at [row,col {unknown-source}]: [1,121]
	at
com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:630)
	at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:467)
	at
com.ctc.wstx.sr.NsInputElementStack.resolveAndValidateElement(NsInputElementStack.java:369)
	at
com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2947)
	at
com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2848)
	at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019)
	at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:189)
	... 17 more
Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Error
reading XMLStreamReader.
	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:146)
	at $Proxy39.getNumbersViaAreaHierarchy(Unknown Source)
	at
com.hongcheng.novaesb.selectnumber.SelectNumberServer.main(SelectNumberServer.java:80)
Caused by: com.ctc.wstx.exc.WstxParsingException: Undeclared namespace
prefix "ns1"
 at [row,col {unknown-source}]: [1,121]
	at
com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:630)
	at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:467)
	at
com.ctc.wstx.sr.NsInputElementStack.resolveAndValidateElement(NsInputElementStack.java:369)
	at
com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2947)
	at
com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2848)
	at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019)
	at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:189)
	at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:58)
	at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
	at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:664)
	at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2160)
	at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2040)
	at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1965)
	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
	at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)
	at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
	at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:478)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:308)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:260)
	at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
	... 2 more

who can help me?
-- 
View this message in context: http://old.nabble.com/Some-issues-with-cxf-client-tp27791752p27791752.html
Sent from the cxf-user mailing list archive at Nabble.com.


java.net.SocketTimeoutException: Read timed out

Posted by raceeene <ra...@xs4all.nl>.
Hi,

Can somebody give me a clue how to solve a 'Read timed out' Exception?

When I run a CXF generated Webservice in Tomcat, the WS Client works fine,
it becomes answers from the Webservice.


But when I access the 'same' webservice on a Microsoft-IIS/6.0 server, I
get
a 'Read timed out':
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Mar 5, 2010 1:29:43 PM
org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onClose
INFO: Outbound Message
---------------------------
ID: 1
Address: http://bosanova:/swing/music.asmx
Encoding: UTF-8
Content-Type: text/xml
Headers: {SOAPAction=["http://www.microsoft.com/music/ReadDevice"],
Accept=[*/*]}
Payload: <soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:ReadDevice
xmlns:ns2="http://www.microsoft.com/iptv/bss"><deviceId>99999</deviceId></ns2:ReadDevice></soap:Body></soap:Envelope>
--------------------------------------
Mar 5, 2010 1:30:44 PM org.apache.cxf.phase.PhaseInterceptorChain
doIntercept
WARNING: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
	at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
	at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:483)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:309)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:261)
	at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
	at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
	at $Proxy57.readDevice(Unknown Source)
	at webservice.client.Music_Client.getDevice(Music_Client.java:105)
	at webservice.client.Music_Client.main(Music_Client.java:196)
Caused by: java.net.SocketTimeoutException: Read timed out
 .
 .
 .
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

I have another WS Client, based on Axis, but deeply burried in a WAR file,
which I cannot use.
So I created a new CXF based WS Client, where I used the same WSDL file
(document, litteral).

In the Axis Stubs I found things like sendXsiTypes=false and
sendMultiRefs=false.
Maybe these valuse have to be set in my CXF WS Client, but I cannot find
information
about howto do this.
The situtuation is that my XCF WS Client waits for a response, but the
Microsoft Webservice
doesn't send a reponse presumably. 
An annotation like @OneWay doesn't appear applicable to me, as the WS
Method (readDevice) has
a return value.

Many thanks in advance, and many greets,

Harry van Rijn








Re: Some issues with cxf client

Posted by Benson Margulies <bi...@gmail.com>.
That XML is invalid. The namespace ns1 needs to be defined and isn't. You
need to take this up with the people who made the code which produced it.

On Fri, Mar 5, 2010 at 4:39 AM, fredzhu <ad...@fengsage.cn> wrote:

>
> Hi all ,
>
>   I used "soapUI" tools get data from ESB. soap like:
>
> <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/
> "><soap:Body><ns1:getNumbersViaAreaHierarchyResponse><return><numberLongs><attribute><cityCode>011</cityCode><countryCode>94</countryCode><numberType>STANDARD</numberType></attribute><numberShort>2999000</numberShort></numberLongs><numberLongs><attribute><cityCode>011</cityCode><countryCode>94</countryCode><numberType>STANDARD</numberType></attribute><numberShort>2999001</numberShort></numberLongs><returnStatus><code>0</code><codeType>NRM</codeType><details>SUCCESS</details><message>SUCCESS</message></returnStatus><areaCode>S-MD</areaCode></return></ns1:getNumbersViaAreaHierarchyResponse></soap:Body></soap:Envelope>
>
>  But when i used by cxf client get data,have some issues,
>
> org.apache.cxf.binding.soap.SoapFault: Error reading XMLStreamReader.
>        at
>
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:196)
>        at
>
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:58)
>        at
>
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>        at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:664)
>        at
>
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2160)
>        at
>
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2040)
>        at
>
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1965)
>        at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>        at
> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)
>        at
>
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>        at
>
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:478)
>        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:308)
>        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:260)
>        at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>        at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
>        at $Proxy39.getNumbersViaAreaHierarchy(Unknown Source)
>        at
>
> com.hongcheng.novaesb.selectnumber.SelectNumberServer.main(SelectNumberServer.java:80)
> Caused by: com.ctc.wstx.exc.WstxParsingException: Undeclared namespace
> prefix "ns1"
>  at [row,col {unknown-source}]: [1,121]
>        at
> com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:630)
>        at
> com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:467)
>        at
>
> com.ctc.wstx.sr.NsInputElementStack.resolveAndValidateElement(NsInputElementStack.java:369)
>        at
>
> com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2947)
>        at
> com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2848)
>        at
> com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019)
>        at
>
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:189)
>        ... 17 more
> Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Error
> reading XMLStreamReader.
>        at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:146)
>        at $Proxy39.getNumbersViaAreaHierarchy(Unknown Source)
>        at
>
> com.hongcheng.novaesb.selectnumber.SelectNumberServer.main(SelectNumberServer.java:80)
> Caused by: com.ctc.wstx.exc.WstxParsingException: Undeclared namespace
> prefix "ns1"
>  at [row,col {unknown-source}]: [1,121]
>        at
> com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:630)
>        at
> com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:467)
>        at
>
> com.ctc.wstx.sr.NsInputElementStack.resolveAndValidateElement(NsInputElementStack.java:369)
>        at
>
> com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2947)
>        at
> com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2848)
>        at
> com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019)
>        at
>
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:189)
>        at
>
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:58)
>        at
>
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>        at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:664)
>        at
>
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2160)
>        at
>
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2040)
>        at
>
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1965)
>        at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>        at
> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)
>        at
>
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>        at
>
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:478)
>        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:308)
>        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:260)
>        at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>        at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
>        ... 2 more
>
> who can help me?
> --
> View this message in context:
> http://old.nabble.com/Some-issues-with-cxf-client-tp27791752p27791752.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>
>