文档库 最新最全的文档下载
当前位置:文档库 › CXF请求webService超时区分

CXF请求webService超时区分

CXF请求webService超时区分
CXF请求webService超时区分

CXF请求超时区分

设置超时代码

JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory .newInstance();

String url = "http://192.168.1.56:7001/test?WSDL";

Client clientTemp = clientFactory.createClient(url);

HTTPConduit http = (HTTPConduit) clientTemp.getConduit();

HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();

httpClientPolicy.setConnectionTimeout(10); // 连接超时

httpClientPolicy.setAllowChunking(false); // 取消块编码

httpClientPolicy.setReceiveTimeout(1000); // 响应超时

http.setClient(httpClientPolicy);

Object[] arg;

String result = "";

try {

arg = clientTemp.invoke("testMothd", "8698053");

result = (String) arg[0];

} catch (Exception e) {

e.printStackTrace();

}

这部分代码大家在网络上随便搜索都能得到,这个就是CXF设置连接的超时与响应时间的方法。当然小编主要讲的不是这个,主要来说下到底如何区分连接超时,还是响应超时。

分析请求错误(5大种)

创建Client类时,URL无效

Exception in thread "main" org.apache.cxf.service.factory.ServiceConstructionException: Could not resolve URL "https://www.wendangku.net/doc/f912869920.html,/e?WSDL".

at

https://www.wendangku.net/doc/f912869920.html,poseUrl(DynamicClientFactory.java:5 66)

at

org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:2 53)

at

org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:1 98)

at

org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:1 91)

at

org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:1 46)

at ClientTest.soap(ClientTest.java:141)

at ClientTest.main(ClientTest.java:167)

Caused by: java.io.FileNotFoundException: https://www.wendangku.net/doc/f912869920.html,/e?WSDL

at

https://www.wendangku.net/doc/f912869920.html,.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1241) at org.apache.cxf.resource.URIResolver.tryFileSystem(URIResolver.java:167)

at org.apache.cxf.resource.URIResolver.(URIResolver.java:90)

at

https://www.wendangku.net/doc/f912869920.html,poseUrl(DynamicClientFactory.java:5 58)

... 6 more

创建Client类时,URL有效,连接超时

Exception in thread "main" org.apache.cxf.service.factory.ServiceConstructionException: Could not resolve URL "http://192.168.1.56:7001/test?WSDL".

at

https://www.wendangku.net/doc/f912869920.html,poseUrl(DynamicClientFactory.java:5 66)

at

org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:2 53)

at

org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:1 98)

at

org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:1 91)

at

org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:1 46)

at ClientTest.soap(ClientTest.java:143)

at ClientTest.main(ClientTest.java:176)

Caused by: https://www.wendangku.net/doc/f912869920.html,.ConnectException: Connection timed out: connect

at https://www.wendangku.net/doc/f912869920.html,.PlainSocketImpl.socketConnect(Native Method)

at https://www.wendangku.net/doc/f912869920.html,.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)

at https://www.wendangku.net/doc/f912869920.html,.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)

at https://www.wendangku.net/doc/f912869920.html,.PlainSocketImpl.connect(PlainSocketImpl.java:182)

at https://www.wendangku.net/doc/f912869920.html,.SocksSocketImpl.connect(SocksSocketImpl.java:366)

at https://www.wendangku.net/doc/f912869920.html,.Socket.connect(Socket.java:519)

at https://www.wendangku.net/doc/f912869920.html,workClient.doConnect(NetworkClient.java:158)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.openServer(HttpClient.java:394)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.openServer(HttpClient.java:529)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.(HttpClient.java:233)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.New(HttpClient.java:306)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.New(HttpClient.java:323)

at

https://www.wendangku.net/doc/f912869920.html,.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:790) at

https://www.wendangku.net/doc/f912869920.html,.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:731) at https://www.wendangku.net/doc/f912869920.html,.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:656) at

https://www.wendangku.net/doc/f912869920.html,.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:979) at org.apache.cxf.resource.URIResolver.tryFileSystem(URIResolver.java:167)

at org.apache.cxf.resource.URIResolver.(URIResolver.java:90)

at

https://www.wendangku.net/doc/f912869920.html,poseUrl(DynamicClientFactory.java:5 58)

... 6 more

创建Client类成功,调用方法时,URL无效

2012-6-30 9:38:34 org.apache.cxf.jaxb.JAXBUtils logGeneratedClassNames

信息: Created classes: https://www.wendangku.net/doc/f912869920.html,.Dispatche, https://www.wendangku.net/doc/f912869920.html,.DispatcheResponse, https://www.wendangku.net/doc/f912869920.html,.ObjectFactory

2012-6-30 9:38:51 org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging

警告: Interceptor for {com.yxd.eai}dispatche#{com.yxd.eai}dispatche has thrown exception, unwinding now

org.apache.cxf.interceptor.Fault: Could not send Message.

at

org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handle Message(MessageSenderInterceptor.java:64)

at

org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:285)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:271)

at ClientTest.soap(ClientTest.java:154)

at ClientTest.main(ClientTest.java:176)

Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response '404: Not Found' when communicating with http://192.168.1.56:7001/test

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTT PConduit.java:2255)

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPCondu it.java:2193)

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2037 )

at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)

at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:697)

at

org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handle Message(MessageSenderInterceptor.java:62)

... 8 more

org.apache.cxf.interceptor.Fault: Could not send Message.

at

org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handle Message(MessageSenderInterceptor.java:64)

at

org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:285)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:271)

