當前位置:編程學習大全網 - 源碼下載 - 如何用resin發布webservice

如何用resin發布webservice

首先對生成的Java客戶端代碼寫了main方法測試,調用webservice服務正常。

然後我把生成java客戶端代碼加拷到我現有的Web工程中,然後通過.com.zjs.edi.Query.<init>(Query.java:51)

at ws.zjs.order.cn.com.zjs.edi.QuerySoap_QuerySoap_Client.<clinit>(QuerySoap_QuerySoap_Client.java:30)

at com.specl.api.controller.webservicezjs.ZJSWebserviceConctroller.getOrderInfos(ZJSWebserviceConctroller.java:61)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:175)

at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:421)

at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:409)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:774)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)

at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)

at javax.servlet..caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103)

at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)

at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187)

at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265)

at com.caucho.server..caucho.server.port.TcpConnection.run(TcpConnection.java:682)

at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:743)

at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:662)

at java.lang.Thread.run(Thread.java:619)

Caused by: java.lang.IllegalArgumentException: property "javax.xml.stream.supportDTD"

not supported

at com.caucho.xml.stream.XMLInputFactoryImpl.setProperty(XMLInputFactoryImpl.java:265)

at com.sun.xml.internal.ws.api.streaming.XMLStreamReaderFactory.getXMLInputFactory(XMLStreamReaderFactory.java:101)

at com.sun.xml.internal.ws.api.streaming.XMLStreamReaderFactory.<clinit>(XMLStreamReaderFactory.java:67)

我在這個Web項目中也寫了個main方法通過客戶端代碼去調用webservice服務去測試,也就壹點問題都沒有。奇怪了,通過main方法

去訪問沒有問題,通過Web方式去訪問就有問題!

因為以前沒有做過Webservice開發,剛開始以為是CXF框架生成代碼的問題,然後壹直在網上找有關

CXF生成客戶端的問題。都沒有找到結果。

為了定位問題,我有新建了壹個新的Web項目,把生成的java客戶端代碼也拷到我的新Web項目中。啟動的是Tomcat服務器,

然後還是壹樣通過ment to use Resin's XML implementations

-

- <system-property javax.xml.parsers.DocumentBuilderFactory

- ="com.caucho.xml.parsers.XmlDocumentBuilderFactory"/>

- <system-property javax.xml.parsers.SAXParserFactory

- ="com.caucho.xml.parsers.XmlSAXParserFactory"/>

-->

如果已經使用,就替換下面,如果沒有使用,就加上下面的配置

<system-property javax.xml.stream.XMLInputFactory="com.sun.xml.internal.stream.XMLInputFactoryImpl" />

我發現我的

resin.conf配置中沒有

<system-property javax.xml.stream.XMLInputFactory="com.sun.xml.internal.stream.XMLInputFactoryImpl" />

配置項。加上後,重啟Resin,然後再以Web方式訪問,結果大功告成!證明了是Resin服務器引起來的!

這是我第壹次通過Webservice客戶端調用遠程Webservice服務,碰到的問題。所以盡量詳細的記下來,為自己,也為新手!

  • 上一篇:關於春天的海報圖片-櫻花節,攜程借勢宣傳的廣告文案是什麽呢?
  • 下一篇:求DNF的易語言無敵源碼,和加血源碼,要第十章的(要求全部源碼 並告訴用什麽模塊)
  • copyright 2024編程學習大全網