webservice调用

pandorawff 2016-03-03 08:43:43

@RequestMapping(value = "/queryCaseInfo")
public String queryCaseInfo(Model model,HttpServletRequest request,HttpServletResponse response){
try {
AccountService service = new AccountService_Service().getAccountSoapServiceImplPort();
BjCasebaseinfo caseInfo = service.getHandleCaseInfo("620124000000201602222000011", "908243");
System.out.println(caseInfo.getCaseno()+"----------"+caseInfo.getCaseapplicant());
model.addAttribute(caseInfo);
} catch (Exception ex) {
ex.printStackTrace();
}
return "lcddisplay/handle/handle_info_query";
}

public static void main(String args[]){
AccountService service = new AccountService_Service().getAccountSoapServiceImplPort();
BjCasebaseinfo caseInfo = service.getHandleCaseInfo("620124000000201602222000011", "908243");;
System.out.println(caseInfo.getCaseno()+"----------"+caseInfo.getCaseapplicant());
/*List<BjCasebaseinfo> caseList = service.getNesetHandleCaseInfo("10");
System.out.println(caseList.size());*/
}


以上代码是我调用webservice的代码,通过main函数调用可以返回正确结果,但是通过action访问的时候调用返回错误:错误如下


javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.
at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:149)
at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:98)
at javax.xml.ws.Service.<init>(Service.java:77)
at com.gsww.scr.webservice.AccountService_Service.<init>(AccountService_Service.java:50)
at com.gsww.scr.controller.HandleCaseInfoController.queryCaseInfo(HandleCaseInfoController.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:686)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
Caused by: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.
at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:100)
at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:199)
at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:147)
... 43 more
Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: java.lang.RuntimeException: Cannot create a secure XMLInputFactory
at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:256)
at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:205)
at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:98)
... 45 more
Caused by: java.lang.RuntimeException: Cannot create a secure XMLInputFactory
at org.apache.cxf.staxutils.StaxUtils.createXMLInputFactory(StaxUtils.java:300)
at org.apache.cxf.staxutils.StaxUtils.getXMLInputFactory(StaxUtils.java:255)
at org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1416)
at org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1318)
at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:246)
... 47 more

我debug跟了代码,在

private static boolean setRestrictionProperties(XMLInputFactory factory) {
//For now, we can only support Woodstox 4.2.x and newer as none of the other
//stax parsers support these settings
if (setProperty(factory, "com.ctc.wstx.maxAttributesPerElement", maxAttributeCount)
&& setProperty(factory, "com.ctc.wstx.maxAttributeSize", maxAttributeSize)
&& setProperty(factory, "com.ctc.wstx.maxChildrenPerElement", innerElementCountThreshold)
&& setProperty(factory, "com.ctc.wstx.maxElementCount", maxElementCount)
&& setProperty(factory, "com.ctc.wstx.maxElementDepth", innerElementLevelThreshold)
&& setProperty(factory, "com.ctc.wstx.maxCharacters", maxXMLCharacters)
&& setProperty(factory, "com.ctc.wstx.maxTextLength", maxTextLength)) {
return true;
}
return false;
}
private static boolean setProperty(XMLInputFactory f, String p, Object o) {
try {
f.setProperty(p, o);
return true;
} catch (Throwable t) {
//ignore
}
return false;
}

这部分代码的时候抛出

java.lang.IllegalArgumentException: Property com.ctc.wstx.maxAttributesPerElement is not supported
at com.sun.xml.stream.ZephyrParserFactory.setProperty(ZephyrParserFactory.java:252)
at org.apache.cxf.staxutils.StaxUtils.setProperty(StaxUtils.java:339)
at org.apache.cxf.staxutils.StaxUtils.setRestrictionProperties(StaxUtils.java:325)
at org.apache.cxf.staxutils.StaxUtils.createXMLInputFactory(StaxUtils.java:290)
at org.apache.cxf.staxutils.StaxUtils.getXMLInputFactory(StaxUtils.java:255)
at org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1416)
at org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1318)
at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:246)
at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:205)
at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:156)
at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:147)
at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:98)
at javax.xml.ws.Service.<init>(Service.java:77)
at com.gsww.scr.webservice.AccountService_Service.<init>(AccountService_Service.java:50)
at com.gsww.scr.controller.HandleCaseInfoController.queryCaseInfo(HandleCaseInfoController.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
...全文
1427 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39463199 2018-11-01
  • 打赏
  • 举报
回复
请问您是如何解决的这个问题
qq_23052071 2016-10-17
  • 打赏
  • 举报
回复
可能是包冲突
谁是墨菲 2016-10-16
  • 打赏
  • 举报
回复
服务器端缺少了两个jar包 stax2-api-3.1.x.jar 和 woodstox-core-asl-4.2.x.jar 可以参考http://blog.csdn.net/java_min/article/details/9833815

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