at ClientTest.soap(ClientTest.java:154)

at ClientTest.main(ClientTest.java:176)

Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response '404: Not Found' when communicating with http://192.168.1.56:7001/Test

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTT PConduit.java:2255)

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPCondu it.java:2193)

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2037 )

at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)

at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:697)

at

org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handle Message(MessageSenderInterceptor.java:62)

... 8 more

创建Client类成功,调用方法时,连接超时

2012-6-30 9:41:11 org.apache.cxf.jaxb.JAXBUtils logGeneratedClassNames

信息: Created classes: https://www.wendangku.net/doc/f912869920.html,.Dispatche, https://www.wendangku.net/doc/f912869920.html,.DispatcheResponse, https://www.wendangku.net/doc/f912869920.html,.ObjectFactory

2012-6-30 9:42:16 org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging

警告: Interceptor for {com.yxd.eai}dispatche#{com.yxd.eai}dispatche has thrown exception, unwinding now

org.apache.cxf.binding.soap.SoapFault: Error writing to XMLStreamWriter.

at

org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEnvelopeStart(SoapOutInt erceptor.java:175)

at

org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor. java:81)

at

org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor. java:61)

at

org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:285)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:271)

at ClientTest.soap(ClientTest.java:154)

at ClientTest.main(ClientTest.java:176)

Caused by: javax.xml.stream.XMLStreamException: https://www.wendangku.net/doc/f912869920.html,.SocketTimeoutException: connect timed out

at

com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.writeStartElement(XMLStreamWriterI mpl.java:1335)

at

org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEnvelopeStart(SoapOutInt erceptor.java:122)

... 10 more

Caused by: https://www.wendangku.net/doc/f912869920.html,.SocketTimeoutException: connect timed out

at https://www.wendangku.net/doc/f912869920.html,.PlainSocketImpl.socketConnect(Native Method)

at https://www.wendangku.net/doc/f912869920.html,.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)

at https://www.wendangku.net/doc/f912869920.html,.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)

at https://www.wendangku.net/doc/f912869920.html,.PlainSocketImpl.connect(PlainSocketImpl.java:182)

at https://www.wendangku.net/doc/f912869920.html,.SocksSocketImpl.connect(SocksSocketImpl.java:366)

at https://www.wendangku.net/doc/f912869920.html,.Socket.connect(Socket.java:519)

at https://www.wendangku.net/doc/f912869920.html,workClient.doConnect(NetworkClient.java:158)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.openServer(HttpClient.java:394)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.openServer(HttpClient.java:529)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.(HttpClient.java:233)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.New(HttpClient.java:306)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.New(HttpClient.java:323)

at

https://www.wendangku.net/doc/f912869920.html,.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:790) at

https://www.wendangku.net/doc/f912869920.html,.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:731) at https://www.wendangku.net/doc/f912869920.html,.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:656) at

https://www.wendangku.net/doc/f912869920.html,.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:834) at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching( HTTPConduit.java:2003)

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.ja va:1955)

at

org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:42) at

org.apache.cxf.io.AbstractThresholdOutputStream.unBuffer(AbstractThresholdOutputStream.java :89)

at

org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:79 )

at

com.sun.xml.internal.stream.writers.UTF8OutputStreamWriter.write(UTF8OutputStreamWriter.ja va:94)

at

com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.openStartTag(XMLStreamWriterImpl. java:1559)

at

com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.writeStartElement(XMLStreamWriterI mpl.java:1294)

... 11 more

org.apache.cxf.binding.soap.SoapFault: Error writing to XMLStreamWriter.

at

org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEnvelopeStart(SoapOutInt erceptor.java:175)

at

org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor. java:81)

at

org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor. java:61)

at

org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:285)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:271)

at ClientTest.soap(ClientTest.java:154)

at ClientTest.main(ClientTest.java:176)

Caused by: javax.xml.stream.XMLStreamException: https://www.wendangku.net/doc/f912869920.html,.SocketTimeoutException: connect timed out

at

com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.writeStartElement(XMLStreamWriterI mpl.java:1335)

at

org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEnvelopeStart(SoapOutInt erceptor.java:122)

... 10 more

Caused by: https://www.wendangku.net/doc/f912869920.html,.SocketTimeoutException: connect timed out

at https://www.wendangku.net/doc/f912869920.html,.PlainSocketImpl.socketConnect(Native Method)

at https://www.wendangku.net/doc/f912869920.html,.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)

at https://www.wendangku.net/doc/f912869920.html,.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)

at https://www.wendangku.net/doc/f912869920.html,.PlainSocketImpl.connect(PlainSocketImpl.java:182)

at https://www.wendangku.net/doc/f912869920.html,.SocksSocketImpl.connect(SocksSocketImpl.java:366)

at https://www.wendangku.net/doc/f912869920.html,.Socket.connect(Socket.java:519)

at https://www.wendangku.net/doc/f912869920.html,workClient.doConnect(NetworkClient.java:158)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.openServer(HttpClient.java:394)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.openServer(HttpClient.java:529)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.(HttpClient.java:233)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.New(HttpClient.java:306)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.New(HttpClient.java:323)

at

https://www.wendangku.net/doc/f912869920.html,.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:790) at

https://www.wendangku.net/doc/f912869920.html,.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:731) at https://www.wendangku.net/doc/f912869920.html,.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:656)

at

https://www.wendangku.net/doc/f912869920.html,.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:834) at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching( HTTPConduit.java:2003)

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.ja va:1955)

at

org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:42) at

org.apache.cxf.io.AbstractThresholdOutputStream.unBuffer(AbstractThresholdOutputStream.java :89)

at

org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:79 )

at

com.sun.xml.internal.stream.writers.UTF8OutputStreamWriter.write(UTF8OutputStreamWriter.ja va:94)

at

com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.openStartTag(XMLStreamWriterImpl. java:1559)

at

com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.writeStartElement(XMLStreamWriterI mpl.java:1294)

... 11 more

创建Client类成功,调用方法时,响应超时

2012-6-30 9:35:13 org.apache.cxf.jaxb.JAXBUtils logGeneratedClassNames

信息: Created classes: https://www.wendangku.net/doc/f912869920.html,.Dispatche, https://www.wendangku.net/doc/f912869920.html,.DispatcheResponse, https://www.wendangku.net/doc/f912869920.html,.ObjectFactory

2012-6-30 9:35:15 org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging

警告: Interceptor for {com.yxd.eai}dispatche#{com.yxd.eai}dispatche has thrown exception, unwinding now

org.apache.cxf.interceptor.Fault: Could not send Message.

at

org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handle Message(MessageSenderInterceptor.java:64)

at

org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:285)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:271)

at ClientTest.soap(ClientTest.java:154)

at ClientTest.main(ClientTest.java:176)

Caused by: https://www.wendangku.net/doc/f912869920.html,.SocketTimeoutException: SocketTimeoutException invoking http://192.168.1.56:7001/Test: Read timed out

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at

sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at

sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl. java:27)

at https://www.wendangku.net/doc/f912869920.html,ng.reflect.Constructor.newInstance(Constructor.java:513)

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit. java:2107)

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2092 )

at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)

at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:697)

at

org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handle Message(MessageSenderInterceptor.java:62)

... 8 more

Caused by: https://www.wendangku.net/doc/f912869920.html,.SocketTimeoutException: Read timed out

at https://www.wendangku.net/doc/f912869920.html,.SocketInputStream.socketRead0(Native Method)

at https://www.wendangku.net/doc/f912869920.html,.SocketInputStream.read(SocketInputStream.java:129)

at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)

at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)

at java.io.BufferedInputStream.read(BufferedInputStream.java:317)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.parseHTTP(HttpClient.java:632)

at

https://www.wendangku.net/doc/f912869920.html,.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1002) at https://www.wendangku.net/doc/f912869920.html,.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTT PConduit.java:2224)

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPCondu it.java:2193)

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2037

)

... 11 more

org.apache.cxf.interceptor.Fault: Could not send Message.

at

org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handle Message(MessageSenderInterceptor.java:64)

at

org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:285)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:271)

at ClientTest.soap(ClientTest.java:154)

at ClientTest.main(ClientTest.java:176)

Caused by: https://www.wendangku.net/doc/f912869920.html,.SocketTimeoutException: SocketTimeoutException invoking http://192.168.1.56:7001/Test: Read timed out

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at

sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at

sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl. java:27)

at https://www.wendangku.net/doc/f912869920.html,ng.reflect.Constructor.newInstance(Constructor.java:513)

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit. java:2107)

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2092 )

at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)

at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:697)

at

org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handle Message(MessageSenderInterceptor.java:62)

... 8 more

Caused by: https://www.wendangku.net/doc/f912869920.html,.SocketTimeoutException: Read timed out

at https://www.wendangku.net/doc/f912869920.html,.SocketInputStream.socketRead0(Native Method)

at https://www.wendangku.net/doc/f912869920.html,.SocketInputStream.read(SocketInputStream.java:129)

at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)

at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)

at java.io.BufferedInputStream.read(BufferedInputStream.java:317)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)

at https://www.wendangku.net/doc/f912869920.html,.www.http.HttpClient.parseHTTP(HttpClient.java:632)

at

https://www.wendangku.net/doc/f912869920.html,.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1002) at https://www.wendangku.net/doc/f912869920.html,.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTT PConduit.java:2224)

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPCondu it.java:2193)

at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2037 )

... 11 more

区分方法

我们了解到以上的异常发生之后,小编就在异常下了动了点头脑

try {

arg = clientTemp.invoke("testMothd", "8698053");

result = (String) arg[0];

} catch (Exception e) {

e.printStackTrace();

Throwable ta = e.getCause();

if(ta instanceof SocketTimeoutException){

System.out.println("响应超时");

}else if(ta instanceof HTTPException){

System.out.println("服务端地址无效404");

}else if(ta instanceof XMLStreamException){

System.out.println("连接超时");

}else{

System.out.println("other");

}

}

当然以上调用都是Client类创建成功之后的异常情况处理,至于创建Client类时,发生异常区分方法,按照以上思路同理解决。

CXF WebService中传递复杂对象(List、Map、Array)

CXF WebService中传递复杂对象 前面一篇文章介绍的都是传递简单的字符串,现在开始介绍传递复杂类型的对象。如JavaBean、Array、List、Map等。 如有不正确之处,请各位给予指出! 1、首先看看服务器端的代码所需要的JavaBean对象 Java代码 1.package com.wy.object.entry; 2. 3.import java.io.Serializable; 4. 5./** 6.* User Entity 7.* @author Administrator 8.* 9.*/ 10.public class User implements Serializable { 11. 12.private static final long serialVersionUID = 1L; 13. 14.private int id; 15.private String name; 16.private String email; 17.private String address; 18. 19.public int getId() { 20.return id; 21.} 22. 23.public void setId(int id) { 24.this.id = id; 25.} 26. 27.public String getName() { 28.return name; 29.} 30. 31.public void setName(String name) { https://www.wendangku.net/doc/f912869920.html, = name; 33.}

34. 35.public String getEmail() { 36.return email; 37.} 38. 39.public void setEmail(String email) { 40.this.email = email; 41.} 42. 43.public String getAddress() { 44.return address; 45.} 46. 47.public void setAddress(String address) { 48.this.address = address; 49.} 50. 51.@Override 52.public String toString() { 53. 54.return this.id + " - " + https://www.wendangku.net/doc/f912869920.html, + " - " + this.address + " - " 55.+ this.email; 56. 57.} 58.} 下面的是集合传递Users,CXF直接传递集合对象会出现异常,用一个对象包装下就Ok了,不知道是什么原因。 Java代码 1.package com.wy.object; 2. 3.import java.util.HashMap; 4.import java.util.List; 5. 6.import https://www.wendangku.net/doc/f912869920.html,er; 7. 8./** 9.* CXF直接传递集合对象会出现异常,用一个对象包装下就Ok了,不知 道是什么原因? 10.* 11.* @author Administrator 12.* 13.*/

EBS中发布WEBSERVICE接口的方法

在Oracle EBS二次开发中,PL/SQL程序是开发人员使用频率最高的开发语言,同时也是大家最容易掌握的工具之一了,而我们也很希望将自己编写的PL/SQL 程序发布为Web服务来提供给客户端程序使用,同时也可以实现和外围系统的集成,有了irep_parser这个工具,我们就可以将自己编写的PL/SQL 程序发布到Oracle Integration Repositoy中。Oracle Integration Repositoy中集成接口的来源都是Oracle,客户化的程序发布上去的为Custom: 下面描述如何将PL/SQL程序接口发布到Oracle Integration Repositoy中作为集成接口供第三方程序集成调用 一、给EBS系统打补丁 参考如下安装文档: 安装文档.docx 二、添加客户化应用到Product Family 客户化应用设置好之后,它没有归属于任何的产品家族,如我的客户化应用CUX,因此发布在客户化应用下的集成接口在Oracle Integration Repositoy中无法方便的查看,如下图:

如果客户化集成接口是组织到自己的应用下就需要先注册一个产品家族,下面将CUX Developer(CUX) 应用注册到CUX Developer(cux_pf)这个产品家族下作为例子进行演示: 1,添加产品家族 CUX Developer(cux_pf) --添加产品家族 begin -- Call the procedure ad_pa_insert_package.insert_ad_pm_product_info(x_product_abbreviation => 'cux_pf', x_pseudo_product_flag => 'N', x_product_family_flag => 'Y', x_application_short_name => NULL, x_product_name => 'CUX Developer', x_product_family_abbreviation => NULL, x_product_family_name => NULL, x_aru_update_date => to_char(SYSDATE,'YYYY-MM-DD HH24:MI:SS'), x_currdate => to_char(SYSDATE,'YYYY-MM-DD HH24:MI:SS'), x_last_updated_by => -1, x_created_by => -1); COMMIT; end; 2,注册CUX Developer(CUX)应用到产品家族中

基于spring+cxf实现用户文件传输的webservice

基于spring+cxf实现用户文件传输的webservice 1 引言 在EDI系统中,用户数量较多,并且信息化水平差距较大,所以对报文的收发方式具有多样化的需求。相对其他访问方式而言,http(s)的访问在防火墙限制、安全性等方面都有较好表现。因此,有相当部分用户提出通过webservice发送报文的需求。本文介绍了如何采用cxf 结合spring框架实现具有文件上传和相关查询功能的webservice,以便其在使用.net或其他框架开发的MIS系统中能够自动生成报文并上传。同时,该webservice还提供了用户基本身份验证功能,对访问请求进行限制。 Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS 。这些 Services 可以支持多种协议,比如:SOAP、XML/HTTP、RESTful HTTP 或者 CORBA ,并且可以在多种传输协议上运行,比如:HTTP、JMS 或者 JBI,CXF 大大简化了 Services 的创建,同时它继承了 XFire 传统,一样可以天然地和 Spring 进行无缝集成。 2.功能分析 (1)该webservice需要提供报文上传到服务器上的基本功能。 (2)用户可以查询已经发送的报文历史信息列表,包括报文名称、报文大小和发送时间。 (3)由于不是开放服务,所以还需要对用户身份进行基本认证。 3.服务构建 (1)定义要提供的服务接口 首先要定义webservice输入输出的数据类型,主要包括报文名称、报文类型、报文发送时间以及处理文件流的DataHandler属性。代码片段如下:

Webservice接口开发

Webservice接口开发 Author:Geloin

目录 1 准备工作 (1) 2 服务器端 (1) 2.1 主程序 (1) 2.2 services.xml (2) 2.3 传值方式 (3) 2.4 打包 (4) 2.5 发布 (6) 3 客户端 (8) 3.1 导入包 (8) 3.2 示例代码 (8) 3.3 代码解析 (10) 3.3.1 设定服务器地址 (10) 3.3.2 设定action (10) 3.3.3 设定要调用的方法名 (11) 3.3.4 设定客户端控件 (11) 3.3.5 设定命名空间 (11) 3.3.6 设定需要传送的值 (11) 3.3.7 设定返回数据类型 (11) 3.3.8 获取返回结果 (12)

1准备工作 至https://www.wendangku.net/doc/f912869920.html,/axis2/下载axis2的bin及war包,分别解压之,在环境变量中添加AXIS2_HOM,将axis2.war放置到tomcat/webapps目录下,启动tomcat,用浏览器打开http://localhost:8080/axis2,如下图所示: 2服务器端 2.1主程序 服务器端可以是任何一个程序,例如下面的例子: public class Test { // 此程序返回一个字符串 public String test1(String arg) { return arg + “测试”; } // 此程序返回一个一维数组 public String[] test2(String arg) { String[] result = new String[]{arg}; return result;

CXF实现WebService

使用Apache CXF实现Web Service 1.Web service的概念 什么是Web Service呢?从表面上看,Web Service就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web调用来实现某个功能的应用程序。从深层次上看,Web Service是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发布、查找以及通过Web来调用。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。Web Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。它可以使用标准的互联网协议,像超文本传输协议HTTP和XML,将功能体现在互联网和企业内部网上。Web Service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用你喜欢的任何语言,在你喜欢的任何平台上写Web Service。Web Service是构建互联网分布式系统的基本部件。"网络服务"(Web Service)的本质,就是通过网络调用其他网站的资源。 举例来说,写一个“四川大地震图片墙”,它能动态显示关于四川地震的最新图片。但是,所有的图片都不是储存在自己的服务器上,而是来自https://www.wendangku.net/doc/f912869920.html,。只需要发出一个动态请求,要求https://www.wendangku.net/doc/f912869920.html,向自己提供图片。这种情况下,https://www.wendangku.net/doc/f912869920.html,提供的就是一种Web service。如果把图片都存放在本地服务器,不调用https://www.wendangku.net/doc/f912869920.html,,那么我就是在使用“本地服务”。 所以,Web service让你的网站可以使用其他网站的资源,比如在网页上显示天气、地图、twitter上的最新动态等等。 2.Web Service架构和云 如果一个软件的主要部分采用了“网络服务”,即它把存储或计算环节“外包”给其他网站了,那么我们就说这个软件属于Web Service架构。 Web Service架构的基本思想,就是尽量把非核心功能交给其他人去做,自己全力开发核心功能。比如,如果你要开发一个相册软件,完全可以使用Flickr的网络服务,把相片都储存到它上面,你只要全力做好相册本身就可以了。总体上看,凡是不属于你核心竞争力的功能,都应该把它“外包”出去。 最近很红的“云计算”(cloud computing)或者“云服务”(cloud services),实际上就是Web Service的同义词,不过更形象一些罢了。它们不说你把事情交给其他计算机去做,而说你把事情交给“云”去做。 3.Web Service的优势 Web Servcie最主要的优点是,使用不同程序和在不同系统平台上开发出来的程序,都可以相互通信。SOAP作为Web Service的基本通信协议,简单,投入和使用的代价也很小。

SAP开发webservice接口教程

SAP开发webservice接口教程 在client=100中进行开发: 1.创建RFC函数 SE80,在函数组下,右击->创建,创建函数模块,填写函数模块名称及描述。 2.函数属性标签页,选择“远程启用的模块”,其余默认不变。 3.函数导入标签页,需要添加调用时传入的参数(表),“传递值”需勾选。 表类型:ZSHR_EMPLOYEER_T (需要自己创建) 行类型:ZSHR_EMPLOYEER (需要自己创建)

4.函数导出标签页,需要添加调用返回的参数(表),“传递值”需勾选。 表类型:ZSHR_EMPLOYEER_OUT_T (需要自己创建) 行类型:ZSHR_EMPLOYEER_OUT (需要自己创建) 5.函数源代码标签页,需要写代码实现把传入的数据保存在透明表中。 至此,函数创建完成。 6.创建Web Services 右击包名创建企业服务,进入如下页面,选择“Service Provider”,因为我们是服务提供者,点击“继续”。

7.选择“Existing ABAP Object (Inside Out)”,点击“继续”。 8.给服务起名,并填写描述,点击“继续”

9.选择“Function Module”,点击“继续”。 10.填写我们第一步创建的函数,并勾选“Map Name”,点击“继续”。 11.SOAP Appl默认不变,Profie下拉框选择第四个选择,即不进行权限认证。点击“继续”。 12.填写对于的包和请求,点击“继续”。 下一步,直接点击“完成”。服务创建成功。

13.配置SOA 使用T-CODE:soamanager,进入web页面的SOA管理(client=100)。 14.点击“简化Web服务配置”,进入如下设置页面,点击“执行”,从列表中找到自己创建的 服务,勾选第一个checkbox,User Name/Password(basic),点击列表左上角的“保存”,之后页面右上角的“返回”按钮,返回首页。 这一步设置,代表我们只设置用户名/密码的调用认证方式。

通过CXF开发webService接口(soap协议、maven项目)

1. 引入cxf的jar包 pom文件里面直接增加依赖 < dependency> junit junit 4.11 test org.springframework spring- webmvc 4.0.0.RELEASE org.apache.cxf apache-cxf 2.4.3 pom 2. 配置web.xml文件 < web-app xmlns= "https://www.wendangku.net/doc/f912869920.html,/xml/ns/javaee" xmlns:xsi= "https://www.wendangku.net/doc/f912869920.html,/2001/XMLSchema-instance" xsi:schemaLocation= "https://www.wendangku.net/doc/f912869920.html,/xml/ns/javaee https://www.wendangku.net/doc/f912869920.html,/xml/ns/javaee/web-app_3_1.xsd" version= "3.1" > < display-name >Archetype Created Web Application < context-param > contextConfigLocation classpath:config/spring/metadata WebService-spring.xml org.springframework.web.conte xt.ContextLoaderListener

学习CXF WebService入门实例一

最近开发开始学习Web Service,如果你是大神,请路过!谢谢!遵循前辈大神们的教导~~~,内事不决问度娘,外事不决问谷歌(现在谷歌已经不能用了),只能问度娘了!上网一百度,套用周董的一句歌词,霍,霍,霍,霍,这么多的套路(axis,axis2,XFire,CXF等),我到底选择哪一个?因为要和Spring进行对接,看了一下,CXF与Spring的耦合度最好,于是就选择了CXF。上官网下jar包,下了最新的apache-cxf-3.1.4.zip包。解压出来,看看里面的最简单的实例,apache-cxf-3.1.4\samples\java_first_jaxws,本着你快乐所以我快乐加上不要脸的原则,我抄抄抄,改了一下名字,开发环境jdk1.6, jdk1.5没试过,上眼呐! 新建工程mywbs,导入jar包 cxf-core-3.1.4.jar jetty-continuation-9.2.11.v20150529.jar jetty-http-9.2.11.v20150529.jar jetty-io-9.2.11.v20150529.jar jetty-server-9.2.11.v20150529.jar jetty-util-9.2.11.v20150529.jar wsdl4j-1.6.3.jar xmlschema-core-2.2.1.jar 一、接口类IHelloWorld.java package com.ws.hello; import java.util.List; import javax.jws.WebService; import https://www.wendangku.net/doc/f912869920.html,ers; @WebService public interface IHelloWorld { public String sayHello(String name); public String getUserName(Users user); public List getListUser(); } 二、实现类(说明endpointInterface = "com.ws.hello.IHelloWorld",IHelloWorld 类加上路径,此处注意)HelloWorldImpl.java package com.ws.hello; import java.util.ArrayList; import java.util.List; import javax.jws.WebService; import https://www.wendangku.net/doc/f912869920.html,ers; @WebService(endpointInterface = "com.ws.hello.IHelloWorld",serviceName = "IHelloWorld", portName="IHelloWorldPort") public class HelloWorldImpl implements IHelloWorld { @Override public String sayHello(String name) { return name + ": 您好啊!";

Eclipse+CXF开发Web服务、Tomcat部署

一、下载CXF包,apache-cxf-2.6.1.tar.gz,解压后得到文件夹apache-cxf-2.6.1 图1 二、创建服务端 1、新建Dynamic Web Project File—New—Project—Web—Dynamic Web Project; 工程命名后Next,将“Default output folder”改为WebContent/WEB-INF/classes,Next; 勾选“Generate web.xml deployment discriptor”。

图2

图3 图4 2、将解压后apache-cxf-2.6.1文件夹lib文件夹中的JAR文件导入工程下WebContent/WEB-INF/lib中,或直接复制到相应文件夹下,刷新工程。 3、创建服务接口 工程右键—New—Interface,添加代码: package com.yxj; import javax.jws.WebService; import javax.jws.WebParam; import javax.jws.WebMethod; @WebService public interface IcxfWB { @WebMethod String sayHello(@WebParam(name="name") String name); } 说明:“@WebService”标记表示该接口是一个WebService服务,@ WebMethod标记表示WebService中的方法;@WebParam(name="paramName")

表示方法中的参数,name属性限制了参数的名称,若没有指定该属性,参数将会被重命名。 4、创建服务实现类 package com.yxj; public class CxfWBImpl implements IcxfWB { public String sayHello(String name) { return"Hello "+name; } } 5、编辑WebContent/WEB-INF下web.xml文件 CXFService contextConfigLocation WEB-INF/service-beans.xml org.springframework.web.context.ContextLoaderListener CXFServlet org.apache.cxf.transport.servlet.CXFServlet CXFServlet /* 其中,指定了spring的相应配置,在中指定了配置文件的位置;下的指明了服务访问时地址的形式,“/*”代表URL地址中,包名称后直接跟服务endpoint地址,若指明为“/webservice/*”,则URL为包名/ webservice/endpoint?wsdl。

webservice接口开发

Eclipse 关于接口系统的开发 我们做接口服务端: 小知识: 接口分为:服务端与客户端 服务端:即提供者,是为调用者提供数据的一方; 客户端:即调用者,是调用接口的一方; <一> 服务端的创建 步骤1. 在eclipse新建一个普通工程,例如:新建一个web project 工程。 步骤2.创建完成后,在刚才新建的工程里面,加入我们需要实现的类,和接口。在实现类里面编写客户端传入参数后,需要的相关信息。 例如: Public String sayHello(String word) { Return word; } 步骤3. 进入服务端代码的自动生成阶段,我们选中刚才编写的实现类或是创建的工程,右键。选择,new→project…→other→,如下图,选择web service 服务端。点击next

步骤4.根据下图,通过选择实现类,点击完成。自动生成服务端了。

步骤5 .前4步骤已经完成了webservice的服务端,并已经自动启动好了,我们进行如下测试,访问下自动产生的wsdl文件是否能访问到: 例如:访问wsdl地址示例 http://10.1.159.28:8082/ICTS/services/GetWorkflowListDaoImp?wsdl 其中:GetWorkflowListDaoImp 为自己创建的实现类名称 <二>客户端的创建,测试我们完成的服务端接口:

步骤1. 创建一个普通的web project 工程 步骤2. 创建完成后,选中,我们创建的工程,右键→,new→other→,创建web service cliet 客户端,完成后,点击finish。完成 步骤3。我们通过客户端进行调用,测试一下服务端是否正常。通过如下示例地址:http://10.1.159.28:8082/test1/sampleGetWorkflowListDaoImpProxy/TestClient.jsp, 这是客户端为我们自动建立的测试页面,我们只需输入参数,就可以进行测试了。界面如下:

基于TA+3webservice开发文档

Cxf WebService 整合Ta+3 1、需导入的jar包: 2、Web.xml配置: CXFServlet org.apache.cxf.transport.servlet.CXFServlet 1 CXFServlet /services/* 3、在config/bs下面建一个spring-cxf.xml,配置发布webservice

Webservice的应用与开发试卷

南京工业大学WebService的应用与开发试题(A)卷班级学号姓名 一、判断题(正确的打勾,错误的打叉,每题2分) 1.SOAP(Simple Object Access Protocol)协议是一个基于Xml的协议。它描述了数据类型的消 息格式以及一整套串行化规则,包括结构化类型和数组。(o) 2.客户端与Xml Web服务进行异步通信,向服务端发出服务请求的方法与接收web服务返回 的结构在同一线程中(e) 3.基于消息的体系的分布式应用中,可以使用异步消息处理也可以使用同步消息处理(o) 4.Web服务中使用SOAP表示数据的优点是SOAP提供了一种所有平台都支持的中间表示方 式,客户端只要将SOAP类型转换为自身平台可以理解的类型即可(o) 5.分布式应用程序节点越多,单点失败的可能性越大,整个系统发生故障的可能性越大(o) 6.Apache CXF为java WebService的一个框架,可以用它提供的命令行工具wsdl2java生成客 户端的代理类(o) 7.Xml DTD提供了一种避免元素名冲突的方法(e) 8.所有Xml文件只有一个根元素且不分大小写(e) 9.每个Xml文档分为两个部分:序言和文档元素。(o) 10.都是WSDL文档的关键元素。( e ) 11.XML Web服务的交互可以使用Internet协议中所有的协议( e ) 12.对于Web服务的请求可以穿越防火墙( o ) 13.ajax可以跨域访问Web服务( o ) 14.元素在WSDL中用于描述操作的引用输入/输出消息( o ) 15.元素在WSDL中用于描述交互中已经被定义了类型的数据( o ) 二、选择题(单、多项选择,每题2分) 1.Web Service需要以下哪些技术、协议的支持(ABCD ) A.HTTP B.SOAP C.XML D. T CP/IP 2.下列选项中,哪个是XML合法的元素名(A ) A.TOM

cxf+spring发布webservice接口及接口的调用

一、CXF介绍 Apache CXF=Celtix+XFire,Apache CXF的前身叫Apache CeltiXfire。CXF继承了Celtix和XFire两大开源项目的精华,提供了对JAX-WS全面的支持,并且提供了多种Binding、DataBinding、Transport以及各种Format的支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者WSDL优先(WSDL First)来轻松地实现Web Services的发布和使用。Apache CXF已经是一个正式的Apache顶级项目。CXF支持多种协议,如:SOAP、XML/HTTP、RESTful HTTP、CORBA,并且可以在多种传输协议上运行,比如:HTTP、JMS、JBI。CXF可以与Spring进行无缝集成。 CXF框架是一种基于Servlet技术的SOA应用开发框架,要正常运行基于CXF应用框架开发的企业应用,除了CXF框架本身之外,还需要JDK和Servlet容器的支持。 CXF下载地址:https://www.wendangku.net/doc/f912869920.html,/download.html,选择“File”列中的zip格式下载。解压后可以看到一些文件夹: └─apache-cxf-2.5.0 ├─bin各种工具 ├─docs API文档 ├─etc各种配置文件 ├─lib开发所需jar包 ├─licenses说明 ├─modules jar包 └─samples使用例子 samples文件夹中给提供了在各种环境下使用的例子,个人感觉只需参照样例即可。 二、使用CXF+Spring编写并发布WebService 首先,新建一个Web项目,名字叫cxftest,将下载的压缩包中lib文件夹下的jar包全部拷贝到项目的WEB-INF/lib中,在web.xml中配置如下: [html]view plaincopy 1. 2.CXFServlet

常用的webservice接口

商业和贸易: 1、股票行情数据WEB 服务(支持香港、深圳、上海基金、债券和股票;支持多股票同时查询) Endpoint:https://www.wendangku.net/doc/f912869920.html,/WebServices/StockInfoWS.asmx Disco:https://www.wendangku.net/doc/f912869920.html,/WebServices/StockInfoWS.asmx?disco WSDL:https://www.wendangku.net/doc/f912869920.html,/WebServices/StockInfoWS.asmx?wsdl 支持香港股票、深圳、上海封闭式基金、债券和股票;支持多股票同时查询。数据即时更新。此中国股票行情数据WEB 服务仅作为用户获取信息之目的,并不构成投资建议。支持使用| 符号分割的多股票查询。 2、中国开放式基金数据WEB 服务 Endpoint:https://www.wendangku.net/doc/f912869920.html,/WebServices/ChinaOpenFundWS.asmx Disco:https://www.wendangku.net/doc/f912869920.html,/WebServices/ChinaOpenFundWS.asmx?disco WSDL:https://www.wendangku.net/doc/f912869920.html,/WebServices/ChinaOpenFundWS.asmx?wsdl 中国开放式基金数据WEB 服务,数据每天15:30以后及时更新。输出数据包括:证券代码、证券简称、单位净值、累计单位净值、前单位净值、净值涨跌额、净值增长率(%)、净值日期。只有商业用户可获得此中国开放式基金数据Web Services的全部功能,若有需要测试、开发和使用请QQ:8698053 或联系我们 3、中国股票行情分时走势预览缩略图WEB 服务 Endpoint: https://www.wendangku.net/doc/f912869920.html,/webservices/ChinaStockSmallImageWS.asmx Disco: https://www.wendangku.net/doc/f912869920.html,/webservices/ChinaStockSmallImageWS.asmx?disco WSDL: https://www.wendangku.net/doc/f912869920.html,/webservices/ChinaStockSmallImageWS.asmx?wsdl 中国股票行情分时走势预览缩略图WEB 服务(支持深圳和上海股市的全部基金、债券和股票),数据即时更新。返回数据:2种大小可选择的股票GIF分时走势预览缩略图字节数组和直接输出该预览缩略图。 4、外汇-人民币即时报价WEB 服务 Endpoint: https://www.wendangku.net/doc/f912869920.html,/WebServices/ForexRmbRateWebService.asmx Disco:https://www.wendangku.net/doc/f912869920.html,/WebServices/ForexRmbRateWebService.asmx?disco

springboot+cxf 搭建webservice接口项目

一、项目开发环境 1.jdk 1.8 2.springboot 2.0.3 3.cxf 3.2.6 注意:springboot 版本过高可能会和cxf冲突导致项目启动报错 二、搭建 1.创建项目后添加以下依赖 org.springframework.boot spring-boot-starter-parent 2.0.3.RELEASE 3.1.1 1.8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-test test org.apache.cxf cxf-spring-boot-starter-jaxws 3.2.6

webservice接口开发

Microsoft .NET体系结构中非常强调Web Service,构建Web Service接口对.NET Framework开发工具有很大的吸引力,因此很多讲建立Web Service机制的文章都是使用.NET Framework开发工具的。 在这篇文章中我们将谈论下面几个方面的问题 1、客户端怎样和Web Service通信的 2、使用已存在的Web Service创建代理对象 3、创建客户端。这包括: Web 浏览器客户端 Windows应用程序客户端 WAP客户端 最好的学习方法是建立一个基于真实世界的实例。我们将使用一个已存在的Web Service,这个Web Service从纳斯达克获得股票价格,客户端有一个简单的接口,该接口的外观和感觉集中了建立接口的多数语句。 客户端描述 三种客户端都接受客户输入的同一股票代码,如果请求成功,将显示公司名和股票价格,如果代码不可用,将显示一个错误信息。客户端都设置有"Get Quote" 和"Reset"按钮以初始化用户的请求。 开发中的注意事项 我使用visual https://www.wendangku.net/doc/f912869920.html,作为我的集成开发环境,beta版没有结合.NET Mobile Web,因此,我们需要使用文本编辑器创建wap客户端,下一个版本的visual https://www.wendangku.net/doc/f912869920.html, 将整合入.NET Mobile Web 。 客户端怎样与Web Service通讯 我们先复习一下Web Service的功能,在我得上一篇文章中曾展示一幅图(如图一),a点的用户将通过Internet执行远程调用调用b点web 服务器上的东西,这次通讯由SOAP和HTTP完成。

用CXF开发RESTful风格WebService

用CXF开发RESTful风格WebService

目录 1RESTful简要介绍 (1) 2开发一个普通的接口 (1) 2.1定义DTO (1) 2.2定义接口 (2) 2.3实现类 (2) 3开发RESTful风格WebService服务端 (2) 3.1定义资源(定义DTO) (2) 3.2开发接口 (3) 3.3实现类 (4) 3.4配置CXF(整合Spring) (4) 3.4.1接口的Spring配置文件 (4) 3.4.2CXF的Spring配置文件 (4) 3.4.3修改web.xml (5) 4开发RESTful风格WebService客户端(Java) (5) 4.1定义客户端接口 (5) 4.2定义实现类 (6)

1RESTful简要介绍 RESTful风格的WebService之所以当下如此流行,是由于其相对于SOAP风格的WebService 更简洁、更轻量级,REST风格的WebService传输的是JSON或极其简洁的XML,因而其效率和性能都比较理想。 RESTful风格的WebService主张重用HTTP协议,面向资源编程(ROA)。扼要的说,RESTful 风格WebService中,每一个URL即表示一个资源,比如https://www.wendangku.net/doc/f912869920.html,/employees/1表示id为1的员工。 1.如果对此URL调用HTTP GET方法,则返回员工的XML形式; 2.如果对此URL调用HTTP POST/PUT方法,则可以新增或者修改此员工; 3.如果对此URL调用HTTP DELETE方法,则可以删除此员工; 因此,我们在设计一个RESTful风格的接口时,一定要拥有面向资源设计的考量! 此外,在实现接口的过程中,要遵循RESTful风格的几个特性,他们分别是: 1.无状态性:HTTP本身即是无状态协议,因此RESTful天然的具备无状态性,具备优良的 水平扩展能力! 2.幂等性:GET/PUT/DELETE方法具备此特性,幂等性可概述为无论重复调用多少次,其 结果都一致!POST例外,不过设计的时候也可以按照此特性设计! 3.唯一性:即URL地址要唯一的表示一个资源! 关于事务、安全等更多的高级特性这里不阐述,有兴趣的可参考《Restful Web Service中文版》一书。 下面以开发一个普通接口和开发REST风格WebService接口为对比,指导大家快速入门。 2开发一个普通的接口 2.1定义DTO

相关文档
相关文档 最新文档